Skip to content
PGSwift Docs
Documentation/Payment Completed Webhook

Payment Completed Webhook

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"
  }
}