Dokumentasi API
Panduan lengkap integrasi API pembayaran untuk aplikasi Anda.
A. Persiapan
Langkah pertama yang harus Anda lakukan adalah mendaftar dan login ke dashboard. Setelah itu, dapatkan API Key Anda di menu Profil untuk mulai mengintegrasikan sistem pembayaran ke aplikasi Anda.
B. Cek Saldo (Balance)
Gunakan endpoint ini untuk mendapatkan informasi saldo akun Anda secara real-time.
- Method: GET
- URL: /api/balance
Parameter:
- apikey (string, wajib)
Contoh Request:
/api/balance?apikey=YOUR_API_KEY
Contoh Response:
C. Membuat Invoice Baru
Endpoint ini digunakan untuk membuat invoice QRIS atau channel pembayaran Sakurupiah. QRIS sistem tetap menggunakan kode QRIS; channel lain menggunakan kode yang ditambahkan admin dari Sakurupiah.
- Method: GET atau POST
- URL: /api/invoice
Parameter:
- apikey (string, wajib)
- amount (integer, wajib)
- payment_code (string, opsional, default QRIS)
Contoh Request:
/api/invoice?apikey=YOUR_API_KEY&amount=50000&payment_code=BCAVA
Contoh Response:
C2. Daftar Channel Pembayaran
Ambil daftar kode payment yang aktif sebelum membuat invoice. Kode QRIS adalah channel permanen untuk QRIS Gopay/Orderkuota, sedangkan channel lain berasal dari Sakurupiah.
- Method: GET
- URL: /api/payment-channels
D. Cek Status Invoice
Setelah invoice dibuat, gunakan endpoint ini untuk mengecek apakah pembayaran telah berhasil atau belum. Endpoint yang sama berlaku untuk QRIS lama dan channel Sakurupiah.
- Method: GET
- URL: /api/invoice/status
Parameter:
- apikey (string, wajib)
- invoice_id (string, wajib)
Contoh Request:
/api/invoice/status?apikey=YOUR_API_KEY&invoice_id=YOUR_INVOICE_ID
Contoh Response:
E. Callback / Webhook Pembayaran
Isi Callback URL dan Whitelist IP di halaman Profil. Setelah pembayaran invoice berubah menjadi paid, sistem akan mengirim POST JSON otomatis ke URL milik Anda. Jika Callback URL kosong, callback tidak dikirim.
Contoh Callback URL:
https://domain.com/callback.php
Untuk mengamankan API, masukkan maksimal 4 IP di kolom Whitelist IP pada Profil dan pisahkan dengan koma. Jika dikosongkan, semua IP diizinkan. Nilai IP diproses tanpa slash atau backslash.
Method dan Header:
- Method: POST
- Content-Type: application/json
- X-Callback-Event: payment.success
Contoh Payload:
{
"success": true,
"event": "payment.success",
"status": "paid",
"invoice_id": "INV1234567",
"transaction_id": "TRX1234567",
"reference": "INV1234567",
"amount": 50000,
"fee": 500,
"total": 50500,
"payment_code": "QRIS",
"payment_name": "QRIS",
"payment_category": "qris",
"payment_provider": "qris",
"mutation_id": "mutation-id",
"paid_at": "2026-09-04T00:00:00.000Z"
}