Skip to main content

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.

"Sequence Diagram"

Description:

NoProsesDok TerkaitDeskripsi
1Generate SignatureSignature GenerationSebelum anda melakukan request API Create VA anda diwajibkan untuk Generate Signature untuk kebutuhan Autentikasi pada API Create VA
2Assign Signature to X-Signature HeaderSignature yang sudah digenerate bisa ditaruh pada header X-Signature pada saat Create VA
3Completing Header & Body Request Create VAHeader & BodyAnda bisa melengkapi Header & Body sebelum melakukan Create VA
4Request Create VAAkun VirtualPada Step ini anda bisa melakukan request API Create VA guna mendapatkan Nomor Virtual Account
5Response Virtual Account NumberSetelah Create VA anda akan mendapat VA Number untuk dibayarkan pada BANK terkait
6Payment (User)User melakukan pembayaran pada bank terkait
7Payment (Bank)Bank mengirimkan perintah pembayaran pada Winpay
8Response Success (Payment Bank)Winpay meresponse pembayaran berhasil pada BANK
9Response Success (Payment User)Bank meresponse pembayaran berhasil User
10Sending Payment NotificationPayment CallbackSetelah 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 CodeMetode PembayaranKategori API
QRISQRISQRIS
SCSpeedcasheWallet
OVOOVOeWallet
DANADANAeWallet
SPAYShopeePayeWallet
INDOMARETIndomaretVirtual Account
ALFAMARTAlfamart / DAN+DAN / LawsonVirtual Account
BRIBank Rakyat IndonesiaVirtual Account
BNIBank Negara IndonesiaVirtual Account
BCABank Central AsiaVirtual Account
MANDIRIBank MandiriVirtual Account
PERMATABank PermataVirtual Account
BSIBank Syariah IndonesiaVirtual Account
CIMBBank CIMB NiagaVirtual Account
SINARMASBank SinarmasVirtual Account
BNCBank Neo CommerceVirtual Account
BCAPCBCA (Payment Code)Virtual Account
MANDIRIPCMandiri (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 NameDescription
X-TIMESTAMPTimestamp saat request dibuat
X-SIGNATURESignature hasil generate dari merchant
X-PARTNER-IDClient key merchant
X-EXTERNAL-IDID external merchant (tidak boleh sama di hari yang sama)
CHANNEL-IDChannel ID merchant