Merchant can request a reversal of transaction via original payment method for an “authorized” card, and “captured” card (including recurring payment), M2U, CIMB Clicks, Hong Leong Connect, Razer Pay, Alipay-Spot, POS Terminal, Boost and WeChat Pay payment.
For most of the payment channels above, the transaction can be “void” immediately on the same day before settlement (card payment at around 10pm and other channels are 11:59pm local time). For a payment channel that accepts refund requests, the transaction that happens within 180 days will be refunded within 7-14 days after the request is sent.
Please note that this API is to send a refund request, but not getting the status of the refund process. All successful requests shall be executed and if there is any exceptional case, PG support team will contact the merchant to resolve the issue.
Method: POST OR GET
| Variable / Parameter | Type Format / Max Length | Description / Example |
|---|---|---|
| txnID | integer, 20 digits | Unique transaction ID for tracking purpose. |
| domain | alphanumeric, 32 chars | Merchant ID in PG system. |
| skey | 32 chars hexadecimal string | This is the data integrity protection hash string. |
| url | optional, URL for POST response | The URL to receive POST response from PG |
| type | optional, 1-digit integer | 0 = plain text result (default), 1 = result via POST method |
Response
| Variable / Parameter | Type Format / Max Length | Description / Example |
|---|---|---|
| TranID | integer, 20 digits | Echo of the txnID in request |
| Domain | alphanumeric, 32 chars | Echo of the domain in request |
| VrfKey | 32 chars hexadecimal string | This is the data integrity protection hash string. |
| StatCode | string of 2-digit numeric | 00 = Success (will proceed the request), 11 = Failure, 12 = Invalid or unmatched security hash string, 13 = Not a refundable transaction, 14 = Transaction date more than 180 days, 15 = Requested day is on settlement day, 16 = Forbidden transaction, 17 = Transaction not found, 18 = Duplicate partial refund request, 19 = Merchant not found, 20 = Missing required parameter, 21 = Transaction must be in authorized/captured/settled status, 22 = Duplicate request is not allowed |
| StatDate | date (YYYY-MM-DD HH:mm:ss) | Response date & time |
| refundID | integer, 20 digits | Refund ID provided by PG |
Formula of skey & VrfKey
skey =md5( {txnID}{domain}{secret_key} )
VrfKey=md5( {secret_key}{Domain}{TranID}{StatCode} )
Reversal Reference Table
| Payment Channel | Support Void / Refund / Both | Cut-off time for VOID request | Processing method | Credit to buyer within |
|---|---|---|---|---|
| MYR card payment | Both | 10pm GMT+8 | manual | 1-4 business day |
| Maybank2u | Refund | - | manual | 7-business day |
| CIMB Clicks | Refund | - | manual | 7-business day |
| Hong Leong Connect | Refund | - | manual | 7-business day |
| Razer Pay | Both | 11:59pm GMT+8 | auto | 1-business day |
| Alipay Spot | Both | 11:59pm GMT+8 | auto | 1-business day |
| Wechat Pay (CN, MY) | Both | 11:59pm GMT+8 | auto | 1-business day |
| Boost | Both | 11:59pm GMT+8 | auto | 1-business day |
| TnG e-Wallet | Both | 11:59pm GMT+8 | auto | 1-business day |
| Grab Pay | Both | 11:59pm GMT+8 | auto | 1-business day |
| Maybank QR Push | Refund | - | manual | 7-business day |
