QRIS Merchant Presented Mode (MPM) Dinamis Notification
Informasi API
|
Title |
QRIS Dinamis - MPM Notification |
|---|---|
|
Version |
v1.1 |
|
URL Sandbox |
provided by partners |
|
URL Production |
provided by partners |
Version Control
|
Versi Dok |
Versi API |
Tanggal |
Link ke Dokumentasi |
Deskripsi |
|---|---|---|---|---|
|
v1.0 |
v1.1 |
19 Februari 2024 |
Halaman ini |
Baseline version |
Deskripsi Produk
Product Overview
Dokumen ini bertujuan untuk menjelaskan spesifikasi API dari pengembangan QRIS Dinamis - MPM Notification dengan skema merchant mengeluarkan QRIS, nasabah menggunakan alat untuk memindai / scan QRIS merchant. Kemudian dari BRI mengiriman notifikasi / callback sesuai dengan spesifikasi yang telah ditentukan.
Notify Payment QR MPM Dinamis
Endpoint Description
API Notify Payment QR MPM Dinamis digunakan untuk mengirimkan notify payment QR MPM Dinamis ke partner.
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 | Deskripsi |
|---|---|---|---|---|---|
| Content-Type | application/json | M | |||
| Authorization | Bearer token | M | - | ||
| X-SIGNATURE | signature | M | 64 |
Dengan algoritma asymmetric signature SHA256withRSA (Private_Key, stringToSign). stringToSign = client_ID + “|” + X- TIMESTAMP |
|
| X-TIMESTAMP | timestamp | M | - | Waktu lokal klien saat ini yyyy-MM- ddTHH:mm:ss.SSSTZD format | |
| ORIGIN | O | - | www.hostname.com | ||
| X-PARTNER-ID | M | ID Partner yang diprovide oleh partner | |||
| X-EXTERNAL-ID | M | ID External yang bersifat unik pada setiap transaksi | |||
| X-IP-ADDRESS | O | IP Address Perangkat | |||
| X-DEVICE-ID | O | ID Perangkat | |||
| X-LATITUDE | O | Latitude Perangkat | |||
| X-LONGTITUDE | O | Longtitude Perangkat | |||
| CHANNEL-ID | O | ID Channel |
Request Structure
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| originalReferenceNo | String | M | 12 | Nomor identifikasi transaksi pada sistem penyedia layanan | 123456123456 |
| originalPartnerReferenceNo | String | M | 6 | Nomor identifikasi transaksi pada sistem layanan konsumen dikirim 6 digit terakhir | 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 | Deskripsi dari status transaksi | success |
| customerNumber | String | M | 64 | Nomor rekening konsumen | 6281388370001 |
| accountType | String | O | 25 | Jenis akun | tabungan |
| destinationAccountName | String | M | 25 | Nama pemilik rekening tujuan | John Doe |
| amount | Object | M | Detail isian dari object amount terdapat pada tabel dibawah ini | ||
| bankCode | String | O | 8 | Kode Bank | 002 |
| additionalInfo | Object | O | Detail isian dari object additionalInfo terdapat pada tabel dibawah ini |
Request Structure dalam Object "amount"
| Field | Data Type | Mandatory | Length | Description | Example |
|---|---|---|---|---|---|
| value | Decimal | M | 18 | Jumlah bersih dari transaksi. Jika itu IDR maka nilainya termasuk 2 angka desimal. misalnya Rp 10.000,- akan ditempatkan dengan 10000.00 |
123456.00 |
| currency | String | M | 3 | 3 digit kode ISO 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 |
Kode response |
2005200 |
| responseMessage | String | M | 150 | Deskripsi response | Request has been processed successfully |
| AdditionalInfo | Object | O | Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah | 110002756582 |
Response 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 |
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 | Sukses |
Successful |
Sukses |
| 400 | 52 | 01 | Gagal | Invalid Field Format {field name} | Invalid Format |
| 400 | 52 | 02 | Gagal | Invalid Mandatory Field {field name} | Missing or invalid format on mandatory field |
| 500 | 52 | 00 | Gagal | General Error | General Error |
| 500 | 52 | 01 | Gagal | Internal Server Error | Retrieve Data Failed or Database Error |
| 504 | 52 | 00 | Gagal | Timeout | timeout from the issuer |