Powerful QRIS Payment API

Integrasi pembayaran QRIS yang cepat, aman, dan mudah digunakan untuk multi-merchant dengan dokumentasi lengkap.

System Online
POSTPayments

Create QRIS Payment

Buat transaksi QRIS dinamis. Merchant disimpan otomatis & mengembalikan callback URL untuk didaftarkan ke dashboard Qiospay.

GETTransactions

Cek Mutasi QRIS

Ambil riwayat mutasi QRIS dari Qiospay. Transaksi pending yang cocok akan otomatis di-settle (FIFO).

GETSystem

Health Check

Periksa status layanan API, koneksi database, uptime server.

GETPPOB

H2H Transaction

Kirim transaksi PPOB (pulsa, paket data, listrik, dll) via Qiospay H2H dengan signature otomatis.

GETCatalog

Daftar Produk

Ambil daftar produk PPOB dari Qiospay (tanpa perlu kredensial). Filter berdasarkan nama atau kategori.

GETCatalog

Daftar Kategori

Ekstrak daftar kategori unik dari data produk Qiospay. Tidak memanggil API terpisah.

Documentation

1. Authentication

Semua endpoint (kecuali Health Check) mewajibkan header Authorization: Bearer <token>. Token diatur melalui environment variable API_BEARER_TOKEN di server.

Example HeaderJSON
"Authorization": "Bearer YOUR_API_BEARER_TOKEN"

2. Endpoints

POST

/api/qris/create

Membuat transaksi QRIS dinamis. Merchant akan didaftarkan otomatis jika belum ada.

Request Body (JSON):

{
  "merchant_code": "merchant123",
  "api_key": "qiospay_api_key_anda",
  "qris_static": "0002010102112663000000...",
  "amount": 50000,
  "description": "Topup saldo",
  "telegram_id": "123456789"
}

* Required: merchant_code, api_key, qris_static, amount  | Optional: description, telegram_id

Response: Menampilkan QR image URL & callback URL yang harus didaftarkan ke dashboard Qiospay (cukup sekali per merchant_code).
GET

/api/mutasi

Menarik mutasi QRIS dari Qiospay. Transaksi pending yang cocok (berdasarkan amount & merchant) akan di-settle secara FIFO.

/api/mutasi?merchant_code=merchant123&api_key=qiospay_api_key_anda

* Required query params: merchant_code, api_key

POST

/api/callback/accept/{merchant_code}.{secret}

Endpoint callback internal yang dipanggil otomatis oleh Qiospay saat dana masuk. URL ini diperoleh dari response Create QRIS.

/api/callback/accept/merchant123.abc123def456...

Tidak perlu dipanggil manual — daftarkan URL ini ke dashboard Qiospay.

GET

/api/health

Cek status server, koneksi database, dan uptime. Satu-satunya endpoint yang tidak memerlukan autentikasi.

{
  "status": "healthy",
  "db_latency_ms": 2,
  "uptime_s": 3600,
  "timestamp": "2026-07-10T..."
}
GET

/api/h2h/trx

Kirim transaksi PPOB (pulsa, paket data, token listrik, dll) ke Qiospay via H2H. Signature di-generate otomatis dari memberID, product, dest, refID, pin, dan password.

/api/h2h/trx?product=sp2&dest=085282756500&refID=ORDER-001&harga_max=3000

* Required: product, dest, refID  | Optional: memberID, pin, password, harga_max, sign

Response: Teks status transaksi dari Qiospay (sukses diproses / harga_max ditolak / error).
GET

/api/product

Ambil daftar produk PPOB dari Qiospay via endpoint admin/modules/mapping/harga/{page}/reseller. Mendukung filter lokal berdasarkan nama produk/kategori.

/api/product?produk=Telkomsel&kategori=pulsa&page=1

Optional query params: produk, kategori, page

{
  "data": [
    {
      "kode": "BYRTSELQM",
      "produk": "Telkomsel Omni",
      "harga": "2050",
      "status": "1"
    }
  ],
  "total": 100,
  "page": 1
}
GET

/api/category

Ekstrak kategori unik dari data produk Qiospay (diambil dari beberapa halaman). Tidak ada endpoint kategori terpisah di Qiospay.

/api/category?page=1&max_pages=5

Optional: page (default 1), max_pages (default 5)

[
  "Telkomsel Omni",
  "Indosat",
  "XL",
  "Token Listrik"
]