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

Payment Status Callback (Webhook)

Prev Next
Post
/bill-payments/your-callback-url

Callback endpoint that Xendit will POST to your configured webhook URL when payment status updates occur. This endpoint should be implemented by your server to receive payment notifications.

Header parameters
X-Callback-Signature
stringRequired

HMAC SHA256 signature for webhook verification

X-Callback-Timestamp
stringRequired

Unix timestamp when callback was generated

Body parameters
billPaymentSucceeded

Bill Payment Succeeded Webhook

{
  "created": "2025-08-01T10:46:08.208Z",
  "business_id": "60c820d70d4499475d05adb2",
  "event": "bill_payment.succeeded",
  "data": {
    "data": {
      "status": "SUCCEEDDED",
      "created_at": "2025-08-01T10:46:03Z",
      "payment_id": "3dd4ebd4-f6cf-4042-bc65-dd847adcfb77",
      "product_id": "PLN_PREPAID_50K",
      "updated_at": "2025-08-01T10:46:03Z",
      "reference_id": "PLN-20250801174603-5TV45",
      "total_amount": 53200,
      "customer_number": "50170719442",
      "ledger_transaction_id": ""
    },
    "event": "bill_payment.succeeded",
    "business_id": "60c820d70d4499475d05adb2"
  },
  "api_version": "v1"
}
Expand All
object
created
string (date-time) Required

Timestamp when callback was created

business_id
string Required

Xendit's Business ID

event
string Required

Event type

Valid values[ "bill_payment.succeeded", "bill_payment.failed" ]
data
object Required
data
object Required
status
string Required
Valid values[ "SUCCEEDDED", "FAILED" ]
created_at
string (date-time) Required
payment_id
string Required
product_id
string Required
updated_at
string (date-time) Required
bill_details
Array of object (BillPaymentDetailKeyValue)
object
key
string Required

Name of the detail field

value
string Required

Value of the detail field

failure_code
string | null
fulfilled_at
string (date-time) | null
reference_id
string Required
total_amount
number Required
failure_reason
string | null
customer_number
string Required
payment_details
Array of object (BillPaymentDetailKeyValue)
object
key
string Required

Name of the detail field

value
string Required

Value of the detail field

product_details
Array of object (BillPaymentDetailKeyValue)
object
key
string Required

Name of the detail field

value
string Required

Value of the detail field

customer_details
Array of object (BillPaymentDetailKeyValue)
object
key
string Required

Name of the detail field

value
string Required

Value of the detail field

ledger_transaction_id
string
event
string Required
Valid values[ "bill_payment.succeeded", "bill_payment.failed" ]
business_id
string Required
api_version
string Required
Valid values[ "v1" ]
Responses
200

Webhook acknowledged successfully