Skip to main content

Qris Generate

Generate QRIS MPM

Service ini digunakan untuk membuat QRIS dengan metode Merchant Presented Mode (MPM).

Jenis QRIS

Pada Sistem kami terdapat 2 jenis QRIS yang kami sediakan yaitu QRIS Dinamis dan QRIS Statis:

QRIS Dinamis

Dokumen ini bertujuan untuk menjelaskan spesifikasi API dari pengembangan QRIS Dinamis - MPM dengan skema merchant mengeluarkan QRIS. Kemudian dari SpeedCash mengiriman notifikasi / callback sesuai dengan spesifikasi yang telah ditentukan.

QRIS Statis

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.

info

Jika ingin membuat QR secara dinamis maka wajib mengirimkan amount pada request body namun jika ingin membuat QR secara statis tidak perlu mengirim amount pada request body

Service Info

HTTP MethodPOST
Service Code47
Http MethodPOST
Path.../v1.0/qr/qr-mpm-generate
AuthenticationOAuth 2.0
Header NameTipe DataWajibDeskripsi
Content-TypeStringYapplication/json
X-TIMESTAMPStringYWaktu lokal klien saat ini yyyy-MM-ddTHH:mm:ss.SSSTZD format
X-PARTNER-IDStringYClient’s client_id (diberikan pada saat onboarding )
X-CHANNEL-IDStringYID channel merchant
X-SIGNATUREStringYDibuat dengan algoritma asymmetric with token : Signature Generation
X-EXTERNAL-IDStringYID external merchant (tidak boleh sama di hari yang sama)

Body

ParameterTipe DataWajibDeskripsi
terminalIdStringNID terminal
Length: 3-16
Allowed Chars: a-z A-Z 0-9 - _
partnerReferenceNoStringNUnik Id milik Partner
Length: 1-25
Allowed Chars: a-z A-Z 0-9
amountObjectCObjek amount (Wajib jika ingin membuat QR Dinamis)
valueStringYNilai transaksi
Length: 1-14
Allowed Chars: numeric
feeAmountObjectNObjek feeAmount (Tidak semua issuer support tips)
valueObjectNNilai transaksi
Length: 1-14
Allowed Chars: numeric
currencyStringYKode mata uang
Length: 3
Allowed Value: IDR
merchantIdStringYID unik yang dimiliki oleh setiap merchant
validityPeriodStringNWaktu Expired QRIS (yyyy-MM-ddTHH:mm:ss.SSSTZD format ), default 3 hari
descriptionStringNDeskripsi QRIS
additionalInfoObjectNInformasi tambahan.
feeTypeObjectNtipe fee
1 - free amount of fee
2 - fix amount
3 - fix percentage
tidak semua issuer support tips
{
"terminalId": "A01",
"partnerReferenceNo" : "5182732152",
"amount": {
"value": "9000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "1000.00",
"currency": "IDR"
},
"merchantId": "121xxxx",
"validityPeriod" : "2024-10-25T14:49:25+07:00",
"description" : "pembayaran jam tangan rolex",
"additionalInfo" : {
"feeType" : "2",
}

Response

ParameterTipe DataDeskripsi
responseCodeStringKode response
responseMessageStringPesan response
partnerReferenceNoStringUnik Id milik Partner
qrContentStringQR Payload
qrUrlStringQR Image Url
additionalInfoObjectInformasi tambahan.
qrIdStringKode unik QRIS
{
"responseCode": "2004700",
"responseMessage": "Successful",
"partnerReferenceNo": "5182732152",
"qrContent": "00020101021226760024ID.CO.SPEEDCASH.MERCHANT01189360081530340001920215ID10230000019220303UKE51440014ID.CO.QRIS.WWW0215ID10230000019320303UKE5204581253033605405154005802ID5916SETIA KAWAN SHOP6007BANDUNG6105402656234011051827321520509D100997860703A015502016304C986",
"qrUrl": "../show-qr?qr_id=337&merchant_id=121xxxx"
"additionalInfo": {
"qrId": "10099786"
}
}

List Response Code

Response CodeResponse MessageDescription
2004700Success
4004701Invalid field format { field name }
4014700Unauthorized. Invalid SignatureX-Signature salah
4094700Cannot use same X-EXTERNAL-ID in same dayX-External-ID sudah pernah digunakan di hari yang sama
4044701Bad RequestRequest header ada yang salah / kurang
4044700Unauthorized. Client Forbidden Access APIPartner tidak dapat mengakses api terkait
4034719Merchant BlacklistedMerchant telah di blacklist
4044708Invalid MerchantMerchantId tidak valid
5004701Internal Server ErrorTerjadi kesalahan di sistem internal