For archived content, access the previous documentation here or the previous API reference here.

Get all payouts by reference id

Prev Next
Get
/v2/payouts/?reference_id={reference_id}

Retrieve all matching payouts with reference ID. Returns an array of matching Payout Object if a valid reference_id was provided. Returns an empty array if there is no payout corresponding to the reference_id.

Security
HTTP
Type basic
Header parameters
for-user-id
string

The XenPlatform subaccount user id that you want to make this transaction for. This header is only used if you have access to xenPlatform. See xenPlatform for more information.

Path parameters
reference_id
stringRequired
Min length1
Max length255
Examplemyref-1482928194
Responses
200

Success

getPayoutByReferenceResponseExample
[
  {
    "id": "disb-571f3644d2b4edf0745e9703",
    "amount": 10000,
    "channel_code": "ID_BCA",
    "currency": "IDR,",
    "status": "ACCEPTED",
    "description": "July payout",
    "reference_id": "myref-1482928194",
    "created": "2024-12-31T23:53:59Z",
    "updated": "2024-12-31T23:53:59Z",
    "estimated_arrival_time": "2024-12-31T23:59:59Z",
    "business_id": "6018306aa16ad90cb3c43ba7",
    "channel_properties": {
      "account_number": "000000000099",
      "account_holder_name": "Michael Chen"
    }
  }
]
Array of object
object
id
string

Xendit-generated unique identifier for each payout

Prefix: disb_

Min length29
Max length29
Exampledisb-571f3644d2b4edf0745e9703
amount
number

Amount to be sent to the destination account.

  • For IDR currency, number should be integer
  • For PHP currency, number can be up to 2 decimal places
  • For VND currency, number should be integer
  • For MYR currency, number can be up to 2 decimal places
  • For THB currency, number can be up to 2 decimal places
Minimum0.0
Example10000
channel_code
string

Channel code of destination bank, E-Wallet or OTC channel. List of supported channels can be found here

ExampleID_BCA
currency
string

ISO 4217 Currency Code.

reference_id
string

A reference to uniquely identify the Payout.

Min length1
Max length255
Examplemyref-1482928194
status
string

Status of the payout.

The status in the response will always be ACCEPTED; meaning transfer is initiated but not yet completed by bank or E-Wallet. The final status will be given in a callback.

  • ACCEPTED - The payout request has been accepted and has not yet been sent on to a channel. A payout may remain in this status if the chosen channel is currently offline. Xendit will process this automatically when the channel comes back online
  • REQUESTED - The payout has been sent to the channel. Funds have been sent to the channel for processing.
  • FAILED - Payout failed. See possible reasons in Failed Reasons section.
  • SUCCEEDED - Sender bank/channel has sent out the payout
  • CANCELLED - Payout has been cancelled per your request
  • REVERSED - Payout was rejected by the channel after the payout succeeded. Commonly due to invalid or dormant account.
Valid values[ "ACCEPTED", "REQUESTED", "FAILED", "SUCCEEDED", "CANCELLED", "REVERSED" ]
created
string

Timestamp when the payout request was made (in ISO 8601 format)

Timezone UTC+0

updated
string

Timestamp when the payout request was updated (in ISO 8601 format)

Timezone UTC+0

estimated_arrival_time
string

Estimated time of arrival of funds in destination account (in ISO 8601 format) For OTC payouts: Estimated time that funds will be available for pick-up

Timezone UTC+0

failure_code
string

If the Payout failed, we include a failure code for more details on the failure.

  • INSUFFICIENT_BALANCE - Client has insufficient balance for the payout amount
  • INVALID_DESTINATION - The recipient account does not exist/is invalid.
  • REJECTED_BY_CHANNEL - Payout failed due to an error from the destination channel. This is usually because of network issues associated with the destination bank or issues crediting funds into the destination bank account.
  • TEMPORARY_TRANSFER_ERROR - The channel networks are experiencing a temporary error.
  • TRANSFER_ERROR - We’ve encountered a fatal error while processing this payout. Normally, this means that certain API fields in your request are invalid.
  • UNKNOWN_BANK_NETWORK_ERROR - The bank has delivered an error they have not documented. By definition, this means the bank does not know the issue.
  • DESTINATION_MAXIMUM_LIMIT - The recipient is unable to receive the funds due to the payout amount exceeding the recipient’s ability to receive.
Valid values[ "INSUFFICIENT_BALANCE", "INVALID_DESTINATION", "REJECTED_BY_CHANNEL", "TEMPORARY_TRANSFER_ERROR", "TRANSFER_ERROR", "UNKNOWN_BANK_NETWORK_ERROR", "DESTINATION_MAXIMUM_LIMIT" ]
business_id
string

Your Xendit Business ID

Example5785e6334d7b410667d355c4
channel_properties
object (ChannelProperties)
account_holder_name
string

Name of account holder as per the bank or E-Wallet's records. Needs to match the registered account name exactly.

Min length1
Max length100
account_number
string

Account number of destination. Mobile numbers for E-Wallet accounts. For E-Wallets, standard format should use prefix 0, e.g. 081234567890

Min length1
Max length100
account_type
string

Account type of the destination for currencies and channels that supports proxy transfers (ie: Using mobile number as account number) If you do not specify a value for this field, the default value is BANK_ACCOUNT

Values:

For channel_code == MY_DUITNOW: MOBILE_NO NATIONAL_ID PASSPORT BUSINESS_REGISTRATION BANK_ACCOUNT

For currency == THB: MOBILE_NO NATIONAL_ID BANK_ACCOUNT

receipt_notification
object (ReceiptNotification)

Object containing email addresses to receive payout details upon successful Payout. Maximum of three email addresses each.

email_to
Array of string

Direct email recipients

string
email_cc
Array of string

CC-ed email recipients

string
email_bcc
Array of string

BCC-ed email recipients

string
metadata
object (Metadata) | null

Key-value entries for your custom data. You can specify up to 50 keys, with key names up to 40 characters and values up to 500 characters. This is for your convenience. Xendit will not use this data for any processing.

Example{ "my_custom_id": "merchant-123", "my_custom_order_id": "order-123" }
401

Unauthorized

OneOf
401InvalidAPIKeyError
object (401InvalidAPIKeyError)
error_code
string
ExampleINVALID_API_KEY
error_message
string
ExampleAPI key format is invalid
403

Forbidden

OneOf
403RequestForbiddenError
object (403RequestForbiddenError)
error_code
string
ExampleREQUEST_FORBIDDEN_ERROR
error_message
string
ExampleThe API key is forbidden to perform this request
404

Not Found

OneOf
404DataNotFoundError
object (404DataNotFoundError)
error_code
string
ExampleDATA_NOT_FOUND
error_message
string
ExampleCould not find payout with the corresponding ID. Please try again with a valid Id
500

Internal Server Error

OneOf
500ServerError
object (500ServerError)
error_code
string
ExampleSERVER_ERROR
error_message
string
ExampleError connecting to our server. Retry safely using Idempotency-key header when available