QRIS Merchant Presented Mode (MPM) Statis

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 API Tanggal Link Dokumen  Deskripsi
v1.0 18 January 2022 Halaman ini Baseline version.

Product Description

Product Overview

Materi Onboard: https://intip.in/materiqris

Dokumen ini bertujuan untuk menjelaskan spesifikasi API dari pengembangan QRIS Statis yang bertujuan untuk fasilitas open api untuk Merchant QRIS Statis BRI agar dapat digunakan pada Third Party App. Dikarenakan saat ini user dan password QRIS Statis masih mudah ditebak.

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

/v1.0/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

responseMes sage

String

M

-

Keterangan response

Successful

url

String

M

-

URL

http://10.35.65.136/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": "http://10.35.65.136/qris-oauth/public/login?token=14c49711e04387cb00406f9d229d0361",
    "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

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

/v1.0/qr/qr-mpm-get-merchant-key

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

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

/v1.0/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

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

/v1.0/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

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

/v1.0/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