POST payment.completed
Request Headers
All webhook requests include the following headers for authentication and verification:
| Header | Description |
|---|---|
| X-PARTNER-ID | Your client identifier |
| X-TIMESTAMP | Request timestamp in ISO8601 format (e.g., 2024-12-18T16:21:07+07:00) |
| X-SIGNATURE | RSA signature for request verification (see Signature Generation) |
Payload Structure
| Name | Type | Description |
|---|---|---|
| transaction_id | string | Internal transaction identifier |
| merchant_transaction_id | string | Unique identifier for the merchant's transaction. |
| created_at | string | Transaction creation timestamp (ISO 8601) |
| amount | number | Transaction amount |
| currency | string | The currency for the transaction (Indonesian Rupiah only). |
| channel | string | Payment Channel |
| service_fee_rate | number | Service fee rate applied |
| service_fee_amount | number | Service fee amount charged |
| nett_amount | number | Net amount after fees |
| rrn | string/null | Retrieval Reference Number (if available) |
| status | string | Payment status (e.g. "success") |
| customer_info | object | Customer information object (decoded from customer_details) |
Example Payload
{
"transaction_id": "9dc1614d-ed70-426c-80da-5304ad258c9c",
"merchant_transaction_id": "RLP0000000000",
"created_at": "2024-12-18T16:21:07+07:00",
"amount": "10000.00",
"currency": "IDR",
"channel": "BCA",
"service_fee_rate": 0,
"service_fee_amount": 0,
"nett_amount": 10000,
"rrn": "0392813042",
"status": "success",
"customer_info": {
"customer_name": "John Doe",
"product_name": "Deposit Now"
}
}