addUsage

Adds charges for a subscriber, including some nonusage types of charges, e.g. a monthly subscription fee. Also can be used after a subscription is cancelled. Available whether or not the subscriber is on a free trial. See the usage.chargeType input field for the ways the call can be used. The App ID and the EIDP token are sent in the HTTPS header.



Back to top

addUsage Input

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<addUsageRequest xmlns="http://www.ebay.com/marketplace/services">
  <usage> Usage
    <chargeAmount currencyId="string"> Amount (double) </chargeAmount>
    <chargeTime> dateTime </chargeTime>
    <chargeType> SubscriptionChargeType </chargeType>
    <externalChargeId> string </externalChargeId>
    <immediatePayment> boolean </immediatePayment>
    <memo> string </memo>
    <subscriptionId> long </subscriptionId>
  </usage>
</addUsageRequest>
Argument Type Occurrence Meaning
usage Usage Required Container for information about the charge for which the subscriber will be billed.
usage.chargeAmount Amount (double) Required Amount that eBay will display, as a charge, to the subscriber, on behalf of your application. The charge amount must have two or fewer digits after the decimal point and 12 or fewer digits before the decimal point.
usage.chargeAmount
  [ attribute currencyId ]
string Required Currency in which the monetary amount is specified. A three-letter ID, such as USD, CAD, DEM. Currently, USD is the only available value.
usage.chargeTime dateTime Required The transaction date assigned to the transaction by the application.
usage.chargeType SubscriptionChargeType Required Identifier of the charge.

Applicable values:

•   NonPlanUsage

(in/out) Billable charge that is not included in the plan and is not subject to eBay service fee. For example, shipping charges.

•   NRC

(in/out) Non-recurring charge (one-time subscription fee).

•   Recurring

(in/out) Recurring charge for a plan when the plan charges are not to be pro-rated at the end of subscription. Not applicable for usage. For this kind of charge originating from the addUsage call, a manual credit is needed for a desired adjustment.

•   Usage

(in/out) A charge for which the subscriber will pay usage charges.


(Not all values in SubscriptionChargeType apply to this field.)
usage.externalChargeId string Required The transaction reference number assigned by the third party developer.
Max length: 10.
usage.immediatePayment boolean Optional Set to true when you require immediate payment for the charge type. Not available if the subscription is cancelled.
Default: false.
usage.memo string Required Memo that will be visible on the subscriber statement.
Max length: 60.
usage.subscriptionId long Required For a particular application, the subscriptionId uniquely identifies a user's subscription and the plan ID.



Back to top

addUsage Output

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<addUsageResponse xmlns="http://www.ebay.com/marketplace/services">
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter nodes here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
  <!-- Call-specific Output Fields -->
  <chargeId> long </chargeId>
</addUsageResponse>
Return Value Type Occurrence Meaning
Standard Output Fields   [Jump to call-specific fields]
ack AckValue Always Indicates whether or not errors or warnings were generated during the processing of the request.

Applicable values:

•   Failure

(out) The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   PartialFailure

(out) The request that triggered the error was processed successfully but with some warnings.

•   Success

(out) The request was processed successfully, but something occurred that may affect your application or the user.

•   Warning

(out) The request that triggered the error was processed successfully but with some warnings.


errorMessage ErrorMessage Conditionally Information for an error or warning that occurred when eBay processed the request.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
ActivityProfile about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

•   Application

(out) An error occurred due to a problem with the request, such as missing or invalid fields. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. Once the problem in the appilcation or data is resolved, resend the corrected request to eBay.

•   Request

(out) An error occurred due to a problem with the request, such as invalid or missing data. The problem must be corrected before the request can be made again. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the data is resolved, resend the request to eBay with the corrected data.

•   System

(out) Indicates that an error has occurred on the eBay system side, such as a database or server down. An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.


errorMessage.error.domain string Conditionally Name of the domain upon which the error occurred.
Domains include:
Marketplace
A business or validation error occurred for the UserProfile Service.
SOA
An exception occurred in the Service Oriented Architecture (SOA) framework.
errorMessage.error.errorId long Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that resulted in the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Some warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally The name of the parameter in the list of parameter types returned within the error type.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the error caused the request to fail (Error) or not (Warning).

If the request fails and the source of the problem is within the application (such as a missing required element), please change the application before you retry the request. If the problem is due to end-user input data, please alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, you can attempt to re- send the request to eBay.

If the source of the problem is on eBay's side, you can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

When a warning occurs, the error is returned in addition to the business data. In this case, you do not need to retry the request (as the original request was successful). However, depending on the cause or nature of the warning, you might need to contact either the end user or eBay to effect a long term solution to the problem to prevent it from reoccurring in the future.

Applicable values:

•   Error

(out) The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   Warning

(out) The request was processed successfully, but something occurred that may affect your application or the user. For example, eBay may have changed a value the user sent in. In this case, eBay returns a normal, successful response and also returns the warning.


errorMessage.error.subdomain string Conditionally Name of the subdomain upon which the error occurred. Subdomains include the following: UserProfile (in which the error is specific to the UserProfile service) and MarketplaceCommon (in which the error is common to all Marketplace services).
timestamp dateTime Always This value represents the date and time when eBay processed the request. This value is returned in GMT, the ISO 8601 date and time format (YYYY- MM- DDTHH:MM:SS.SSSZ). See the "dateTime" type for information about the time format, and for details on converting to and from the GMT time zone.
version string Always The release version that eBay used to process the request. Developer Technical Support may ask you for the version value if you work with them to troubleshoot issues.

Note: The version in use is normally the latest release version, as specified in the release notes.
Call-specific Output Fields
chargeId long Always An ID assigned to the transaction. Store this for reference, because this value is displayed on the user's statement.



Back to top

addUsage Samples

New to making API calls? Please see Making an API Call.

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

The call request contains a usage charge for a specified subscriptionId. An application user will be billed for the charge.

Description

An application is requesting that the subscriber with the specified subscriptionId be billed 0.99 for usage of an application.

Input

XML format (HTTP POST). Also available is the .txt version of this XML.

<?xml version="1.0" encoding="UTF-8"?>
<addUsageRequest xmlns="http://www.ebay.com/marketplace/openebay/v1/services">
  <usage>
     <subscriptionId>MySubscriptionId</subscriptionId>
     <chargeAmount currencyId="USD">0.99</chargeAmount>
     <externalChargeId>10012</externalChargeId>
     <memo>This is a charge for your recent usage of the application.</memo>
     <chargeTime>2010-02-28T17:26:59.234Z</chargeTime>
     <chargeType>NonPlanUsage</chargeType>
     <immediatePayment>true</immediatePayment>
  </usage>
</addUsageRequest>

Output

XML format. Also available is the .txt version of this XML.

<?xml version="1.0" encoding="UTF-8"?>
<addUsageResponse xmlns:ms="http://www.ebay.com/marketplace/services" xmlns="http://www.ebay.com/marketplace/openebay/v1/services">
   <ack>Success</ack>
   <version>1.0.0</version>
   <timestamp>2010-02-28T21:09:27.751Z</timestamp>
   <chargeId>5000569000</chargeId>
</addUsageResponse>



Back to top

addUsage Change History
Version Description
1.0.0
2010-03-01
  • (added) New call.



Back to top

User-Contributed Notes
   
 
 
 

© 2010 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developers Program and API License Agreement.