Refund Payment
Specification
The Following tabel is spesification for this API :
API Name | Refund Payment |
---|---|
Function | This API is used to refund the order qris from merchant’s platform to Paydia |
Service Code | 78 |
Method | POST |
URL | /snap/v1.0/qr/qr-mpm-refund |
Accept | application/json |
Content Type | application/json |
Related Service | QRIS MPM (Acquirer) |
Request
The following part will be describe about parameter of request in this API:
Request Parameter
The following table is a list of request parameter in this API:
Header
The following table is Header of Request Parameters :
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | Content-Type | String | Variable, 127 max | Mandatory | - | Content type, value always application/json |
2 | Authorization | String | Variable | Conditional | If the signature option is asymmetric approach | Contains B2B Bearer JWT Token, you've got it from Access Token B2B |
3 | X-TIMESTAMP | String | Fixed, 25 max | Mandatory | - | Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
4 | X-SIGNATURE | String | Variable | Mandatory | - | Signature will be generated automatically with symmetricSignature or asymmetricSignature method |
5 | X-PARTNER-ID | String | Variable, 36 max | Mandatory | - | ID for partner was generated by Paydia. Unique ID for a partner |
6 | X-EXTERNAL-ID | String | Variable, 36 max | Mandatory | - | Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day |
7 | CHANNEL-ID | String | Variable, 5 max | Mandatory | - | Device identification on which the API services is currently being accessed by the end user (customer) |
Body
The following table is a body of request parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | merchantid | String | Variable, 64 max | Mandatory | - | Merchant identifier that is unique per each merchant |
2 | originalPartnerReferenceNo | String | Variable, 64 max | Mandatory | - | Original transaction identifier on partner system |
3 | originalReferenceNo | String | Variable, 64 max | Optional | - | Original transaction identifier on Paydia system. Must be filled upon successful transaction |
4 | partnerRefundNo | String | Variable, 64 max | Mandatory | - | Reference number from merchant for the refund |
5 | refundAmount | Money | Variable | Mandatory | - | Contains two sub-fields:
|
6 | additionalInfo | JSON Object | Variable | Optional | - | Additional Information |
7 | additional.callback | String | Variable | Optional | - | URL to be able to receive payment notifications after payment is made by the customer |
Request Sample
The following script is a request sample of this API:
POST .../snap/v1.0/qr/qr-mpm-refund
X-TIMESTAMP: 2022-09-29T10:30:00+07:00
X-PARTNER-ID: 7c357677e7e02547ef33fafca165a574
X-SIGNATURE: BT5WSwbLzq3kOngSDrvIqV9crVe3lwi0OF5CoG6Z5j0ItfmBSPJ/H1l/3nWefbHp/EcnGpEiYY+f3Sh40cR4RyWn3TST3Qk3u154ZA3Nn/gWgZYePjIvqCuzIwrkoSP4pVPK5QbWiPRDhyB9VzCFT4vYM806ULyI41Hn/RzBaFtujLKlTGZNSH3cLsV72HUKyC3SP35S4wGha+RnzzxRRV1Ma5lg4S1teUjnO3d41Cy9m4EW7gzoAuxfwknBCTF3f8yABs8kGAnUWqelIKxsyQ65OxUvY4u2G6fM/Tx1mDboBbY1d9P6ZODCtaT+a2s8StAju68hvOPTBUJAI1uBlw==
X-EXTERNAL-ID: 1664420431
CHANNEL-ID: 12345
Authorization: Bearer d3b40492d71df7b7e75ed656b1ff3ee46a5b358c26853178d4bef28771b63019
Content-Type: application/json
{
"merchantId": "220901002000000",
"originalPartnerReferenceNo": "2020102900000000000026",
"originalReferenceNo": "220928000007",
"partnerRefundNo": "REF2022092800000000000005",
"refundAmount": {
"value": "2500.00",
"currency": "IDR"
},
"additionalInfo": {
"callback": "https://callback.site/"
}
}
Response
The following part will be describe about parameter of response in this API:
Response Parameter
The following table is a list of response parameter in this API:
Body
The following table is a body of response parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | responseCode | String | Fixed, 7 max | Mandatory | - | Refer to response code list |
2 | responseMessage | String | Variable, 150 max | Mandatory | - | Refer to response code list |
3 | originalReferenceNo | String | Variable, 64 max | Conditional | Must be filled upon successful transaction | Original transaction identifier on Paydia system. Must be filled upon successful transaction |
4 | originalPartnerReferenceNo | String | Variable, 64 max | Mandatory | - | Original transaction identifier on partner system |
5 | originalExternalId | String | Variable, 36 max | Optional | - | Original external ID on header message |
6 | refundNo | String | Variable, 64 max | Mandatory | - | Refund number identifier on service provider system reference number |
7 | partnerRefundNo | String | Variable, 64 max | Mandatory | - | Reference number from merchant for the refund |
8 | refundAmount | Money | Variable | Mandatory | - | Contains two sub-fields:
|
9 | refundTime | String | Fixed, 25 max | Mandatory | - | Refund time. ISO 8601, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
10 | additionalInfo | JSON Object | Variable | Optional | - | Additional Information |
Response Sample
The following script is a response sample of this API:
{
"responseCode": "2007800",
"responseMessage": "Successful",
"originalReferenceNo": "220928000007",
"originalPartnerReferenceNo": "2020102900000000000026",
"originalExternalId": "1664418745",
"refundNo": "",
"partnerRefundNo": "REF2022092800000000000005",
"refundAmount": {
"value": "2500.00",
"currency": "IDR"
},
"refundTime": "2022-09-29T09:31:49+07:00",
"additionalInfo": {
"callback": "https://callback.site"
}
}
Response Code and Message
The following table is the list response code and message of Refund Payment API:
No | Response Code | Response Message | Remarks |
---|---|---|---|
1 | 2007800 | Successful | Success to be processed |
2 | 2027800 | Request In Progress | Transaction still on process |
3 | 4007801 | Invalid Field Format | Invalid format for certain field |
4 | 4007802 | Invalid Mandatory Field | Missing or invalid format on mandatory field |
5 | 4017800 | Unauthorized [reason] | General unauthorized error |
6 | 4017801 | Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B |
7 | 4037802 | Exceeds Transaction Amount Limit | Amount exceed limits |
8 | 4037814 | Insufficient Funds | Insufficient fund to do refund |
9 | 4047800 | Invalid Transaction Status | Invalid transaction status |
10 | 4047808 | Invalid Merchant | Merchant does not exist or status abnormal |
11 | 4047812 | Invalid Bill/Virtual Account |
|
12 | 4047813 | Invalid Amount | Invalid amount to do refund |
13 | 4097801 | Duplicate partnerRefundNo | Duplicate partnerRefundNo |
14 | 5007802 | Backend system failure | 500 internal server error |