Makes a refund for a subscriber's payment. To use this call, you first must give eBay permission to make refunds on your behalf. You can give this permission with the help of an eBay account manager. Otherwise, the call fails.
The addRefund call applies for a payment for which the getBillingRecords call returned the recordType value as Payment. If a refund is made, the refund will be reflected on the subscriber's billing account.
In addRefund, specify the transactionId value as the value that was returned in the record.recordId field of the getBillingRecords call (for the payment).
To use addRefund, the associated charges must have been credited, e.g. due to automatic crediting by eBay, or due to a credit made with the addCredit call. Thus, for the refund to occur, there must be an existing credit balance.
The addRefund call is generally used only for active accounts, but can be used in other situations as well. Note that by December 2010, eBay will automatically refund all cancelled subscriptions.
| Output Samples Change History User Notes |
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"?> <addRefundRequest xmlns="http://www.ebay.com/marketplace/services"> <externalRefundId> string </externalRefundId> <refundAmount> Amount (double) </refundAmount> <refundDescription> string </refundDescription> <refundTime> dateTime </refundTime> <submitterName> string </submitterName> <subscriptionId> long </subscriptionId> <transactionId> string </transactionId> </addRefundRequest>
| Argument | Type | Occurrence | Meaning |
|---|
| externalRefundId | string | Required |
A reference number provided by the third-party developer. Helps to prevent duplicate requests. Analogous to the usage.externalChargeId value provided by the third-party developer in the addUsage call. Max length: 10. |
| refundAmount | Amount (double) | Required | Amount, in the billing currency, of the refund requested for the subscriber's account. |
| refundDescription | string | Required |
Text to display to the subscriber, about the refund. Max length: 270. |
| refundTime | dateTime | Required | The refund date, provided by the third-party developer. Analogous to the usage.chargeTime value provided by the third-party developer in the addUsage call. |
| submitterName | string | Required |
A name for the subscriber that is identifiable by the third-party developer. Max length: 30. |
| subscriptionId | long | Required | For a particular application, the subscription ID uniquely identifies a user's subscription. |
| transactionId | string | Required |
Specify the transactionId value as the value that was returned in the record.recordId field of the getBillingRecords call, if the getBillingRecords call returned the the recordType value as Payment. Max length: 256. |
| Input Samples Change History User Notes |
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"?>
<addRefundResponse 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 -->
<refundedAmount> Amount (double) </refundedAmount>
<refundId> long </refundId>
</addRefundResponse>
| 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.
|
| 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 |
| refundedAmount | Amount (double) | Conditionally | Amount of the refund request. |
| refundId | long | Conditionally | Unique identifier assigned to the refund request. |
| Input Output Change History User Notes |
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.
The call makes a refund to the subscriber with the specified subscription ID.
Description
An application is giving a refund to the subscriber with the specified subscription ID.
Input
XML format (HTTP POST). Also available is the .txt version of this XML. <?xml version="1.0" encoding="UTF-8"?> <addRefundRequest xmlns="http://www.ebay.com/marketplace/openebay/v1/services"> <subscriptionId>SubscriptionId</subscriptionId> <transactionId>2352194</transactionId> <refundAmount currencyId="USD">0.01</refundAmount> <refundTime>2010-09-10T00:40:12.187Z</refundTime> <submitterName>UserName</submitterName> <refundDescription>TestDescription</refundDescription> <externalRefundId>1001015</externalRefundId> </addRefundRequest>
Output
XML format. Also available is the .txt version of this XML. <?xml version="1.0" encoding="UTF-8"?> <addRefundResponse xmlns:ms="http://www.ebay.com/marketplace/services" xmlns="http://www.ebay.com/marketplace/openebay/v1/services"> <ack>Success</ack> <version>1.2.0</version> <timestamp>2010-10-01T00:09:37.930Z</timestamp> <refundId>685</refundId> <refundedAmount currencyId="USD">0.01</refundedAmount> </addRefundResponse>
| Input Output Samples User Notes |
| Version | Description |
|---|---|
| 1.2.0 2010-09-29 |
|
| Input Output Samples Change History User 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.