DocumentationRecipesAPI ReferenceChangelog
Documentation

QR Payment Refund

POST/snap/v{version}/qr/qr-mpm-refund

Use this API to initiate a refund against a successful payment. The refund can be full or partial. A transaction can have multiple refunds as long as the total refund amount is less than or equal to the original transaction amount.

Structure

A message consists of a header and body. The following sections are focused on the body structure. For the header structure, see:


Request Parameters

originalPartnerReferenceNo String Required

Original invoice number that will was used during payment.


partnerReferenceNo String Required

Unique invoice number to identify the order cancellation on the merchant side


merchantId String Required

Unique merchant ID that is registered with 2C2P


refundAmount Object Required

Show Child Parameters

value String Required

The value of the amount as a positive integer in the smallest currency unit.
For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 1.00
or if the currency is IDR and the amount is IDR 10000, set the value of this parameter to 10000

currency String Required

Transaction currency code in 3 alphabetical values as specified in ISO 4217.

If the value is empty, the system will use the merchant's base currency



Response Parameters

responseCode String Required

Response code.

Possible values are listed in the response codes table on this page.


responseMessage String Required

Response message that explains the response code.


additionalInfo Object

Show Child Parameters

explanation String

Note: This field is returned when additionalInfo is returned.

Version String

API Version used

timestamp String

Request transaction datetime

Note: Datetime format yyyyMMddHHmmss

processType String

"R"

originalPartnerReferenceNo String

Original invoice number that will was used during payment.

amount String

The value of the amount as a positive integer in the smallest currency unit.
For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 1.00
or if the currency is IDR and the amount is IDR 10000, set the value of this parameter to 10000

status String

Original invoice number that will was used during payment.

approvalCode String

Approval code from acquirer

referenceNo String

Original invoice number that will was used during payment.

transactionDateTime String

Original transaction datetime

Note: Datetime format yyyyMMddHHmmss

paymentScheme String

Refer to Payment Scheme / Process by List

processBy String

Refer to Payment Scheme / Process by List

latestTransactionStatus String

Transaction Status

  • SUCCESS = "00"
  • PENDING = "03"
  • REFUNDED = "04"
  • CANCELED = "05"
  • FAILED = "06"
  • NOT_FOUND = "07"
  • EXPIRY = "08"
  • REJECTED = "09"