Dokumentasi API Payment Hub
Payment Gateway B2B milik PT Surya Digital Nusantara — satu pintu integrasi pembayaran (Mayar), pembuatan invoice otomatis, dan notifikasi webhook untuk seluruh aplikasi di ekosistem SDN.
Autentikasi
Setiap panggilan ke endpoint /api/* wajib menyertakan header Authorization: Bearer [API_KEY_ANDA]. API Key bersifat unik per klien dan tidak bisa dihitung/ditebak sendiri — diberikan oleh Admin SDN setelah pengajuan integrasi Anda direview & disetujui (biasanya <1x24 jam).
Notifikasi webhook yang kami kirim ke server Anda (lihat bagian "Menerima Webhook") diverifikasi lewat header X-Callback-Token — nilai token ini juga diberikan terpisah oleh Admin SDN, bukan sesuatu yang Anda buat sendiri.
Create Payment
POSTMembuat link pembayaran Mayar sekaligus draft invoice otomatis di sistem pusat. Gunakan endpoint ini setiap kali Anda perlu menagih pelanggan.
| Field | Tipe | Ket. |
|---|---|---|
reference_id | string | wajib — harus diawali Prefix Reference ID akun Anda, mis. TOKO-ABC-INV-001 |
items | array | wajib — daftar {desc, qty, price}, total dihitung otomatis |
customer_name/email/phone/address | string | opsional |
catatan | string | opsional — tampil di struk tagihan |
discount | number | opsional — nominal, bukan persen |
tax_included | boolean | opsional — true jika harga di items sudah termasuk PPN 12% |
redirect_url | string | opsional — tujuan setelah pelanggan sukses bayar |
payment_method | string | opsional — kirim "qris" untuk batasi ke QRIS |
Record Cashless
POSTMencatat omset saat pelanggan membayar pakai saldo/dompet internal aplikasi Anda (tanpa lewat Mayar sama sekali).
| Field | Tipe | Ket. |
|---|---|---|
reference_id | string | wajib |
amount | number | wajib |
items | array | wajib — dipakai persis sebagai rincian invoice pusat |
items adalah penyebab paling sering permintaan ditolak 400 di endpoint ini — coba sendiri di Playground di bawah.Menerima Webhook
Saat pelanggan berhasil membayar, kami mengirim POST ke "Webhook URL Tujuan" yang Anda daftarkan (bukan endpoint yang Anda panggil). Verifikasi keasliannya lewat header X-Callback-Token.
Balas HTTP 200 setelah berhasil diproses. Kalau server Anda tidak merespons/down, kami otomatis mengantre & mencoba ulang secara berkala.
Playground
Coba format request & lihat bagaimana validasi bereaksi — 100% simulasi berjalan di browser Anda, tidak pernah mengirim apa pun ke server SDN.