Overview
Per November 2021 Bank Indonesia telah meluncurkan Standar Nasional API Pembayaran (SNAP) sebagai standar nasional untuk layanan pembayaran berbasis API. Winpay sebagai payment gateway yang telah terdaftar di Bank Indonesia, telah mendukung SNAP API untuk mempermudah proses integrasi dengan merchant.
Apa itu SNAP API?
SNAP API adalah standar nasional untuk layanan pembayaran berbasis API yang dikeluarkan oleh Bank Indonesia. SNAP API memungkinkan merchant untuk mengintegrasikan layanan pembayaran ke dalam aplikasi mereka dengan lebih mudah dan cepat.
Sequence Diagram
Bagian berikut akan menjelaskan tentang detail teknis untuk setiap proses dalam layanan ini.
Description:
No | Proses | Dok Terkait | Deskripsi |
---|---|---|---|
1 | Generate Signature | Signature Generation | Sebelum anda melakukan request API Create VA anda diwajibkan untuk Generate Signature untuk kebutuhan Autentikasi pada API Create VA |
2 | Assign Signature to X-Signature Header | Signature yang sudah digenerate bisa ditaruh pada header X-Signature pada saat Create VA | |
3 | Completing Header & Body Request Create VA | Header & Body | Anda bisa melengkapi Header & Body sebelum melakukan Create VA |
4 | Request Create VA | Akun Virtual | Pada Step ini anda bisa melakukan request API Create VA guna mendapatkan Nomor Virtual Account |
5 | Response Virtual Account Number | Setelah Create VA anda akan mendapat VA Number untuk dibayarkan pada BANK terkait | |
6 | Payment (User) | User melakukan pembayaran pada bank terkait | |
7 | Payment (Bank) | Bank mengirimkan perintah pembayaran pada Winpay | |
8 | Response Success (Payment Bank) | Winpay meresponse pembayaran berhasil pada BANK | |
9 | Response Success (Payment User) | Bank meresponse pembayaran berhasil User | |
10 | Sending Payment Notification | Payment Callback | Setelah proses pembayaran dari User, ke BANK dan BANK ke Winpay selesai, Winpay akan mengirimkan notifikasi pembayaran pada merchant guna memberitahu merchant bahwa pembayaran pada VA tersebut sudah sukses |
Metode pembayaran yang didukung
SNAP API mendukung berbagai metode pembayaran, seperti:
Channel Code | Metode Pembayaran | Kategori API |
---|---|---|
QRIS | QRIS | QRIS |
SC | Speedcash | eWallet |
OVO | OVO | eWallet |
DANA | DANA | eWallet |
SPAY | ShopeePay | eWallet |
INDOMARET | Indomaret | Virtual Account |
ALFAMART | Alfamart / DAN+DAN / Lawson | Virtual Account |
BRI | Bank Rakyat Indonesia | Virtual Account |
BNI | Bank Negara Indonesia | Virtual Account |
BCA | Bank Central Asia | Virtual Account |
MANDIRI | Bank Mandiri | Virtual Account |
PERMATA | Bank Permata | Virtual Account |
BSI | Bank Syariah Indonesia | Virtual Account |
CIMB | Bank CIMB Niaga | Virtual Account |
SINARMAS | Bank Sinarmas | Virtual Account |
BNC | Bank Neo Commerce | Virtual Account |
BCAPC | BCA (Payment Code) | Virtual Account |
MANDIRIPC | Mandiri (Payment Code) | Virtual Account |
Standar Keamanan Transaksi
Untuk memastikan keamanan transaksi, SNAP API menggunakan standar keamanan yang telah ditetapkan oleh Bank Indonesia, yaitu dengan menggunakan signature dan enkripsi. Winpay menggunakan type Asymmetric Without Get Token
untuk menghasilkan signature, sehingga merchant tidak perlu melakukan request get token terlebih dahulu untuk membuat signature. Signature tersebut dikirimkan melalui header X-Signature
pada saat request.
Selain X-Signature, header wajib yang harus dikirimkan pada saat request adalah:
Header Name | Description |
---|---|
X-TIMESTAMP | Timestamp saat request dibuat |
X-SIGNATURE | Signature hasil generate dari merchant |
X-PARTNER-ID | Client key merchant |
X-EXTERNAL-ID | ID external merchant (tidak boleh sama di hari yang sama) |
CHANNEL-ID | Channel ID merchant |