🔗 WPI sebagai PGA Utama — Multi Website
WPI adalah PGA pusat. Banyak website/merchant dapat terhubung memakai API Key merchant masing-masing. WPI yang berbicara ke GS Pay menggunakan satu konfigurasi provider pusat; Authentication Key dan Secret GS Pay tidak pernah diberikan ke merchant.
Callback yang wajib dipasang di GS Pay Callback Settings
Dua URL tersebut adalah callback GS Pay → WPI. Setelah WPI menerima dan memverifikasi callback GS Pay, WPI meneruskan status ke Callback URL milik website merchant yang diatur di panel WPI.
Callback milik website merchant
Merchant memasukkan URL callback HTTPS miliknya di panel WPI. WPI mengirim header X-WPI-Signature dan X-WPI-Callback-ID; Callback Secret merchant tidak dibagikan ke GS Pay.
Dokumentasi API WPI untuk Merchant
Panduan resmi integrasi Merchant dengan WPI untuk QRIS, Payment, Callback, Payout/Withdraw, dan cek status transaksi. Dokumentasi ini sengaja hanya membahas API WPI yang perlu digunakan Merchant; detail provider pembayaran internal tidak ditampilkan.
1. Credential Merchant
Merchant cukup menggunakan credential yang diberikan WPI:
API Key dikirim pada header Authorization. Jangan menaruh API Key atau Callback Secret di JavaScript/frontend.
2. Cara Kerja WPI
- Situs Merchant membuat transaksi dengan transaction_id dan User ID pemain.
- Server Merchant mengirim request Payment ke WPI menggunakan API Key.
- WPI memproses pembayaran QRIS secara terpusat dan mengelola status transaksi.
- Customer diarahkan ke halaman pembayaran WPI.
- Setelah pembayaran terkonfirmasi, WPI mengirim webhook ke Callback URL Merchant.
- Merchant memverifikasi X-WPI-Signature menggunakan Callback Secret lalu memperbarui status order/User ID.
Contoh User ID: kunfayakun12
3. Payment — Buat Deposit
Nilai transaction_id adalah ID order milik Merchant, 5–20 karakter. player_username adalah User ID customer, contoh kunfayakun12.
Contoh response
Merchant cukup mengarahkan customer ke checkout_url. Customer kemudian menyelesaikan pembayaran di halaman WPI.
4. 1-Way Redirect Payment
Jika Merchant ingin customer otomatis kembali ke halaman Merchant setelah proses pembayaran selesai, kirim return_url saat membuat payment. WPI akan meneruskan parameter return ke payment URL provider GS Pay.
Nilai return URL harus berupa URL HTTP/HTTPS yang valid. Jangan menaruh API Key atau Callback Secret pada URL tersebut.
5. Contoh Alur Payment
6. Payment — Cek Status
Contoh response
7. Callback Payment Merchant
Callback URL diisi oleh Merchant pada pengaturan akun WPI, misalnya:
Ketika status transaksi berubah, WPI mengirim JSON ke URL tersebut.
Contoh callback SUCCESS
Header keamanan callback:
Merchant harus menghitung HMAC-SHA256 dari raw JSON body menggunakan Callback Secret, lalu membandingkannya secara aman dengan X-WPI-Signature.
8. Payout / Withdraw
Request payout masuk antrean WPI dan diproses otomatis. Jangan mengirim transaksi yang sama berulang kali dengan transaction_id berbeda.
Contoh response
9. Cek Status Payout
Status payout dapat berupa pending, success, atau failed.
10. Callback Payout Merchant
Signature payout diverifikasi dengan cara yang sama: gunakan raw JSON body + Callback Secret dan cocokkan dengan header X-WPI-Signature.
11. Saldo Merchant
Endpoint ini menampilkan saldo finansial Merchant di WPI. Saldo internal WPI Merchant ditampilkan melalui endpoint yang diizinkan untuk akun Merchant. Informasi provider pembayaran internal tidak diberikan kepada Merchant.
12. Catatan Integrasi
- API Key yang sama dipakai untuk Payment, Payment Status, Payout, Payout Status, dan Balance.
- Callback Secret hanya untuk verifikasi webhook WPI ke server Merchant.
- Semua request API dilakukan dari server Merchant, bukan dari frontend/browser.
- Simpan API Key dan Callback Secret sebagai secret/environment variable.
- Gunakan transaction_id yang unik untuk setiap order.
- Jangan menganggap request Payment sukses hanya karena request API diterima; tunggu status transaksi atau callback SUCCESS.
- Callback harus idempotent: callback yang sama boleh diterima lebih dari sekali tanpa menambah saldo dua kali.