QRIS statis → dinamis
Tanamkan nominal, biaya layanan, dan nomor referensi ke QRIS statis. Library TypeScript tanpa dependency, API gratis, dan generator yang berjalan sepenuhnya di browser Anda.
Generator
Semua diproses di browser — QRIS Anda tidak dikirim ke server mana pun.
1. QRIS statis
Hasil QR muncul di sini
Library
Zero dependency, jalan di Node, Bun, browser, dan Cloudflare Workers. ESM + CJS + tipe TypeScript.
npm i qrisnamisimport { toDynamicQRIS, parseQRIS } from 'qrisnamis'
const dynamic = toDynamicQRIS(staticQris, {
amount: 15000,
referenceId: 'INV-0001', // opsional, tag 62.03 (maks 25)
fee: { type: 'fixed', value: 500 } // opsional: fixed | percent | prompt
})
parseQRIS(dynamic).merchant // { name, city, nmid, ... }import { decodeQRISImage } from 'qrisnamis/image' // butuh: npm i zxing-wasm
const { payload, info } = await decodeQRISImage(file) // Blob | File | Uint8Array | ...Tutorial alur lengkap → gambar QRIS → string → dinamis → gambar, lengkap dengan contoh Node, browser, Express, Next.js, Workers, dan curl. Referensi API.
toDynamicQRIS— ubah statis ke dinamis (nominal, fee 55/56/57, referensi 62.03) dengan validasi CRC.parseQRIS/validateQRIS— baca info merchant, NMID, dan cek CRC.decodeQRISImage(qrisnamis/image) — baca QRIS dari gambar.QRISError— kode error jelas:INVALID_CRC,INVALID_AMOUNT, dst.
API
Gratis dan stateless. Coba langsung di API Playground.
POST /api/dynamic— payload dinamisPOST /api/parse— parse & validasiGET /api/qr— gambar QR (format=svg|png), bisa dipakai di<img>POST /api/decode— baca payload QRIS dari gambar (maks 1 MB); untuk membuat dinamis, lanjutkan ke/api/dynamic
curl -X POST https://<domain-anda>/api/dynamic \
-H 'content-type: application/json' \
-d '{"qris":"000201...","amount":15000}'Dengan memakai API ini Anda menyetujui Syarat Penggunaan. Tidak ada jaminan ketersediaan.