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.

Halaman ini publik dan tidak memerlukan login — dibuat supaya tim developer bisa membaca kontrak API sebelum akun integrasi mereka diaktifkan. Tidak ada kredensial, secret, atau data klien sungguhan yang ditampilkan di halaman ini.

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

POST
https://payment.suryadigital.id/api/create_payment

Membuat link pembayaran Mayar sekaligus draft invoice otomatis di sistem pusat. Gunakan endpoint ini setiap kali Anda perlu menagih pelanggan.

FieldTipeKet.
reference_idstringwajib — harus diawali Prefix Reference ID akun Anda, mis. TOKO-ABC-INV-001
itemsarraywajib — daftar {desc, qty, price}, total dihitung otomatis
customer_name/email/phone/addressstringopsional
catatanstringopsional — tampil di struk tagihan
discountnumberopsional — nominal, bukan persen
tax_includedbooleanopsional — true jika harga di items sudah termasuk PPN 12%
redirect_urlstringopsional — tujuan setelah pelanggan sukses bayar
payment_methodstringopsional — kirim "qris" untuk batasi ke QRIS
Contoh Respons 200
{ "success": true, "data": { "reference_id": "TOKO-ABC-INV-001", "payment_link": "https://mayar.id/h/xxxxxxx", "invoice_link": "https://invoice.suryadigital.id/view/xxxxxxx" } }

Record Cashless

POST
https://payment.suryadigital.id/api/record_cashless

Mencatat omset saat pelanggan membayar pakai saldo/dompet internal aplikasi Anda (tanpa lewat Mayar sama sekali).

FieldTipeKet.
reference_idstringwajib
amountnumberwajib
itemsarraywajib — dipakai persis sebagai rincian invoice pusat
Kesalahan umum: lupa mengirim 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.

POST https://server-anda.com/webhook
{ "event": "payment.success", "data": { "id": "wh_123456", "reference_id": "TOKO-ABC-INV-001", "amount": 100000, "status": "SUCCESS" } }

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.

SIMULASI — bukan panggilan sungguhan
// Klik "Jalankan (Simulasi)" untuk melihat hasilnya di sini.

© PT Surya Digital Nusantara — Dokumentasi ini dihasilkan mengikuti kode yang sebenarnya berjalan. Untuk aktivasi API Key sungguhan, hubungi Admin SDN.