Skip to main content

Generate QR MPM

Spesifikasi

Tabel berikut adalah spesifikasi dari API ini :

API NameGenerate QR MPM
FunctionAPI ini digunakan untuk membuat QRIS dari pedagang ke Paydia sebagai akquirer
Service Code47
MethodPOST
URL/snap/v1.0/qr/qr-mpm-generate
Acceptapplication/json
Content Typeapplication/json
Related Service QRIS MPM (Acquirer)

Request

Bagian berikut akan menjelaskan tentang parameter permintaan dalam API ini:

Request Params

Tabel berikut adalah daftar parameter permintaan dalam API ini:

Tabel berikut adalah Header dari Parameter Permintaan :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariabel, maksimal 127 karakterMandatory-Jenis konten, nilai selalu application/json
2AuthorizationStringVariabelOpsionalJika opsi Signature menggunakan pendekatan asimetrisMengandung Token B2B Bearer JWT, Anda mendapatkannya dari Access Token B2B
3X-TIMESTAMPStringTetap, maksimal 25 karakterMandatory-Waktu tanggal transaksi, dalam format YYYY MM-DDTHH:mm:ss+07:00. Waktu harus dalam GMT+7 (waktu Jakarta)
4X-SIGNATUREStringVariabelMandatory-Signature akan dihasilkan secara otomatis dengan metode symmetricSignature atau asymmetricSignature
5X-PARTNER-IDStringVariabel, maksimal 36 karakterMandatory-ID untuk mitra yang dihasilkan oleh Paydia. ID unik untuk seorang mitra
6X-EXTERNAL-IDStringVariabel, maksimal 36 karakterMandatory-ID referensi pesan unik yang dihasilkan oleh pedagang. String numerik. Nomor referensi yang harus unik dalam satu hari yang sama
7CHANNEL-IDStringVariabel, maksimal 5 karakterMandatory-Identifikasi perangkat di mana layanan API saat ini diakses oleh pengguna akhir (pelanggan)

Header

Tabel berikut adalah isi dari Parameter Permintaan:

NoNameTypeLengthRequiredConditionRemarks
1merchantidStringVariabel, maksimal 64 karakterMandatory-Identifier pedagang yang unik untuk setiap pedagang
2storeIdStringVariabel, maksimal 64 karakterOpsional-ID toko unik di sisi pedagang
3terminalIdStringVariabel, maksimal 16 karakterOpsional-Identifier yang unik untuk setiap pedagang
4partnerReferenceNoStringVariabel, maksimal 64 karakterMandatory-ID transaksi dari pedagang
5amountMoneyVariabelMandatory-Mengandung dua sub-field:
  1. Nilai: Jumlah transaksi, termasuk sen
  2. Mata uang: Kode mata uang berdasarkan ISO
6feeAmountMoneyVariabelOpsional-Mengandung dua sub-field:
  1. Nilai: Jumlah transaksi, termasuk sen
  2. Mata uang: Kode mata uang berdasarkan ISO
7validityPeriodStringTetap, maksimal 25 karakterOpsional-Waktu kapan QRIS berlaku, dalam format YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam GMT+7 (waktu Jakarta)
8additionalInfoObjek JSONVariabelOpsional-Informasi tambahan yang mungkin Paydia kirimkan ke bank
9additionalInfo.callback StringVariabelOpsional-URL untuk menerima pemberitahuan pembayaran setelah pembayaran dilakukan oleh pelanggan

Contoh Request

Berikut ini adalah contoh permintaan dari API ini:

POST .../snap/v1.0/qr/qr-mpm-generate
X-TIMESTAMP: 2022-09-22T10:30:00+07:00
X-PARTNER-ID: 7c357677e7e02547ef33fafca165a574
X-SIGNATURE: I+dY/VYNhIT0+uJH+448GORGVSEG3LA43J9+U1JCxOcPxBPNxNoeXsFTN/oxnGxuEJfNC3J3aU2R3ZXHG/MT8pZM/uxSoR3TV1OUf2GdrNAeyT3zPQdNbIYTxcRmAJJUTGcr8vf132HhX+XLgi5pGyricngz11a5hlQOSprErlnGjnPvscEvhdhGku2hEo3zELEjIIxufU0jeOZlFVov6xZkrnCR03KR7R4h3erygTvQ1UhDspTDPYK/9w38d3uTCd1Siafol0HU9KcMkehu0IL2MiZDRnWtY6GPbDSHgHUkDrWt7RHV1yC0ZeGa1G4Kg/dk6hkzgk65Jlbo2vaTZg==
X-EXTERNAL-ID: 1663836108
CHANNEL-ID: 12345
Authorization: Bearer c21c6d65050592f401644b25c154f2c07eb2301eb1014f584ad216ee50ef6047
Content-Type: application/json
{
"merchantId": "220901002000000",
"storeId": "1663836108",
"terminalId": "Mevvah Komputer",
"partnerReferenceNo": "1663836108",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "0.00",
"currency": "IDR"
},
"validityPeriod": "2022-09-25T08:31:11+07:00",
"additionalInfo": {
"callback": "https://callback.site/"
}
}

Response

Bagian berikut akan menjelaskan tentang parameter Respon dalam API ini:

Response ParamsRespon

Tabel berikut adalah daftar parameter Respon dalam API ini:

Isi

Tabel berikut adalah isi Parameter Body Respon:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringTetap, maksimal 7 karakterMandatory-Lihat daftar kode Respon
2responseMessageStringVariabel, maksimal 150 karakterMandatory-Lihat daftar kode Respon
3referenceNoStringVariabel, maksimal 64 karakterOpsional-Identifier transaksi Paydia
4partnerReferenceNoStringVariabel, maksimal 64 karakterOpsional-ID transaksi dari pedagang
5qrContentStringVariabel, maksimal 512 karakterMandatory-QR String MPM
6merchantNameStringVariabel, maksimal 25 karakterOpsional-Nama pedagang
7storeIdStringVariabel, maksimal 64 karakterOpsional-ID toko unik di sisi pedagang
8terminalIdStringVariabel, maksimal 16 karakterOpsional-Identifier yang unik untuk setiap pedagang

Contoh Response

Berikut ini adalah contoh Respon dari API ini:

{
"responseCode": "2004700",
"responseMessage": "Successful",
"referenceNo": "220922000003",
"partnerReferenceNo": "2020102900000000000001",
"qrContent": "00020101021226650013ID.PAYDIA.WWW011893600818022090100202152209010020000000303UBE5204573453033605405100005802ID5917 MEVVAH KOMPUTER6013JAKARTA PUSAT610510710624201122209220000030715Mevvah Komputer0803api6304FAE0",
"merchantName": " Mevvah Komputer",
"storeId": "12345",
"terminalId": "Mevvah Komputer"
}

Response Code dan Response Message

Tabel berikut adalah daftar kode dan pesan Respon dari API Generate QR MPM:

NoResponse CodeResponse MessageRemarks
12004700SuccessfulBerhasil diproses
24004701Invalid Field FormatFormat tidak valid untuk bidang tertentu
34004702Invalid Mandatory FieldHilang atau format tidak valid pada bidang Mandatory
44014700Unauthorized {reason}Kesalahan umum yang tidak diizinkan
54014701Invalid Token (B2B)Token otorisasi tidak valid, mungkin karena kadaluarsa untuk B2B
64034702Exceeds Transaction Amount LimitJumlah melebihi batas
74044708Invalid MerchantPedagang tidak ada atau status abnormal
84094700ConflictTidak dapat menggunakan X-EXTERNAL-ID yang sama dalam satu hari yang sama
94094701Duplicate partnerReferenceNopartnerReferenceNo ganda
105004702Backend system failureKesalahan server internal 500