QRIS Merchant Presented Mode (MPM) Statis

Permudah Bisnis Anda dengan BRIAPI

Tonton videonya dan lihat bagaimana BRIAPI dapat membuat bisnis Anda menjadi lebih efisien dengan Transfer Interbank BRI.

Buat API Sekarang

 

Apa itu QRIS Merchant Presented Mode (MPM) STATIS?

Quick Response Code Indonesian Standard atau disingkat QRIS (dibaca KRIS) adalah penyatuan berbagai macam QR dari berbagai Penyelenggara Jasa Sistem Pembayaran (PJSP) menggunakan QR Code. QRIS dikembangkan oleh industri sistem pembayaran bersama dengan Bank Indonesia agar proses transaksi dengan QR Code dapat lebih mudah, cepat, dan terjag​a keamanannya.

Dengan QRIS, seluruh aplikasi pembayaran dari Penyelenggara manapun baik bank dan nonbank yang digunakan masyarakat, dapat digunakan di seluruh toko, pedagang, warung, parkir, tiket wisata, donasi (merchant) berlogo QRIS, meskipun penyedia QRIS di merchant berbeda dengan penyedia aplikasi yang digunakan masyarakat.

QRIS Merchant Presented Mode (MPM) Statis sendiri adalah kode QR yang dapat dicetak dan digunakan terus menerus tanpa harus melakukan generate setiap ada transaksi dan bersifat open payment.

Contoh Penggunaan API QRIS Merchant Presented Mode (MPM) Statis

QRIS Merchant Presented Mode (MPM) Statis cocok digunakan pada merchant usaha mikro dan kecil yang tidak memiliki device seperti printer ataupun edc. Merchant hanya perlu mencetak kode QR selanjutnya dapat menerima pembayaran dari masyarakat menggunakan aplikasi penyelenggara manapun dengan cara melakuk​an scan, masukkan nominal, masukkan PIN dan klik bayar.

API Information

Title

QRIS Merchant Presented Mode (MPM) Statis

Version v1.0
URL Sandbox https//sandbox.partner.api.bri.co.id
URL Production https://partner.api.bri.co.id

Version Control

Versi Dok Versi API Tanggal Link Dokumen  Deskripsi
v1.0 v1.0 18 January 2022 Halaman ini Baseline version.

 

Product Description

Product Overview

API QRIS Statis digunakan untuk membuat kode QR yang dapat digunakan tanpa batas waktu sehingga cukup sekali cetak kode QR akan dapat digunakan terus menerus. QRIS statis sangat cocok digunakan untuk penggiat bisnis yang menginginkan pembayaran cashless tanpa harus repot menyediakan alat untuk generate kode QR setiap ada transaksi.

Endpoint

A.Authentication

BRIAPI menggunakan OAuth 2 framework sebagai proses otorisasi dalam menentukan hak akses pihak ketiga. Sebelum melakukan proses API request ke produk BRIAPI, Anda harus mendapatkan token dengan cara memanggil endpoint Get Token.

Sebagai tambahan penjagaan keamanan dalam setiap API request, BRIAPI menggunakan signature untuk memastikan bahwa data di dalam setiap request dan response tidak bisa dibajak dan ditiru oleh pengguna yang tidak sah. Signature ini dihasilkan dengan menggunakan algoritma SHA256-HMAC.

B.Generate URL

Endpoint Description

API Generate URL digunakan untuk generate url login ke system QRIS Statis.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-generate-url

Tipe Format

JSON

Authentication

OAuth 2.0 

Header Structure

 

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

ID Partner yang diprovide oleh partner

123123

X-EXTERNAL-ID

 

M

-

ID External yang bersifat unik pada setiap transaksi

098761

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

redirectUri

String

M

 

Redirect URL

https://thirdparty.co.id

state

String

M

 

State

121

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Kode response

2004700

responseMessage

String

M

-

Keterangan response

Successful

url

String

M

-

URL

http://xxx.xxx.xxx.xxx/qris-oauth/public/login? token=14c49711e04387cb00406f9d229d0361

additionalInfo

Object

M

-

Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah

 

Response Structure Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Jenis transaksi

generate_url

Request & Response Payload Sample

Request :

{
   "redirectUri": "https://thirdparty.co.id",
    "state":"121"
}

Normal Response :

{
    "responseCode":"2004700",
    "responseMessage":"Successful",
    "url": "https://sandbox.partner.api.bri.co.id/v1.0/qr-auth/login/a19038d2f97dcca85d34f5eadaa99aaf",
       "additionalinfo":
        {
        "trxType": "generate_url"
        }
  }

Error Response :

{
   "responseCode": "5004700",
   "responseMessage": "General Error"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Sukses generate url login ke system QRIS Statis.

500

5004700

Failed

General Error

General Error

500

5004701

Failed

Unknown Error

Error yang lainnya

Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan

C.Get Merchant Key

Get Merchant Key

Endpoint Description

API Get Merchant Key digunakan untuk get merchant key dari code hasil login.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-merchant-id

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

ID Partner yang diprovide oleh partner

123123

X-EXTERNAL-ID

 

M

-

ID External yang bersifat unik pada setiap transaksi

098761

Request Structure

 

Field

Data Type

Mandatory

Length

Description

Example

code

String

M

-

Kode

123456789012345678901

234567890AB

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Kode response

2004700

responseMessage

String

M

-

Keterangan response

success

merchantId

String

M

-

ID merchant

051035c359b7a5d2858568894065d7

20

createdDate

String

M

-

Waktu dibuat

2021-12-15 00:00:00

token

String

M

-

Token

2824dd9df782c7ec86773f128263a467

tokenExpired

String

M

-

Waktu kadaluarsa token

2021-12-31 01:10:23=

state

String

M

-

State

null

additionalInfo

Object

M

-

Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah

 

Response Structure Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Jenis Transaksi

get_mkey_by_token

mpan

String

M

-

MPAN

9360000200100971691

Request & Response Payload Sample

Request :


{
  "code":"123456789012345678901234567890AB"
}

Normal Response :

{
   "responseCode": "2004700",
    "responseMessage": "success",
    "merchantId": "051035c359b7a5d2858568894065d720",
    "createdDate": "2021-12-15 00:00:00",
    "token": "2824dd9df782c7ec86773f128263a467",
    "tokenExpired": "2021-12-31 01:10:23",
    "state": null,
    "additionalInfo": {
               "trxType": "get_mkey_by_token",
                 "mpan": "9360000200100971691",
       }
   }

Error Response :

{
    "responseCode": "4044708",
    "responseMessage": "Invalid Merchant"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Sukses get merchant key dari code hasil login

404

4044708

Failed

Invalid Merchant

Merchant tidak sesuai

500

5004701

Failed

Unknown Error

Error yang lainnya

Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan

D.Get QR By Merchant Key

Endpoint Description

API Get QR By Merchant Key digunakan untuk generate QR statis berdasarkan merchant key.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-generate-qr

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

ID Partner yang diprovide oleh partner

123123

X-EXTERNAL-ID

 

M

-

ID External yang bersifat unik pada setiap transaksi

098761

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

ID Merchant

223456789012345678901

234567890AB

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Kode response

2004700

responseMes sage

String

M

-

Keterangan response

Request has been processed successfully

referenceNo

String

M

-

Nomor referensi

2020102977770000000009

partnerRefere nceNo

String

M

-

Nomor referensi partner

2020102900000000000001

qrContent

String

M

-

Konten QR

https://www.investopedia.com/terms/q/quick-response-qr-code.asp

qrImage

String

M

-

Gambar QR

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhp cyByZWFzb24sIGJ1dCAuLi4=

merchantName

String

M

-

Nama merchant

Baso Malang

additionalInfo

Object

M

-

Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah

 

Response Structure Object "additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Jenis Transaksi

GetQRByMkey

merchantCity

String

M

-

Lokasi merchant

BANYUWANGI

Request & Response Payload Sample

Request :

{
"merchantId": "223456789012345678901234567890AB"
}

Normal Response :

{
    "responseCode": "2004700",

    "responseMessage": "Request has been processed successfully", 
    "referenceNo": "2020102977770000000009"
    "partnerReferenceNo": "2020102900000000000001",
    "qrContent": "https://www.investopedia.com/terms/q/quick-response-qr-code.asp",
    "qrImage": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=", 
    "merchantName": "Baso Malang",
     "additionalInfo":
      {
          "trxType": "GetQRByMkey", "merchantCity": "BANYUWANGI"
    }
}   

Error Response :

{
    "responseCode": "4044708", 
    "responseMessage": "Invalid Merchant"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Sukses generate QR statis berdasarkan merchant key

404

4044708

Failed

Invalid Merchant

Merchant tidak sesuai

500

5004701

Failed

Unknown Error

Error yang lainnya

Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan

E.List Transaction By Five Merchant Key

Endpoint Description

API List Transaction By Last Five Merchant Key digunakan untuk get lima data terakhir transaksi QRIS Statis.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-last-five-transaction

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

ID Partner yang diprovide oleh partner

123123

X-EXTERNAL-ID

 

M

-

ID External yang bersifat unik pada setiap transaksi

098761

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

ID Merchant

323456789012345678901

234567890AB

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Kode response

2004700

responseMessage

String

M

-

Keterangan response

Request has been processed successfully

transactionList

Array

M

-

Isian dari Array transactionList ini dijelaskan pada tabel dibawah

 

additionalInfo

Object

M

-

Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah

 

Response Structure Array"transactionList"

Field

Data Type

Mandatory

Length

Description

Example

trxDate

String

M

-

Waktu transaksi

2021-12-22 13:53:37

referenceNum

String

M

-

Nomor referensi

 

id

String

M

-

ID

1380149

trxAmount

String

M

-

Jumlah transaksi

20000

issName

String

M

-

Nama iss

 

invoiceNumber

String

M

-

Nomor invoice

 

cpan

String

M

-

cpan

 

Response Structure Object"additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Jenis Transaksi

ListTrxLastFive_mkey

Request & Response Payload Sample

Request :

  {
       "merchantId": "051035c359b7a5d2858568894065d720"
  }
{
       {
           "trxDate": "2021-12-22 13:53:37",
           "referenceNum": null, 
           "id": 1380149,
           "trxAmount": "20000", 
           "issName": null, 
           "invoiceNumber": "0", 
           "cpan": null
       }
       {
           "trxDate": "2021-12-22 13:49:47"
           "referenceNum": null, 
           "id": 1380148,
           "trxAmount" : "12000", 
           "issName": null, 
           "invoiceNumber": "0",
           "cpan": null
        }
       {
            "trxDate": "2021-12-22 13:48:39",
            "referenceNum": null, 
            "id": 1380147,
            "trxAmount": "12000", 
            "issName": null, 
            "invoiceNumber": null, 
            "cpan": null
       }
       {     
          "trxDate": "2021-12-22 13:46:06",
          "referenceNum": null, 
          "id": 1380146,
          "trxAmount": "10000",
          "issName": null, 
          "invoiceNumber": null, 
          "cpan": null
        }
        {
            "trxDate": "2021-12-21 14:43:00",
            "referenceNum": null, 
            "id": 1380138,
            "trxAmount": "125000", 
            "issName": null, 
            "invoiceNumber": "0", 
            "cpan": null
        }
  ]'           

Normal Response :

{
    "responseCode": "2004700",
    "responseMessage": "Request has been processed successfully",
    "transactionList":
}   

Error Response :

{
    "responseCode": "4044701", 
    "responseMessage": "Transaction Not Found"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Sukses mendapatkan lima data terakhir transaksi QRIS Statis.

404

4044701

Failed

Transaction Not Found

Transaksi tidak ditemukan

404

4044708

Failed

Invalid Merchant

Merchant tidak sesuai

400

4004700

Failed

Bad Request

Bad Request

500

5004701

Failed

Unknown Error

Error yang lainnya

Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan

F.List Transaction By Merchant Key

Endpoint Description

API List Transaction By Merchant Key digunakan untuk get get data transaksi QRIS Statis.

General Information

HTTP Method

POST

Path

/simulator/qr/qr-mpm-get-transaction

Type Format

JSON

Authentication

OAuth 2.0

Header Structure

Key

Value

Mandatory

Length

Description

Example

X-SIGNATURE

signature

M

64

-

 

X-TIMESTAMP

timestamp

M

-

ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.

2021-10-08T03:42:45.379Z

Content-Type

application/json

M

-

 

 

Authorization

Bearer token

M

-

 

 

X-PARTNER-ID

 

M

-

ID Partner yang diprovide oleh partner

123123

X-EXTERNAL-ID

 

M

-

ID External yang bersifat unik pada setiap transaksi

098761

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

merchantId

String

M

-

ID Merchant

423456789012345678901

234567890AF

page

String

M

-

Halaman

1

limit

String

M

-

Limit Halaman

10

dateFrom

String

M

-

Tanggal awal pencarian

2020-02-06

dateUntil

String

M

-

Tanggal akhir pencarian

2020-02-07

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Kode response

2004700

responseMessage

String

M

-

Keterangan response

Request has been processed successfully

transactionList

Array

M

-

Isian dari Array transactionList ini dijelaskan pada tabel dibawah

 

page

Object

M

-

Isian dari Object page ini dijelaskan pada tabel dibawah

 

additionalInfo

Object

M

-

Isian dari Object additionalInfo ini dijelaskan pada tabel di bawah

 

Response Structure Array"transactionList"

Field

Data Type

Mandatory

Length

Description

Example

trxDate

String

M

-

Waktu transaksi

2021-12-22 13:53:37

referenceNum

String

M

-

Nomor referensi

 

id

String

M

-

ID

1380149

trxAmount

String

M

-

Jumlah transaksi

20000

issName

String

M

-

Nama iss

 

invoiceNumber

String

M

-

Nomor invoice

 

cpan

String

M

-

cpan

 

Response Structure Object"page"

Field

Data Type

Mandatory

Length

Description

Example

totalRecord

Number

M

-

Total Data

5

totalPage

Number

M

-

Total Halaman

1

recordPerPage

String

M

-

Data per halaman

10

currentPage

String

M

-

Halaman saat ini

1

startRecord

Number

M

-

Dimulai dari data ke berapa

1

Response Structure Object"additionalInfo"

Field

Data Type

Mandatory

Length

Description

Example

trxType

String

M

-

Jenis Transaksi

ListTrxLastFive_mkey

Request & Response Payload Sample

Request :

{
      "merchantId":"423456789012345678901234567890AF",
      "page": "1",
      "limit":"10",`
      "dateFrom":"2020-02-06",
      "dateUntil":"2020-02-07"
}
    }
]'
 "page":
{
        "totalRecord": 5,
        "totalPage": 1,
        "recordPerPage": "10",
        "currentPage": "1",
        "startRecord": 1
       
}'
"additionalInfo":
{
           "trxType": "ListTrxLastFive_mkey"
}
}

Normal Response :

{
    "responseCode": "2004700",
    "responseMessage": "Request has been processed successfully",
    "transactionList":
    [

       {

         "trxDate": "2021-12-22 13:53:37",
         "referenceNum": null, 
         "id": 1380149,
         "trxAmount": "20000", 
         "issName": null,
         "invoiceNumber": "0", 
         "cpan": null
    
 },
    
 {
         "trxDate": "2021-12-22 13:49:47",
         "referenceNum": null, 
         "id": 1380148,
         "trxAmount": "12000", 
         "issName": null,
         "invoiceNumber": "0", 
         "cpan": null
      
},
      
{
         "trxDate": "2021-12-22 13:48:39",
         "referenceNum": null, 
         "id": 1380147,
         "trxAmount": "12000",
         "issName": null, 
         "invoiceNumber": 0, 
         "cpan": null
    
 },
    
  {
        "trxDate": "2021-12-22 13:46:06",
        "referenceNum": null, 
        "id": 1380146,
        "trxAmount": "10000", 
        "issName": null, 
        "invoiceNumber": 0, 
        "cpan": null
     
 },
      
{
       "trxDate": "2021-12-21 14:43:00",
        "referenceNum": null,
        "id": 1380138,
        "trxAmount": "125000", 
        "issName": null, 
        "invoiceNumber": "0",
        "cpan": null
    } 
],

 "page": 

{ 

"totalRecord": 5, 
"totalPage": 1, 
"recordPerPage": "10", 
"currentPage": "1", 
"startRecord": 1 

}, 

"additionalInfo": 

{ 

"trxType": "ListTrxLastFive_mkey" 

} 

}    

Error Response :

{
   "responseCode": "4044701", 
   "responseMessage": "Transaction Not Found"
}

List of Error/Response Code

HTTP Status

Code

Status

Response Description

Description

200

2004700

Success

Successful

Sukses mendapatkan data transaksi QRIS Statis

404

4044701

Failed

Transaction Not Found

Transaksi tidak ditemukan

404

4044708

Failed

Invalid Merchant

Merchant tidak sesuai

400

4004700

Failed

Bad Request

Bad Request

500

5004701

Failed

Unknown Error

Error yang lainnya

Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan