Webhook sent when payout status changes.
Events:
- v3_payout.succeeded — The payout has already succeeded. The partner bank has credited the funds to the beneficiary.
- v3_payout.failed — The payout has already failed. The partner bank rejected the transaction or there was an issue processing the transaction.
- v3_payout.reversed — The payout that was originally in succeeded status received a bounceback or reversal of funds from the partner bank. Funds have been refunded back to the merchant's available balance.
Configure your callback URL at https://dashboard.xendit.co/settings/developers#webhooks under the PAYOUT section.
Secret API Key authentication. Required permission: MONEY-OUT
Payout Failed Webhook
{
"event": "v3_payout.failed",
"business_id": "6018306aa16ad90cb3c43ba7",
"created": "2025-06-11T08:01:30Z",
"data": {
"payout_id": "po-b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "FAILED",
"reference_id": "payout-ref-002",
"type": "B2C",
"source_currency": "PHP",
"source_amount": 50000,
"destination_currency": "PHP",
"destination_amount": 50000,
"sender": {
"type": "BUSINESS",
"business_name": "Acme Corp"
},
"recipient": {
"type": "INDIVIDUAL",
"given_name": "Maria",
"surname": "Santos",
"relationship": "CUSTOMER",
"account_details": {
"currency": "PHP",
"account_country": "PH",
"account_holder_name": "Maria Santos",
"account_number": "09171234567",
"routing_type_1": "wallet",
"routing_value_1": "GCASH"
}
},
"source_of_fund": "BUSINESS_REVENUE",
"purpose_code": "SALARY",
"description": "Freelancer payment",
"failure_code": "INVALID_DESTINATION",
"created": "2025-06-11T08:00:00Z",
"updated": "2025-06-11T08:01:30Z",
"business_id": "6018306aa16ad90cb3c43ba7"
}
}Payout Succeeded Webhook
{
"event": "v3_payout.succeeded",
"business_id": "6018306aa16ad90cb3c43ba7",
"created": "2025-06-10T11:45:00Z",
"data": {
"payout_id": "po-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "SUCCEEDED",
"reference_id": "payout-ref-001",
"type": "B2C",
"source_currency": "IDR",
"source_amount": 1000000,
"destination_currency": "USD",
"destination_amount": 63,
"sender": {
"type": "BUSINESS",
"business_name": "Acme Corp"
},
"recipient": {
"type": "INDIVIDUAL",
"given_name": "John",
"surname": "Doe",
"relationship": "CUSTOMER",
"account_details": {
"currency": "USD",
"account_country": "US",
"account_holder_name": "John Doe",
"account_number": "1234567890",
"routing_type_1": "aba",
"routing_value_1": "021000021"
}
},
"source_of_fund": "BUSINESS_REVENUE",
"purpose_code": "SALARY",
"description": "Monthly salary payment",
"created": "2025-06-10T10:30:00Z",
"updated": "2025-06-10T11:45:00Z",
"business_id": "6018306aa16ad90cb3c43ba7"
}
}Webhook event payload sent when payout status changes
Type of the event
Xendit's unique business ID
Timestamp when the event was made. Format: ISO 8601, UTC+0
Payout Object
Unique payout id in UUID format, prefixed with po-
Status of the payout. See Payout Status Lifecycle
ID provided by merchant to identify the request
Payout type
Payout reference from Xendit's processor
Origin currency of the Payout
Origin amount of the Payout in minor units.
A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0.
Examples: PHP 10.00 → 1000, IDR 10 → 10.
Destination currency of the Payout
Destination amount of the Payout in minor units.
A minor unit is the smallest unit of a currency. Most currencies have 2 decimals, others have 0.
Examples: PHP 10.00 → 1000, IDR 10 → 10.
Contains sender information
Entity type of the sender
Name of the business sender. Required if type is BUSINESS
First name of the sender. Required if type is INDIVIDUAL
Last name of the sender. Required if type is INDIVIDUAL
First non-roman name of the sender
Last non-roman name of the sender
Details of the sender
Date of birth
Country of birth. Format: ISO 3166-2 Country Code
Nationality. Format: ISO 3166-2 Country Code
Personal ID type
Personal ID value
Personal ID expiration date
Personal ID country of issuance. Format: ISO 3166-2 Country Code
Personal email
Personal mobile number. Supports E.164 international format and local formats
Gender
Occupation
Date of incorporation of the business sender
Registration number of the business sender
Phone number of the business sender
Nature of business
Address details of the sender
Country. Format: ISO 3166-2 Country Code
Province, state or region
City, village or town
Line 1 of street address e.g., building name and apartment number
Line 2 of street address e.g., street number and name
ZIP/Postal Code
Contains recipient information
Entity type of the recipient
Name of the business recipient. Required if type is BUSINESS
First name of the recipient. Required if type is INDIVIDUAL
Last name of the recipient. Required if type is INDIVIDUAL
First non-roman name of the recipient
Last non-roman name of the recipient
Recipient's relationship to the sender in the context of the transaction
Details of the recipient
Date of birth
Country of birth. Format: ISO 3166-2 Country Code
Nationality. Format: ISO 3166-2 Country Code
Personal ID type
Personal ID value
Personal ID expiration date
Personal ID country of issuance. Format: ISO 3166-2 Country Code
Personal email
Personal mobile number. Supports E.164 international format and local formats
Gender
Occupation
Date of incorporation of the business recipient
Registration number of the business recipient
Phone number of the business recipient
Nature of business
Recipient's account details where the payment will be credited
Currency of the account. Format: ISO 4217 Currency Code
Account country code. Format: ISO 3166-2 Country Code
Account name of the recipient's account
Account number
Routing code type
Routing type value
Routing code subtype (reserved for future supported corridors)
Routing subtype value
Account type
Address details of the recipient
Country. Format: ISO 3166-2 Country Code
Province, state or region
City, village or town
Line 1 of street address e.g., building name and apartment number
Line 2 of street address e.g., street number and name
ZIP/Postal Code
Source of fund of the payout
Purpose of the payout
Free text description shown in recipient's bank statement, if supported
Underlying document attachments
Type of the document
Reference number of the document
File ID of the document
Timestamp when the payout was made. Format: ISO 8601, UTC+0
Timestamp when the payout was last updated. Format: ISO 8601, UTC+0
Estimated time of arrival of funds in destination account. UTC+0
Failure reason of the Payout. See Payout Status Lifecycle
Your Xendit Business ID
Object of additional information the merchant may use
There is no content to send for this request, but the headers may be useful.