QR MPM Query
Terakhir diperbarui 29 Oktober 2025
| Path | /ordersnap/api/v1.0/qr/qr-mpm-query |
| HTTP Method | POST |
| Version | v1.0 |
| Service Code | 51 |
Request Header
| Field Name | Field Type | Mandatory | Field Description |
|---|---|---|---|
| Content-Type | String | M | Media type of the resource, i.e. application/json |
| Authorization | String | M | Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this from Access Token B2B API response. Read here |
| X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
| X-SIGNATURE | String | M | Created using symmetric signature HMAC_SHA512 algorithm. Read here |
| X-PARTNER-ID | String | M | API Key / Client ID merchant (Web Merchant > Pengaturan > System Setting > tab Security Key) |
| X-EXTERNAL-ID | String | M | Merchant’s unique ID per transaction request |
| CHANNEL-ID | String | M | PJP’s channel id. |
| Content-Type | application/json |
| Authorization | Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a |
| X-TIMESTAMP | 2023-07-06T14:12:50+07:00 |
| X-SIGNATURE | qoda1fa417c72d6b91c257e01e54fac824 |
| X-PARTNER-ID | 7fb118fb-2738-4886-9817-8a2c4de43001 |
| X-EXTERNAL-ID | 41807553358950093184162180797837 |
| CHANNEL-ID | 95221 |
Request Body
| Field Name | Field Type | Mandatory | Field Description |
|---|---|---|---|
| originalReferenceNo | String | M | Transaction identifier on service provider system. |
| serviceCode | String | M | Service Code |
{
"originalReferenceNo": "T24080000027",
"serviceCode": "47"
}Response Body
Field Name | Field Type | Mandatory | Field Description |
|---|---|---|---|
additionalInfo | Object | M | Additional Information |
additionalInfo.rrn | String | C | Retrieval Reference Number. Filled when the transaction is paid (latestTransactionStatus = "00") |
additionalInfo.cpan | String | C | Customer PAN / masked card number. Filled when the transaction is paid |
additionalInfo.issuerId | String | C | Issuer identifier of the acquirer, e.g. "93600001" |
additionalInfo.issuerName | String | C | Issuer name, e.g. "BCA" |
additionalInfo.issuerFullName | String | C | Issuer label, e.g. "93600001 - BCA" |
additionalInfo.customerDetails | Object | O | Customer details from the original transaction: email, firstName, lastName, phone |
additionalInfo.payerDetails | Object | C | Payer details: email, firstName, lastName, phone. When the transaction is not yet paid, these values are empty strings ("") |
amount | Object | M | Object Amount |
amount.value | String | M | Value total amount |
amount.currency | String | M | Currency |
latestTransactionStatus | String | M | Latest Transaction Status 00 (Success) 03 (Pending) 04 (Refunded) 08 (Expiry) |
originalExternalId | String | C | Original External-ID on header |
originalPartnerReferenceNo | String | M | Original transaction identifier on service consumer system |
originalReferenceNo | String | M | Original transaction identifier on service provider system |
paidTime | String | C(25) | Transaction date : ISO8601 YYYY-MMDDThh:mm:ss. Must befilled upon successful transaction |
responseCode | String(7) | M | Status code of transaction charge result |
responseMessage | String(150) | M | Description of transaction charge result |
serviceCode | String | M | Service Code |
terminalId | String | O | ID Terminal |
transactionStatusDesc | String | O | Description Transaction Status |
Example: unpaid transaction (latestTransactionStatus = "03")
{
"additionalInfo": {
"cancellationReason": "",
"channelType": "",
"expiryTime": "2024-08-23T07:44:11+07:00",
"paymentType": "",
"transactionType": "MERCHANT_TRANSACTION",
"rrn": "",
"cpan": "",
"issuerId": "",
"issuerName": "",
"issuerFullName": "",
"customerDetails": {
"email": "budiutomo@qoin.com",
"firstName": "Budi",
"lastName": "Utomo",
"phone": "081223323423"
},
"payerDetails": {
"email": "",
"firstName": "",
"lastName": "",
"phone": ""
}
},
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"latestTransactionStatus": "03",
"originalExternalId": "",
"originalPartnerReferenceNo": "240847003240847095",
"originalReferenceNo": "T24080680391",
"paidTime": "",
"responseCode": "2005100",
"responseMessage": "Successful",
"serviceCode": "47",
"terminalId": "",
"transactionStatusDesc": "Pending"
}Example: paid transaction (latestTransactionStatus = "00")
{
"additionalInfo": {
"cancellationReason": "",
"channelType": "",
"expiryTime": "2024-08-23T07:44:11+07:00",
"paymentType": "",
"transactionType": "MERCHANT_TRANSACTION",
"rrn": "261006123456",
"cpan": "936001234567890",
"issuerId": "93600001",
"issuerName": "BCA",
"issuerFullName": "93600001 - BCA",
"customerDetails": {
"email": "budiutomo@qoin.com",
"firstName": "Budi",
"lastName": "Utomo",
"phone": "081223323423"
},
"payerDetails": {
"email": "budiutomo@qoin.com",
"firstName": "Budi",
"lastName": "Utomo",
"phone": "081223323423"
}
},
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"latestTransactionStatus": "00",
"originalExternalId": "",
"originalPartnerReferenceNo": "240847003240847095",
"originalReferenceNo": "T24080680391",
"paidTime": "2024-08-23T07:45:02+07:00",
"responseCode": "2005100",
"responseMessage": "Successful",
"serviceCode": "47",
"terminalId": "",
"transactionStatusDesc": "Success"
}List Response Code
| Response Code | HTTP Status | Description |
|---|---|---|
| 2005100 | 200 | Successful |
| 4005101 | 400 | Invalid Field Format {field name} |
| 4005102 | 400 | Invalid Mandatory Field {field name} |
| 4015100 | 401 | Unauthorized. [Reason] |
| 4015101 | 401 | Invalid Token (B2B) |
| 4045101 | 404 | Transaction Not Found |
| 4095100 | 409 | Conflict |
| 5005100 | 500 | General Error |