1. Overview
This API is use to Refund the transaction.
2. API Specification
HTTP Method | POST |
Endpoint |
|
SNAP Service Code | 58 |
3. Request
3.1. Request Header
Parameter Name | Type | Length | Required | Description | Sample | |
---|---|---|---|---|---|---|
1 | Authorization | String | 163 | M | Authorization access token. Bearer type. | Bearer eyJxxxx |
2 | X-SIGNATURE | String | 2048 | M | Integrity check. Using Asymmetric-Signature mechanism to get the token, encrypted with SHA256withRSA. e.g. stringToSign = <HTTP Method> + ":" + <Service Endpoint> + ":" + toLowercase(hexEncode(SHA256(minify(<Request Body>)))) + ":" + <X-TIMESTAMP> X-SIGNATURE = SHA256withRSA(PrivateKey, stringToSign) | eTCtU8YjKpwTzvOpao1g/ZQPxKzbsbVs6iTAAECB40aWoCVptjok59uHnbQemvyn3I0FHX/kreMgXMjhs/9NXYuaz3yBzk8TJ9fyYd6DbeeqDDBpTNVaC2dNjCtIjO1xi7ZJ+DLrqz7Wqwn+PwmY+0HJrbM9al5CS/WvjqFXN5FahIRxUfW8Dt3SQ0JNN/ySkz8ari/g7ygiIaLWZf3dSpACgEANiTFfi8YbAJRlMdoRPzwRups8QBdRce8yyW+RhpiEfTeV0CfLdTBiQ7r1HVCZ3V5iU2VxkKj4lXjwbEAJJm6XeEoXugUuLsOYOa8cKQ4bZ2Nxp+xFW6zd3Yk8lA== |
3 | X-TIMESTAMP | String | 25 | M | Timestamp request. Formatted as | 2022-09-28T13:00:00+07:00 |
4 | X-CLIENT-KEY | String | 32 | M | Merchant ID. Provided by Bank. |
|
5 | X-EXTERNAL-ID | String | 36 | M | Merchant unique request ID. Must be unique per day. | |
6 | CHANNEL-ID | String | 5 | M | Bank Channel ID. | 88881 |
7 | Content-Type | String | M | Request body format type. | application/json |
3.2 Request Body
Name | Type | M/O | Length | Description |
---|---|---|---|---|
originalPartnerReferenceNo | String | M | 22 | Merchant payment reference number. Should be use the |
originalReferenceNo | String | M | 22 | BNC transaction reference. The value retrieved from Payment response, |
merchantId | String | M | 32 | Merchant ID. Provided by BNC. |
subMerchantId | String | O | 32 | Sub Merchant ID of the Merchant. This property depends on merchant. Provided by BNC. |
partnerRefundNo | String | M | 22 | Merchant refund reference number. |
refundAmount | Object | M | For hold amount of refund. | |
-> value | String | M | 14 | Amount value to refund. |
-> currency | String | M | 3 | Currency of previous payment. |
reason | String | M | 255 | Merchant or user reason to refund. |
additionalInfo | Object | M | ||
-> token | String | M | 32 | Merchant user |
3.2.1 Sample Request Body
{ "merchantId": "000580000134", "originalPartnerReferenceNo": "230332344123777023", "originalReferenceNo": "300260184546832551937", "partnerRefundNo": "23033234412388800512", "refundAmount": { "value": "101200", "currency": "IDR" }, "reason": "Customer complain", "additionalInfo": { "token": "7c9176b97f5641fbb9f88d44ab3a63ba" } }
4. Response
4.1 Response Body
Name | Type | M/O | Length | Description |
---|---|---|---|---|
originalReferenceNo | String | M | 22 | BNC transaction reference. |
originalPartnerReferenceNo | String | M | 22 | Merchant payment reference number. |
partnerRefundNo | String | M | 22 | Merchant refund reference number. |
refundNo | String | M | 22 | BNC system refund reference number. |
refundTime | String | M | 25 | Refund request time. |
refundAmount | Object | M | The transaction monetary information. | |
-> currency | String | M | 3 | The transaction currency. |
-> value | Double | M | 14 | The transaction amount. |
additionalInfo | Object | M | ||
-> token | String | M | 32 | Merchant user |
-> traceId | String | M | 32 | BNC trace ID. Used for tracing in case problem happens |
responseMessage | String | M | 200 | The message corresponding to the response code. |
responseCode | String | M | 7 | The BI Snap standard of response code. |
4.1.1 Sample Response Body
Success:
{ "originalReferenceNo": "3001578338119420256257", "refundNo": "3001578339470892113920", "refundTime": "2022-10-07T18:00:28+07:00", "additionalInfo": { "token": "7777882", "traceId": "2537b798210996d8a9008acf0302086c" }, "originalPartnerReferenceNo": "U22100600016", "responseMessage": "Successful", "partnerRefundNo": "UF22100700002", "refundAmount": { "currency": "IDR", "value": "600000.00" }, "responseCode": "2005800" }
Fail:
Error Code | Error Message | Description | |
---|---|---|---|
1 | 4035815 | Transaction not permitted | The refund request already proceed or transaction already refunded. |
2 | 4045801 | Transaction not found | The transaction is not found. |
3 | 4035802 | Exceeds Transaction Amount Limit | The requested amount is exceed from transaction amount. |
6. Reference
Field Code | Field Name | Description | |
---|---|---|---|
1 | M | Mandatory | Mandatory |
2 | ME | Mandatory Equal | Mandatory Equal – value in the request and the response must be the same. |
3 | C | Conditional | Conditional |
4 | CE | Conditional Equal | Conditional Equal – value in the request and the response must be the same. |
5 | O | Optional | Optional |