Skip to main content

Refund Payment

Specification

The Following tabel is spesification for this API :

API NameRefund Payment
FunctionThis API is used to refund the order qris from merchant’s platform to Paydia
Service Code78
MethodPOST
URL/snap/v1.0/qr/qr-mpm-refund
Acceptapplication/json
Content Typeapplication/json
Related ServiceQRIS 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:

The following table is Header of Request Parameters :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxMandatory-Content type, value always application/json
2AuthorizationStringVariableConditionalIf the signature option is asymmetric approachContains B2B Bearer JWT Token, you've got it from Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxMandatory-Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4X-SIGNATUREStringVariableMandatory-Signature will be generated automatically with symmetricSignature or asymmetricSignature method
5X-PARTNER-IDStringVariable, 36 maxMandatory-ID for partner was generated by Paydia. Unique ID for a partner
6X-EXTERNAL-IDStringVariable, 36 maxMandatory-Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day
7CHANNEL-ID StringVariable, 5 maxMandatory-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:

NoNameTypeLengthRequiredConditionRemarks
1merchantidStringVariable, 64 maxMandatory-Merchant identifier that is unique per each merchant
2originalPartnerReferenceNoStringVariable, 64 maxMandatory-Original transaction identifier on partner system
3originalReferenceNoStringVariable, 64 maxOptional-Original transaction identifier on Paydia system. Must be filled upon successful transaction
4partnerRefundNoStringVariable, 64 maxMandatory-Reference number from merchant for the refund
5refundAmountMoneyVariableMandatory-Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
6additionalInfoJSON ObjectVariableOptional-Additional Information
7additional.callbackStringVariableOptional-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:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxMandatory-Refer to response code list
2responseMessageStringVariable, 150 maxMandatory-Refer to response code list
3originalReferenceNoStringVariable, 64 maxConditionalMust be filled upon successful transactionOriginal transaction identifier on Paydia system. Must be filled upon successful transaction
4originalPartnerReferenceNoStringVariable, 64 maxMandatory-Original transaction identifier on partner system
5originalExternalIdStringVariable, 36 maxOptional-Original external ID on header message
6refundNoStringVariable, 64 maxMandatory-Refund number identifier on service provider system reference number
7partnerRefundNoStringVariable, 64 maxMandatory-Reference number from merchant for the refund
8refundAmountMoneyVariableMandatory-Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
9refundTimeStringFixed, 25 maxMandatory-Refund time. ISO 8601, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
10additionalInfoJSON ObjectVariableOptional-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:

NoResponse CodeResponse MessageRemarks
12007800SuccessfulSuccess to be processed
22027800Request In ProgressTransaction still on process
34007801Invalid Field FormatInvalid format for certain field
44007802Invalid Mandatory FieldMissing or invalid format on mandatory field
54017800Unauthorized [reason]General unauthorized error
64017801Invalid Token (B2B)Authorization token are invalid, perhaps due to token expiry for B2B
74037802Exceeds Transaction Amount LimitAmount exceed limits
84037814Insufficient FundsInsufficient fund to do refund
94047800Invalid Transaction StatusInvalid transaction status
104047808Invalid MerchantMerchant does not exist or status abnormal
114047812Invalid Bill/Virtual Account
  • The bill is blocked/ suspended/not found
  • Virtual account is suspend/not found
124047813Invalid AmountInvalid amount to do refund
134097801Duplicate partnerRefundNoDuplicate partnerRefundNo
145007802Backend system failure500 internal server error