QiosHub adalah lapisan payment gateway di atas QRIS Qiospay. Website/aplikasi Anda cukup memanggil API ini untuk membuat tagihan QRIS, dan akan menerima notifikasi webhook otomatis begitu pembeli membayar — tanpa perlu integrasi langsung ke Qiospay.
Base URL: https://payment.indojasa.my.id
Sertakan API key Anda (diberikan oleh penyedia layanan ini) di header Authorization pada setiap request:
POST /v1/transactions
| Field | Wajib | Keterangan |
|---|---|---|
| amount | Ya | Nominal tagihan dalam Rupiah (angka, minimal 500) |
| external_id | Tidak | ID order di sistem Anda sendiri, untuk pencocokan |
| description | Tidak | Keterangan singkat, tampil di halaman pembayaran |
| redirect_url | Tidak | URL untuk mengarahkan pembeli setelah bayar (opsional) |
Respons:
Tiga cara menampilkan QR ke pembeli, pilih sesuai kebutuhan:
| Field | Kapan dipakai |
|---|---|
| qris_string | Render QR sendiri di frontend Anda pakai library apa saja (mis. qrcode.js), full kontrol tampilan. |
| qr_widget_url | QR polos tanpa tampilan tambahan — tinggal <iframe src="..."> di halaman checkout Anda sendiri. |
| checkout_url | Halaman pembayaran siap pakai (redirect pembeli ke sini), tidak perlu kode tambahan sama sekali. |
qris_string dan qr_widget_url bernilai null kalau penyedia belum mengatur QRIS dinamis — dalam kondisi ini pakai checkout_url saja.
GET /v1/transactions/:id
Saat transaksi berubah menjadi paid, QiosHub mengirim POST ke Webhook URL yang Anda daftarkan, dengan header tanda tangan:
Contoh body webhook:
Verifikasi tanda tangan di server Anda dengan menghitung ulang HMAC-SHA256 dari body mentah memakai webhook secret, lalu bandingkan dengan header di atas sebelum memproses order sebagai lunas.
| Status | Arti |
|---|---|
| 401 | API key tidak ada / salah |
| 403 | Akun merchant sedang disuspend |
| 400 | Parameter tidak valid (mis. amount kosong) |
| 404 | Transaksi tidak ditemukan / bukan milik API key ini |