Documentation
Callback Operations/callback Parameters
Callback Operations - Callback Parameters (Payment)
Parameters sent to the merchant's callback URL when payment status changes
Overview
These parameters are sent as JSON data to your configured callback URL when a payment status changes. The callback mechanism ensures that your system is notified about payment completion, regardless of whether the customer completes the redirect flow.
These parameters are sent as JSON data to your configured callback URL when a payment status changes. For information about redirect handling with POST data, see the Payment Operations → Redirect Handling section.
Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
|
appln_id
|
string | Application identifier ("ZNS" for staging and "ZNN" for production) | ZNN |
|
biller_code
|
string | Merchant biller code identifier | 200040022 |
|
fpx_mode
|
string | FPX processing mode (always "2" for background) | 2 |
|
order_id
|
string | Merchant's order reference ID | ORD123456789 |
|
amount
|
string | Transaction amount | 100.00 |
|
status
|
string | Payment status (SUCCESSFUL/UNSUCCESSFUL) | SUCCESSFUL |
|
status_code
|
string | Payment status code ("00" for success) | 00 |
|
bank_id
|
string | Bank identifier code | MBB0227 |
|
bank_name
|
string | Bank name (same as bank_id) | MBB0227 |
|
fpx_id
|
string | FPX transaction identifier | 2506161052420264 |
|
payref_id
|
string | Payment reference ID from ZenPay | ZNN250616037999 |
|
trx_datetime
|
string | Transaction date and time in UTC format (UNIX) from FPX | 2506161052420264 |
|
process_mode
|
string | Processing mode identifier | background |
|
timestamp
|
string | Timestamp of the callback with ISO 8601 format | 2025-07-15T05:12:18Z |
Example Callback Data
Here's an example of the JSON data that will be sent to your callback URL:
{
"amount": "100.50",
"appln_id": "ZNN",
"bank_id": "MB2U0227",
"bank_name": "MB2U0227",
"biller_code": "MERCHANT001",
"fpx_id": "FPX123456789",
"fpx_mode": "2",
"order_id": "ORDER123",
"payref_id": "ZNN240115000001",
"process_mode": "automatic",
"status": "SUCCESSFUL",
"status_code": "00",
"timestamp": "2025-07-15T05:12:18Z",
"trx_datetime": "20240115103000"
}
Important Notes
- Your callback URL must respond with HTTP 200 status for successful processing
- Status "SUCCESSFUL" indicates status_code "00", all other codes result in "UNSUCCESSFUL"
- Data is sent as JSON with Content-Type: application/json header
- Signature is sent in the X-Signature header for verification
- You are responsible for handling the callback and verifying the data
Was this helpful?
Prev