Merchants can request a full/partial refund for a “captured” or “settled” transaction regardless of the payment method. The request can be sent within 180 days from the transaction creation date and the refund process will take about 7-14 days after the request is sent.
Eligible merchants may request for Fiuu “Refund Portal” so as to ease their buyers to provide bank account details to shorten the refund lead time.
For payment made via Fiuu Cash, refund will not be applicable. Merchants will need to collect bank account information from the customers and perform wire transfer separately without Fiuu’s involvement.
Method : POST or GET
| Field Name | Data Type(Size) | M/O | Description |
|---|---|---|---|
| RefundType | a(1) | M | P - Partial Refund |
| MerchantID | an(1..32) | M | Merchant ID provided by PG |
| RefID | ans(1..100) | M | Unique reference ID for tracking purpose sent by merchant |
| TxnID | n(1..20) | M | PG Transaction ID |
| Amount | n(10,2) | M | eg. '5.00' Amount to be refunded |
| BankCode | an(8) | C | Applicable for Online Banking only. (Refer to predefined bank lists) |
| BankCountry | a(2) | C | Applicable for Online Banking only. Two letters country ISO code. (Default value: MY) |
| BeneficiaryName | as(1..100) | C | Applicable for Online Banking only. |
| BeneficiaryAccNo | ans(1..100) | C | Applicable for Online Banking only. |
| Signature | an(32) | M | This is the data integrity protection hash string. |
| mdr_flag | n(1) | O | This is to include or exclude MDR refund to the buyer if the amount is same as billing bill amount. Available value is as below: 0 - Include MDR/Full Refund (Default) 1 - Exclude/Reserved MDR |
| notify_url | as | O | This is the URL for merchant to receive refund status (same format as the response of the API). Either 00 (Success) or 11 (Rejected) |
Signature = md5( {RefundType}{MerchantID}{RefID}{TxnID}{Amount}{secret_key} )
Reponse
PG responds JSON format to merchant upon a successful request (positive result)
| Field Name | Data Type(Size) | M/O | Description |
|---|---|---|---|
| RefundType | a(1) | M | Echo of merchant request |
| MerchantID | an(1..32) | M | Echo of merchant request |
| RefID | ans(1..100) | M | Echo of merchant request |
| RefundID | n(1..11) | M | Refund ID provided by PG |
| TxnID | n(1..20) | M | Echo of merchant request |
| Amount | n(10,2) | M | Echo of merchant request |
| Status | a(2) [00, 11, 22] | M | 22 for 'Pending' (Upon Request) 11 for 'Rejected' (via notify_url) 00 for 'Success' (Refunded, via notify_url) |
| Signature | a(32) | M | This is data integrity protection hash string. |
| reason | ans(1..255) | O | Reason for rejected status |
| FPXTxnID | ans(1..100) | O | FPX channel Transaction ID |
Signature = md5( {RefundType}{MerchantID}{RefID}{RefundID}{TxnID}{Amount}{Status}{secret_key} )
PG will respond the following in JSON format once error occurs (negative result)
| Field Name | Data Type(Size) | Description |
|---|---|---|
| error_code | an(1) | Refer to Appendix C |
| error_desc | ans(1..255) | Refer to Appendix C |
