QRIS Merchant Presented Mode (MPM) Dinamis Notification
API Information
|
Title |
QRIS Dinamis - MPM Notification |
|---|---|
|
Version |
v1.1 |
|
URL Sandbox |
provided by partners |
|
URL Production |
provided by partners |
Version Control
|
Doc Version |
API Version |
Date |
Link to Document |
Description |
|---|---|---|---|---|
|
v1.0 |
v1.1 |
19 Februari 2024 |
Halaman ini |
Baseline version |
Product Description
Product Overview
This document aims to explain the API specifications of the development of Dynamic QRIS - MPM Notification with the scheme of merchants issuing QRIS, customers using tools to scan / scan merchant QRIS. Then from BRI sends a notification / callback in accordance with predetermined specifications.
Notify Payment QR MPM Dinamis
Endpoint Description
The Dynamic MPM QR Payment Notify API is used to send Dynamic MPM QR payment notifications to partners.
General Information
|
HTTP Method |
POST |
|---|---|
|
Path |
/snap/v1.1/qr/qr-mpm-notify |
|
Type Format |
JSON |
|
Authentication |
OAuth 2.0 |
Header Structure
| Key | Value | Format | Mandatory | Length | Description |
|---|---|---|---|---|---|
| Content-Type | application/json | M | |||
| Authorization | Bearer token | M | - | ||
| X-SIGNATURE | signature | M | 64 |
the asymmetric signature algorithm SHA256withRSA (Private_Key, stringToSign). stringToSign = client_ID + “|” + X- TIMESTAMP |
|
| X-TIMESTAMP | timestamp | M | - | Current client local time yyyy-MM- ddTHH:mm:ss.SSSTZD format | |
| ORIGIN | O | - | www.hostname.com | ||
| X-PARTNER-ID | M | Partner ID provided by the partner | |||
| X-EXTERNAL-ID | M | External ID that is unique to each transaction | |||
| X-IP-ADDRESS | O | IP Address of Device | |||
| X-DEVICE-ID | O | Device ID | |||
| X-LATITUDE | O | Device Latitude | |||
| X-LONGTITUDE | O | Device Longitude | |||
| CHANNEL-ID | O | ID Channel |
Request Structure
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| originalReferenceNo | String | M | 12 | Transaction identification number in the service provider's system | 123456123456 |
| originalPartnerReferenceNo | String | M | 6 | The last 6 digits of the transaction identification number sent to the customer service system | 123456 |
| latestTransactionStatus | String | O | 2 | 00 - Success 01 - Initiated 02 - Paying 03 - Pending 04 - Refunded 05 - Canceled 06 - Failed 07 - Not found |
00 |
| transactionStatusDesc | String | O | 50 | Description of the transaction status | success |
| customerNumber | String | M | 64 | Customer account number | 6281388370001 |
| accountType | String | O | 25 | Account type | tabungan |
| destinationAccountName | String | M | 25 | Name of the owner of the destination account | John Doe |
| amount | Object | M | The detailed contents of the object amount are in the table below | ||
| bankCode | String | O | 8 | Bank Code | 002 |
| additionalInfo | Object | O | Details of the contents of the additionalInfo object are in the table below |
Request Structure in Object "amount"
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| value | Decimal | M | 18 | The net amount of the transaction. If it is IDR then the value includes 2 decimal places. for example IDR 10,000,- will be placed with 10000.00 |
123456.00 |
| currency | String | M | 3 | 3 digit ISO code Currency | IDR |
Request Structure dalam Object "additionalinfo"
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| reffId | String | O |
ID Reff |
1001016773 | |
| issuerName | String | O | Nama issuer | GOPAY | |
| issuerRrn | String | O | Issuer RN | 110002756582 |
Response Structure
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| responseCode | String | M | 7 |
Code response |
2005200 |
| responseMessage | String | M | 150 | Response Description | Request has been processed successfully |
| AdditionalInfo | Object | O | The contents of this additionalInfo Object are described in the table below | 110002756582 |
Response Structure in Object "additionalinfo"
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| reffId | String | O |
ID Reff |
1001016773 | |
| issuerName | String | O | Nama issuer | GOPAY | |
| issuerRrn | String | O | Issuer RN | 110002756582 |
Request & Response Payload Sample
Request:
{
"originalReferenceNo":"2020102977770000000009",
"originalPartnerReferenceNo":"2020102900000000000001",
"latestTransactionStatus":"00",
"transactionStatusDesc":"success",
"customerNumber":"6281388370001",
"accountType": "tabungan",
"destinationAccountName": "John Doe",
"amount":
{
"value": "12345678.00",
"currency": "IDR"
},
"sessionID": "0UYEB77329002HY",
"bankCode": "002",
"externalStoreID":"124928924949487",
"additionalInfo":
{
"reffId": "1001016773",
"issuerName": "GOPAY",
"issuerRrn": "110002756582"
}
}
Normal Response:
{
"responseCode": "2005200",
"responseMessage": "Successfull",
"AdditionalInfo":
{
"reffId": "1001016773",
"issuerName": "GOPAY",
"issuerRrn": "110002756582"
}
}
List of Error/Response Code
| HTTP Status | Service Code | Code | Status | Response Description | Description |
|---|---|---|---|---|---|
| 200 | 52 | 00 | Success |
Successful |
Sukses |
| 400 | 52 | 01 | Failed | Invalid Field Format {field name} | Invalid Format |
| 400 | 52 | 02 | Failed | Invalid Mandatory Field {field name} | Missing or invalid format on mandatory field |
| 500 | 52 | 00 | Failed | General Error | General Error |
| 500 | 52 | 01 | Failed | Internal Server Error | Retrieve Data Failed or Database Error |
| 504 | 52 | 00 | Failed | Timeout | timeout from the issuer |