Parse QRIS di POS Merchant: Tampilkan Nama Toko & Nominal dari Payload
Dekode string QRIS EMVCo untuk menampilkan merchant name, nominal, dan currency di aplikasi kasir atau payment switcher.

Aplikasi kasir yang scan QRIS statis perlu membaca payload EMVCo untuk menampilkan nama merchant dan nominal (jika dynamic) sebelum konfirmasi pembayaran. Menulis parser sendiri rentan salah interpretasi tag TLV.
API Util menyediakan POST /util/qris/parse yang mengembalikan field terstruktur dari string QRIS. Untuk QR statis yang perlu ditambah nominal, gunakan POST /util/qris/to-dynamic.
Endpoint
Base URL: https://use.apiindonesia.id/api/v1/util
| Method | Endpoint | Keterangan |
|---|---|---|
| POST | /qris/parse |
Parse payload QRIS ke objek JSON |
| POST | /qris/to-dynamic |
Ubah QR statis + amount menjadi payload dynamic |
curl -X POST "https://use.apiindonesia.id/api/v1/util/qris/parse" \
-H "x-api-key: aip_live_xxx" \
-H "Content-Type: application/json" \
-d '{"payload":"00020101021126550014ID.CO.QRIS..."}'
async function displayQrisPreview(payload) {
const res = await fetch('https://use.apiindonesia.id/api/v1/util/qris/parse', {
method: 'POST',
headers: {
'x-api-key': process.env.API_INDONESIA_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ payload }),
});
const { data } = await res.json();
return {
merchant: data.merchant_name,
amount: data.amount,
currency: data.currency,
};
}
Alur POS
- Scan QR → dapat string payload.
- Parse via API → tampilkan preview ke kasir.
- Jika static, kasir input nominal →
to-dynamic→ lanjut ke payment SDK.
FAQ
Apakah ini memproses pembayaran? Tidak — hanya parsing & generate payload; settlement tetap lewat acquirer Anda.
Data keluar server? Payload dikirim ke API Indonesia; jangan kirim data kartu — hanya string QRIS.
Mulai Sekarang
Dapatkan API key gratis di dashboard.apiindonesia.id/register dan pelajari parameter lengkap di docs.apiindonesia.id.
