|Note: The Return Management API is enabled in production. The issueRefund call can only be used by US sellers that are opted into eBay Return Center and have returns associated to them. The eBay Return Center pilot launched on July 10, 2012. The eBay Return Center full launch is scheduled for early August 2012. Please refer to http://pages.ebay.com/help/sell/return-process.html for more information on eBay returns and seller opt-in process.|
|Note: The Return Management API only supports refunds through PayPal.|
This call allows a US seller to issue a refund to the buyer who has opened the return against the seller in the eBay Return Center. For a standard refund through PayPal, the refund is instantaneous. Refunds through eCheck may take a few business days to be processed.
In the issuRefund request, the seller must provide the return ID for the return upon which a refund will be issued. If not already known, the return ID can be retrieved with a call to getUserReturns.
The refundDetail container is used to provide the refund type and amount. An itemizedRefund container is required for each refund type, such as purchase price, original shipping, and restocking fee charge (if set by seller). The total refund amount is passed into the refundDetail.totalAmount field. The aggregate total of refund amounts passed in one or more itemizedRefund.amount fields should match the refundDetail.totalAmount value.
|Note: The restocking fee is the only refund type that will be a negative dollar value, as a restocking fee is a charge against the buyer for returning the item. In order to enforce a restocking fee on an item, the seller must include a restocking fee value as part of the listing's return policy. In the listing APIs, this field is Item.ReturnPolicy.RestockingFeeValue.|
There is an optional comments field that allows the seller to provide any relevant comments to the buyer.
In addition to the standard timestamp and version fields and the errorMessage container (if errors and/or warnings exist), the response for issueRefund includes the RefundStatus field. The RefundStatus value indicates whether the refund action failed or succeeded, or is pending. 'PENDING' is always returned for eCheck refunds, since eCheck refunds will generally take a few business days to process.
Back to top
|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"?> <issueRefundRequest xmlns="http://www.ebay.com/marketplace/returns/v1/services"> <comments> string </comments> <refundDetail> RefundDetailType <itemizedRefund> ItemizedRefundDetailType <amount> Amount (double) </amount> <refundFeeType> RefundFeeType </refundFeeType> </itemizedRefund> <!-- ... more itemizedRefund nodes here ... --> <totalAmount> Amount (double) </totalAmount> </refundDetail> <ReturnId> ReturnIdType <id> string </id> </ReturnId> </issueRefundRequest>
|comments||string||Optional||In this optional field, the seller can include a message to the buyer concerning the refund.|
|refundDetail||RefundDetailType||Required||Container consisting of details related to the type and amount of the refund to the buyer.|
|Container used to track estimated and actual individual refund amounts by fee type (such as purchase price, original shipping, or restocking fee). At least one itemizedRefund container is required when the seller is issuing a refund to the buyer through the issueRefund call.|
|Amount (double)||Required||This dollar amount indicates the amount of the corresponding refund fee type.|
This value indicates the type of refund fee, such as purchase price or original shipping.
(in/out) This value indicates that the refund to the buyer is for the original shipping costs of the item, or items (for multiple quantity purchases).
(in/out) This value is reserved for future use.
(in/out) This value indicates that the refund to the buyer is for the purchase price of the item, or items (for multiple quantity purchases).
(in/out) This is the only RefundFeeType value that will be a negative dollar value, as a restocking fee is a charge against the buyer for returning the item. In order to enforce a restocking fee on an item, the seller must include a restocking fee value as part of the listing's return policy. In the listing APIs, this field is Item.ReturnPolicy.RestockingFeeValue.
|refundDetail.totalAmount||Amount (double)||Required||This dollar value indicates the total amount of actual refunds issued by the seller to the buyer. This is a dynamic value while the return is open. The refundDetail.totalAmount value is required in the issueRefund call and it should match the refundDetail.itemizedRefundAmount value (if only one refund type is being issued by the seller) or the composite value of multiple refundDetail.itemizedRefundAmount values (if multiple refund types are being issued by the seller).|
|ReturnId||ReturnIdType||Required||Container consisting of the unique identifier for a return. A return ID value is required and the seller should take all precautions to make sure this value is correct before making the call. Return ID values are returned in the ReturnId.id field of each ReturnSummary container returned in the getUserReturns response.|
This string value is the unique identifier for a return, and is returned in the responses of getUserReturns and getReturnDetail. For getReturnDetail, getActivityOptions, issueRefund, and provideSellerInfo, a ReturnId is a required input field.
Max length: 38.
Back to top
|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"?> <issueRefundResponse xmlns="http://www.ebay.com/marketplace/returns/v1/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 --> <RefundStatus> RefundStatusType </RefundStatus> </issueRefundResponse>
|Standard Output Fields [Jump to call-specific fields]|
(out) eBay encountered a fatal error during the processing of the request, causing the request to fail. When a serious application-level error occurs, the error is returned instead of the business data.
(out) eBay successfully processed the request, but one or more non-fatal errors occurred during the processing. Inspect the message details and resolve any problems before resubmitting the request.
(out) eBay successfully processed the request and the business data is returned in the response. Note that it is possible for a response to return Success, but still not contain the expected data in the result.
(out) The request that triggered the error was processed successfully but with one or more warnings.
|errorMessage||ErrorMessage||Conditionally||Information for an error or warning that occurred when eBay processed the request. This field is not returned if the ack value is Success.|
|Details about a single error.|
There are three categories of errors: request errors, application errors, and system errors.
(out) An error occurred due to a problem with the request, with the most likely source being the application sending the request. For example, the request is missing a required data element or it contains an invalid field. The problem must be corrected before the request can be resent. Inspect the error message to find the cause of the problem. If the problem is due to an application error, modify the application and resend the request. If the error is due to invalid data, the source of the data must be corrected before you resend the resend request to eBay.
(out) An error occurred due to a problem with the request, with the most likely source being missing or invalid data in the request. The problem must be corrected before the request can be retried. Inspect the error message to find the cause of the problem. If the problem is a result of end-user data, alert the end-user to the problem and provide the means for them to correct the problem. Once the problem is resolved, resend the request to eBay.
(out) Indicates that an error has occurred on the eBay system side. For example, a database or server could be down. Inspect the error message to find the cause of the problem. If the problem is on the eBay side, an application can retry the request 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 in 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 caused the error.|
|Various 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.|
[ attribute name ]
|string||Conditionally||The name of the input parameter returned with the error. Inspecting the parameter (or its input value) will often aid in understanding the cause of the error. Not all error messages contain this value.|
Indicates whether the reported problem is fatal (an error) or is less- severe (a warning). Review the error message details for information on the cause.
If the request fails and the application is the source of the error (for example, a required element is missing), update the application before you retry the request. If the problem is due to incorrect user data, 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, re-send the request to eBay.
If the source of the problem is on eBay's side, you can retry the request a reasonable number of times (eBay recommends you try the request twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, you can resend the request in its original form.
If a warning occurs, warning information is returned in addition to the business data. Normally, you do not need to resend the request (as the original request was successful). However, depending on the cause of the warning, you might need to contact the end user, or eBay, to effect a long term solution to the problem.
(out) eBay encountered a fatal error during the processing of the request, causing the request to fail. When eBay encounters an error, it returns error data instead of the requested business data. Inspect the error details and resolve the problem before resubmitting the request.
(out) The request was successfully processed, but eBay encountered a non-fatal error during the processing that could affect the data returned. For example, eBay might have changed the value of an input field. In this Return, eBay returns a successful response, but it also returns a warning. For best results, requests should return without warnings. Inspect the warning details and resolve the problem before resubmitting the request.
|errorMessage.error.subdomain||string||Conditionally||Name of the subdomain in which the error occurred.|
|timestamp||dateTime||Always||This value represents the date and time when eBay processed the request. The time zone of this value is GMT and the format is the ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See Time Values in the eBay Web Services guide for information about this time format and converting to and from the GMT time zone.|
|version||string||Always||The version of the response payload schema. Indicates the version of the schema that eBay used to process the request.|
|Call-specific Output Fields|
The returned value indicates the result of the attempted refund. The three possible values are SUCCESS, FAILED, or PENDING.
(out) This value indicates that the seller's refund to the buyer failed.
(out) This value indicates that the seller's refund to the buyer is pending. This value is commonly returned if the payment method was eCheck.
(out) This value indicates that the seller's refund to the buyer was successful.
Back to top
|Input Output Change History User Notes|
Back to top
|Input Output Samples User Notes|
Back to top
|Input Output Samples Change History User Notes|
Copyright © 2012 This documentation and the API may only be used in accordance with the eBay Developer Network and API License Agreement.