QRIS SNAP
Ikhtisar
Standar Nasional Open API Pembayaran (SNAP) adalah standar nasional pembayaran terbuka APIs yang ditetapkan oleh Bank Indonesia. Standar ini bertujuan untuk menumbuhkan industri sistem pembayaran yang sehat, kompetitif, dan inovatif sekaligus memastikan integrasi, interkoneksi, dan interoperabilitas infrastruktur pembayaran. Hal ini juga mempromosikan sistem pembayaran yang aman dan andal melalui standar keamanan, teknis, dan data yang jelas. SNAP memungkinkan praktik pasar yang konsisten, efisien, adil, dan sejalan dengan kemajuan sistem pembayaran global.
SNAP diresmikan melalui Keputusan Gubernur Bank Indonesia No. 23/10/KEP.GBI/2021 pada tanggal 16 Agustus 2021, yang memerlukan penerapan bertahap oleh semua penyedia pembayaran. Komponen utama mencakup pedoman tata kelola untuk menjaga konektivitas API dan spesifikasi teknis yang meningkatkan keandalan dan keamanan transaksi keuangan.
QRIS SNAP menggunakan aliran token akses B2B SNAP khusus. Mulailah dengan membuat SNAP access token, lalu gunakan token pembawa tersebut dengan pembuatan QRIS SNAP dan status APIs.
Cara Mendapatkan Kunci Publik SNAP Anda
Ikuti langkah-langkah berikut untuk membuat kunci publik SNAP Anda:
- Generate a private key:
Gunakan perintah:Code - Generate a public key:
Gunakan perintah:
Catatan: Penamaan -in (mis. rsa_private_key.pem) menentukan judul file yang sama dengan kunci pribadi yang dihasilkan pada langkah sebelumnya, untuk memastikan konsistensi.Code - Send your public key:
Bagikan file kunci publik yang dihasilkan (rsa_public_key.pem) dengan tim Brick. Tim Brick akan menyetel kunci publik SNAP Anda dan setelah kunci publik disetel, klien dapat mulai melakukan transaksi API berbasis SNAP.
Panduan Tanda Tangan X
X-SIGNATURE adalah tanda tangan asimetris yang menggunakan algoritma SHA256withRSA. Ini digunakan untuk mengamankan permintaan SNAP API.
| Tindakan | Dihasilkan oleh | Format stringToSign |
|---|---|---|
| Dapatkan Token Akses | SHA256denganRSA(Private_Key, stringToSign) | ID klien + "|" + X-TIMESTAMP |
| Hasilkan QRIS Dinamis | SHA256denganRSA(Private_Key, stringToSign) | Metode HTTP + ":" + EndpointUrl + ":" + Huruf Kecil(HexEncode(SHA-256(minify(RequestBody)))) + ":" + Stempel Waktu |
| Status untuk QRIS Dinamis | SHA256denganRSA(Private_Key, stringToSign) | Metode HTTP + ":" + EndpointUrl + ":" + Huruf Kecil(HexEncode(SHA-256(minify(RequestBody)))) + ":" + Stempel Waktu |
