token_flag parameter to define the Transaction Context. This tells our system who is triggering the payment and whether the billing amount is fixed or variable.| Flag | Full name | Amount | Use case | API Endpoint |
|---|---|---|---|---|
CITI_FLEX | CIT Initial | Variable | Customer saves their method for future purchases with varying amounts. | Link Account, Link Card |
CITU_FLEX | CIT Unscheduled | Variable | Customer makes a one-time payment using a previously saved method. | Payment |
| Flag | Full name | Amount | Use case | API Endpoint |
|---|---|---|---|---|
CITO_FLEX | CIT Other | Variable | Customer authorizes the merchant to charge variable amounts later (e.g. toll setup). | Link Account, Link Card |
MITU_FLEX | MIT Unscheduled | Variable | Merchant charges on-demand with no fixed schedule (e.g. auto-recharge for a toll card). | Payment |
callback_url.{
"status": {
"code": "00",
"message": "Success",
"trace_id": "bce9c83c-922e-4672-87f5-7f92cd15047c"
},
"data": {
"deeplink": "abamobilebank://ababank.com?type=account_on_file&qrcode=ABA...gFses",
"qr_string": "ABAAOF+hEGxkym...6SbF19enqLB2xU46jTzVY",
"expire_in": 1627113926
}
}qr_string for customers to scan with ABA Mobile and authorise the account linking.callback_url. This allows your system to capture the linking status and store the necessary tokens for future transactions.callback_url passed dynamically as a request parameter; however, if this parameter is absent, the system defaults to the callback_url configured within your Outlet Profile > Services > Credential on File.{
"request_id": "175317626731593",
"payment_credential": {
"ctid": "64513556cc930062e8cb3ae59eee8fbf459c53e",
"pwt": "6451355C97035CDE21FB13..E0945C21007136F3D423A1B",
"source_of_fund": "*****5312",
"type": "ABA ACCOUNT",
"status": 1,
"expired_at": "2025-10-20T08:20:03",
"token_flag": "CITI_FLEX",
"frequency": "",
"subscribed_amount": 0.0,
"amount_limit_per_tran": 0.0,
"currency": "USD",
}
}stringobjectstringstringstringstringVisa - Visa cardMC - MastercardCUP - UnionPay cardJCB - JCB cardABA ACCOUNT - ABA Accountnumber0 - Token has been removed.1 - Token is active.2 - Token has been frozen.stringstringCITI_FLEX, CITO_FLEX.stringCITI_FLEX or CITO_FLEX.number0 for token flag CITI_FLEX or CITO_FLEX.numberstringKHR or USD.callback_url.callback_url is not provided in the request, PayWay will use the default callback_url configured in the API Settings.callback_url, make sure the domain is whitelisted in your merchant profile.callback_url endpoint must:{
"tran_id": "6605586317",
"apv": "541181",
"status": 0
}stringstringnumberfunction generatePushbackHash(string $pushbackBody, string $publicKey)
{
$data = json_decode($pushbackBody, true);
ksort($data, SORT_STRING);
$b4hash = '';
array_walk_recursive($data, function ($value) use (&$b4hash) {
$b4hash .= $value;
});
return base64_encode(hash_hmac('sha512', $b4hash, $publicKey, true));
}