Winpay — QRIS
Gerbang Pay menyediakan layanan pembuatan QRIS MPM Dynamic via Winpay. QRIS ini unik untuk setiap transaksi (nominal sudah terisi) sehingga pelanggan tidak bisa mengubah jumlah yang harus dibayar.
Cara Pembuatan (Create)
Untuk membuat QRIS, set method_type menjadi qris dan berikan method_detail dengan type: qris. Tidak ada channel atau bank spesifik yang perlu dipilih, karena QRIS bersifat universal (dapat di-scan oleh aplikasi m-banking atau e-wallet apa pun yang tergabung dalam jaringan QRIS).
http
POST /v1/payments/createjson
{
"amount": 2500000,
"currency": "IDR",
"method_type": "qris",
"method_detail": {
"type": "qris"
},
"customer_name": "Budi Santoso",
"expiry_minutes": 15
}Catatan Penting Request
- Amount: Gunakan format sen (
2500000= Rp 25.000). - Expiry Minimal: Winpay mewajibkan batas waktu minimal 2 menit untuk QRIS. Jika Anda mengirim
expiry_minuteskurang dari 2, API akan menolak request tersebut dengan error validasi.
Response
Jika berhasil, Anda akan menerima response berupa objek Payment dengan method_data yang berisi data QRIS.
json
{
"success": true,
"data": {
"id": "...",
"status": "pending",
"method_data": {
"type": "qris",
"qr_string": "00020101021126660016ID.CO.WINPAY.WWW0118936009121111979927021111119799270303UMI51440014ID.CO.QRIS.WWW0215ID10200214693950303UMI5204481453033605406250.005802ID5913GERBANG PAY6008JAKARTA61051234562300109TX-1234560709TX-1234566304CA11",
"qr_image_url": "https://gerbang-pay-api.gai.co.id/qr/image?data=000201..."
}
}
}Cara Menampilkan QR Code ke Pelanggan
Ada dua pendekatan yang dapat Anda gunakan di frontend:
Gunakan
qr_string(Direkomendasikan)- String ini adalah raw payload QRIS standar. Anda dapat merendernya menjadi gambar QR Code secara langsung di aplikasi atau web Anda menggunakan library QR generator lokal (misal:
qrcode.react,zxing, atau sejenisnya). - Cara ini paling cepat dan aman.
- String ini adalah raw payload QRIS standar. Anda dapat merendernya menjadi gambar QR Code secara langsung di aplikasi atau web Anda menggunakan library QR generator lokal (misal:
Gunakan
qr_image_url(Alternatif)- Jika Anda tidak ingin/bisa merender QR code secara lokal di client, Anda bisa menggunakan URL gambar yang disediakan oleh Gerbang Pay. Cukup pasang string URL tersebut di tag
<img src="...">.
- Jika Anda tidak ingin/bisa merender QR code secara lokal di client, Anda bisa menggunakan URL gambar yang disediakan oleh Gerbang Pay. Cukup pasang string URL tersebut di tag
Alur Pembayaran End-to-End
- Aplikasi Klien: Mengirim
POST /v1/payments/createdengan methodqris. - Gerbang Pay: Mengembalikan
qr_string. - Aplikasi Klien: Merender QR Code di layar.
- Pelanggan: Membuka aplikasi e-wallet (DANA, OVO, GoPay) atau M-Banking dan memindai (scan) QR code tersebut. Nominal akan langsung muncul di HP pelanggan.
- Pelanggan: Memasukkan PIN/konfirmasi pembayaran.
- Winpay: Mendeteksi dana masuk dan mengirim callback ke Gerbang Pay.
- Gerbang Pay: Mengubah status transaksi menjadi
paiddan mengirimkan Webhook ke server Anda.