finances API1.3.0

getPayouts

GET
/payout
This method is used to retrieve the details of one or more seller payouts. By using the filter query parameter, users can retrieve payouts processed within a specific date range, and/or they can retrieve payouts in a specific state.

There are also pagination and sort query parameters that allow users to control the payouts that are returned in the response.

If no payouts match the input criteria, an empty payload is returned.

Input

Resource URI (production)

GET https://apiz.ebay.com/sell/finances/v1/payout?

URI parameters

ParameterTypeDescription
limitintegerThe number of payouts to return per page of the result set. Use this parameter in conjunction with the offset parameter to control the pagination of the output.

For example, if offset is set to 10 and limit is set to 10, the method retrieves payouts 11 thru 20 from the result set.

Note: This feature employs a zero-based list, where the first payout in the results set has an offset value of 0.

Maximum: 200
Default: 20

Occurrence: Optional

offsetintegerThis integer value indicates the actual position that the first payout returned on the current page has in the results set. So, if you wanted to view the 11th payout of the result set, you would set the offset value in the request to 10.

In the request, you can use the offset parameter in conjunction with the limit parameter to control the pagination of the output. For example, if offset is set to 30 and limit is set to 10, the method retrieves payouts 31 thru 40 from the resulting collection of payouts.

Note: This feature employs a zero-based list, where the first payout in the results set has an offset value of 0.

Default: 0 (zero)

Occurrence: Optional

filterarray of FilterFieldThe three filter types that can be used here are discussed below. If none of these filters are used, all recent payouts in all states are returned:
  • payoutDate: search for payouts within a specific range of dates. The date format to use is YYYY-MM-DDTHH:MM:SS.SSSZ. Below is the proper syntax to use if filtering by a date range:

    https://apiz.ebay.com/sell/finances/v1/payout?filter=payoutDate:[2018-12-17T00:00:01.000Z..2018-12-24T00:00:01.000Z]

    Alternatively, the user could omit the ending date, and the date range would include the starting date and up to 90 days past that date, or the current date if the starting date is less than 90 days in the past.
  • lastAttemptedPayoutDate: search for attempted payouts that failed within a specific range of dates. In order to use this filter, the payoutStatus filter must also be used and its value must be set to RETRYABLE_FAILED. The date format to use is YYYY-MM-DDTHH:MM:SS.SSSZ. The same syntax used for the payoutDate filter is also used for the lastAttemptedPayoutDate filter.

    This filter is only applicable (and will return results) if one or more seller payouts have failed, but are retryable.
  • payoutStatus: search for payouts in a particular state. Only one payout state can be specified with this filter. The supported payoutStatus values are as follows:
    • INITIATED: search for payouts that have been initiated but not processed.
    • SUCCEEDED: search for successful payouts.
    • RETRYABLE_FAILED: search for payouts that failed, but ones which will be tried again. This value must be used if filtering by lastAttemptedPayoutDate.
    • TERMINAL_FAILED: search for payouts that failed, and ones that will not be tried again.
    • REVERSED: search for payouts that were reversed.
    Below is the proper syntax to use if filtering by payout status:

    https://apiz.ebay.com/sell/finances/v1/payout?filter=payoutStatus:{SUCCEEDED}

If both the payoutDate and payoutStatus filters are used, payouts must satisfy both criteria to be returned.

Occurrence: Optional

sortarray of SortFieldBy default, payouts or failed payouts that match the input criteria are sorted in ascending order according to the payout date/last attempted payout date (oldest payouts returned first).

To view payouts in descending order instead (most recent payouts/attempted payouts first), you would include the sort query parameter, and then set the value of its field parameter to payoutDate or lastAttemptedPayoutDate (if searching for failed, retrybable payouts). Below is the proper syntax to use if filtering by a payout date range in descending order:

https://apiz.ebay.com/sell/finances/v1/payout?filter=payoutDate:[2018-12-17T00:00:01.000Z..2018-12-24T00:00:01.000Z]&sort=payoutDate

Payouts can only be sorted according to payout date, and can not be sorted by payout status.

Occurrence: Optional

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

OAuth scope

This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):

https://api.ebay.com/oauth/api_scope/sell.finances

See OAuth access tokens for more information.

Output

HTTP response headers

Output container/fieldTypeDescription
hrefstringThe URI of the getPayouts call request that produced the current page of the result set.

Occurrence: Always

limitintegerThe maximum number of payouts that may be returned per page of the result set. The limit value can be passed in as a query parameter, or if omitted, its value defaults to 20.

Note: If this is the last or only page of the result set, the page may contain fewer payouts than the limit value. To determine the number of pages in a result set, divide the total value (total number of payouts matching input criteria) by this limit value, and then round up to the next integer. For example, if the total value was 120 (120 total payouts) and the limit value was 50 (show 50 payouts per page), the total number of pages in the result set is three, so the seller would have to make three separate getPayouts calls to view all payouts matching the input criteria.

Maximum: 200
Default: 20

Occurrence: Always

nextstringThe getPayouts call URI to use if you wish to view the next page of the result set.

This field is only returned if there is a next page of results to view based on the current input criteria.

Occurrence: Conditional

offsetintegerThis integer value indicates the actual position that the first payout returned on the current page has in the results set. So, if you wanted to view the 11th payout of the result set, you would set the offset value in the request to 10.

In the request, you can use the offset parameter in conjunction with the limit parameter to control the pagination of the output. For example, if offset is set to 30 and limit is set to 10, the call retrieves payouts 31 thru 40 from the resulting collection of payouts.

Note: This feature employs a zero-based list, where the first item in the list has an offset of 0.

Default: 0 (zero)

Occurrence: Always

payoutsarray of PayoutAn array of one or more payouts that match the input criteria. Details for each payout include the unique identifier of the payout, the status of the payout, the amount of the payout, and the number of monetary transactions associated with the payout.

Occurrence: Always

payouts.amountAmountThis the total amount of the seller payout. The container shows the dollar amount of the payout and the currency used. The value of the payout is always shown, even if the payout has failed.

Occurrence: Always

payouts.amount.currencyCurrencyCodeEnumA three-letter ISO 4217 code that indicates the currency of the amount in the value field. This field is always returned with the amount container.

Default: The currency of the authenticated user's country.

Occurrence: Conditional

payouts.amount.valuestringThe monetary amount, in the currency specified by the currency field. This field is always returned with the amount container.

Occurrence: Conditional

payouts.lastAttemptedPayoutDatestringThis timestamp indicates the date/time when eBay last attempted to process a seller payout but it failed. This field is only returned if a seller payout fails, and the payoutStatus value shows RETRYABLE_FAILED or TERMINAL_FAILED. A seller can filter on the lastAttemptedPayoutDate in a getPayouts request.

Occurrence: Conditional

payouts.payoutDatestringThis timestamp indicates when the seller payout began processing. The following format is used: YYYY-MM-DDTHH:MM:SS.SSSZ. For example, 2015-08-04T19:09:02.768Z. This field is still returned even if the payout was pending but failed (payoutStatus value shows RETRYABLE_FAILED or TERMINAL_FAILED).

Occurrence: Always

payouts.payoutIdstringThe unique identifier of the seller payout. This identifier is generated once eBay begins processing the payout to the seller's bank account.

Occurrence: Always

payouts.payoutInstrumentPayoutInstrumentThis container provides details about the seller's account that received (or is scheduled to receive) the payout. This container is still returned even if the payout failed.

Occurrence: Always

payouts.payoutInstrument.accountLastFourDigitsstringThis string value is the last four digits of the seller's account number.

Occurrence: Always

payouts.payoutInstrument.instrumentTypestringThis string value indicates the type of account that received the payout. At this time, seller payouts can only be distributed to bank acounts, so the string value returned in this field will always be BankAccount.

Occurrence: Always

payouts.payoutInstrument.nicknamestringThis string value is a seller-provided nickname that the seller uses to represent the bank account.

Occurrence: Always

payouts.payoutStatusPayoutStatusEnumThis enumeration value indicates the current status of the seller payout. For a successful payout, the value returned will be SUCCEEDED. See the PayoutStatusEnum type for more details on each payout status value.

Occurrence: Always

payouts.payoutStatusDescriptionstringThis field provides more details about the current status of payout. The description returned here will correspond with enumeration value returned in the payoutStatus field. The following shows what description text might appear based on the different payoutStatus values:
  • INITIATED: Preparing to send
  • SUCCEEDED: Funds sent
  • REVERSED: Waiting to retry : Money rejected by seller's bank
  • RETRYABLE_FAILED: Waiting to retry
  • TERMINAL_FAILED: Payout failed

Occurrence: Always

payouts.transactionCountintegerThis integer value indicates the number of monetary transactions (all orders, refunds, and credits, etc.) that have occurred with the corresponding payout. Its value should always be at least 1, since there is at least one order per seller payout.

Occurrence: Always

prevstringThe getPayouts call URI to use if you wish to view the previous page of the result set.

This field is only returned if there is a previous page of results to view based on the current input criteria.

Occurrence: Conditional

totalintegerThis integer value is the total number of payouts in the results set based on the current input criteria. Based on the total number of payouts that match the criteria, and on the limit and offset values, there may be additional pages in the results set.

Occurrence: Conditional

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

StatusMeaning
200Success
204No Content
400Bad Request
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

CodeDomainCategoryMeaning
135000API_FINANCESAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay developer support for assistance.
135002API_FINANCESREQUESTThe value of payout status filter is invalid.
135003API_FINANCESREQUESTThe value of pagination is invalid.
135004API_FINANCESREQUESTThe value of payout date filter is invalid.
135005API_FINANCESREQUESTThe value of sorting is invalid.

Warnings

Samples

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

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Get All Payouts

This call sample retrieves all recent seller payouts in all states. No filters, no sorting, and no pagination parameters are used.

Input

Only the GET HTTP method and the endpoint are used. No filter parameters, no sorting, and no pagination query parameters are used.
GET
https://apiz.ebay.com/sell/finances/v1/payout

Output

The output returns details on 10 recent seller payouts. Since no pagination query parameters were used, the limit value defaults to 20 (up to 20 payouts per page of the result set) and the offset value defaults to 0 (the first payout in the result set is shown first). Since only 10 seller payouts are returned, this response is showing all available seller payouts. If different limit and offset values are used, and there are multiple pages in the result set, prev and next fields may get returned, and these fields will contain the full call URIs to use to retrieve the previous and next pages of the result set.

Each payout is identified with its payoutId value. A payoutId value is auto-generated by eBay as soon as a seller payout is initiated, and a timestamp (payoutDate) reflects when the payout was initiated. The payout amount, the payout status, the transactions involved in the payout, and the seller's bank information is shown for each payout.

Sample 2: Get Successful Payouts Only

This call sample retrieves all successful seller payouts. The filter parameter is used and configured to only return payouts that were successfully distributed to the seller's bank account.

Input

For this sample, the filter query parameter is used, the filter type is payout status, and the payout status value is SUCCEEDED. Below is the syntax to use for a non-date filter:

?filter=filter_type:{filter_value}
GET
https://apiz.ebay.com/sell/finances/v1/payout?filter=payoutStatus:{SUCCEEDED}

Output

The output returns details on 5 successful seller payouts. Since no pagination query parameters were used, the limit value defaults to 20 (up to 20 payouts per page of the result set) and the offset value defaults to 0 (the first payout in the result set is shown first). Since only 5 successful payouts are returned, this response is showing all available, successful payouts.

Each payout is identified with its payoutId value. Notice that the payoutStatus value for each returned payout is showing SUCCEEDED.

Sample 3: Get Retryable Payouts Within Date Range

This call sample retrieves seller payouts that failed, but ones which will be retried. Two filter parameters are used and configured to return retryable payouts within a stated date range.

Input

For this sample, two filter query parameters are used - one to filter by the payout status of RETRYABLE_FAILED, and one to filter within a date range. In this sample, the date range is for the month of December 2018.

Below is the syntax to use for a non-date filter:

?filter=filter_type:{filter_value}

The syntax to use for a date range filter is slightly different, and is shown below. Notice the date range filter uses square brackets instead of curly brackets.

?filter=payoutDate:[YYYY-MM-DDTHH:MM:SS.SSSZ..YYYY-MM-DDTHH:MM:SS.SSSZ]
GET
https://apiz.ebay.com/sell/finances/v1/payout?filter=payoutStatus:{RETRYABLE_FAILED}&filter=payoutDate:[2018-12-01T00:00:01.000Z..2018-12-31T00:00:01.000Z]

Output

Only one seller payout with a status of RETRYABLE_FAILED was found within the specified date range (12-01-2018 - 12/31/2018).

Sample 4: Using Pagination and Sorting

This call sample retrieves all recent seller payouts in all states, but also uses pagination and sorts by payout date in descending order.

Input

For this sample, the limit and offset pagination parameters are used. In this particular case, the limit value is set to 7 (7 payouts per page of data), and the offset value is set to 7 (which, using a 0-based index, means that the 8th payout in the result set will appear at the top of the retrieved page of data).

The sort query parameter is also used, and the results are set to be sorted in descending order according to payout date (most recent payouts returned at the top of each page of data). Currently, payouts can only be sorted by payout date, and the default is to return payouts in ascending order (oldest payouts returned first). So, to sort payouts in descending order instead, the sort=-payoutDate query parameter is needed. Notice the negative (-) sign, which is needed to sort in descending order.
GET
https://apiz.ebay.com/sell/finances/v1/payout?limit=7&offset=7&sort=-payoutDate

Output

A total of 21 payouts are part of the result set, as indicated by a value of 21 in the total field. Since the limit value is 7 and the offset value is 7, 7 payouts are returned per page, and payouts 8-14 (in the result set) are shown in the response. Also notice that the payouts are sorted in descending order (according to payout date) instead of ascending order.

Since there are a total of 21 payouts in the result set, and 7 payouts retrieved per page, that means there is a total of three pages of payouts to retrieve. If the user wanted to view the payouts 1-7 (in the result set), the user could copy the call URI returned in the prev field and run the call again. If the user wanted to view the payouts 15-21 (in the result set), the user could copy the call URI returned in the next field and run the call again.

Sample 5: Filtering by lastAttemptedPayoutDate

The lastAttemptedPayoutDate filter is used in this call sample. This filter is an alternative to filtering by payoutDate, and can be helpful if the seller has had some payouts that have failed on first attempt.

Input

For this sample, lastAttemptedPayoutDate is used as a filter, and a date range is set. When the lastAttemptedPayoutDate filter is used, all payouts (successful and failed) with a lastAttemptedPayoutDate value within this range are returned.
GET
https://apiz.ebay.com/sell/finances/v1/payout?filter=lastAttemptedPayoutDate:[2020-06-09T12:01:00.000Z..2020-06-09T23:59:59.000Z]

Output

Based on the date range specified in the lastAttemptedPayoutDate filter, only one seller payout was updated during this time period, and it was successful. By looking at the timestamps in the payoutDate and lastAttemptedPayoutDate fields, the first attempt of this seller payout failed, but an additional attempt was successful just about six minutes after the first attempt.

For all seller payouts that are successful on the first attempt, the timestamps in the payoutDate and lastAttemptedPayoutDate fields will be identical.