Docs
Documentation
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?
Docs

API

Copyright © Zenpay. All rights reserved.