Masalah yang diselesaikan
API privat provider tidak membawa order reference milik aplikasi Anda. Ketika seorang pembeli memindai QRIS statis merchant, feed transaksi hanya menampilkan nominal, waktu, dan status - tidak ada cara langsung untuk tahu pesanan mana yang dibayar. MerchantId menyelesaikannya dengan menjadikan nominal akhir sebagai pembeda. Setiap pesanan mendapat offset rupiah unik (baseAmount + offset), lalu QRIS dinamis dengan nominal itu ditanam ke tag EMV 54. Ketika transaksi dengan nominal itu muncul di feed, pesanannya teridentifikasi secara pasti.
Dua pekerjaan domain
- QRIS statis menjadi dinamis.
staticToDynamicQrismenyuntikkan nominal EMV tag54, membalik point-of-initiation dari statis ke dinamis, lalu menghitung ulang CRC. Lihat Utilitas QRIS. - Rekonsiliasi settlement.
PaymentServicemenarik feed transaksi, mencocokkan nominal/status/waktu/scope, lalu menandai pembayaranpaidatauexpired. Lihat Model pembayaran.
Provider bawaan
MerchantId menjadi registry untuk mendaftarkan adapter dan memilih provider aktif tanpa menyatukan detail autentikasi masing-masing provider. Lihat Komposisi multi-provider.
Karakteristik
- Nol dependency runtime. Memakai
fetchglobal dan primitive Web API. - ESM dan CommonJS. Kedua build tersedia dengan deklarasi tipe.
- Provider-neutral core.
coremendeklarasikan kontrak; adapter provider dan lapisan transport mengimplementasikannya. Dependency selalu mengarah ke dalam. - Lintas runtime. Node.js 18+, Cloudflare Workers, Vercel Edge, Deno, dan Bun memakai paket yang sama. Lihat Dukungan runtime.
Langkah berikutnya
Instalasi
Pasang paket dan verifikasi runtime.
Quickstart
Dari login sampai pembayaran pertama.
Konsep inti
Nominal unik, scope, dan siklus pembayaran.
Referensi API
Seluruh permukaan publik yang diekspor.