Dokumentasi API

Semua endpoint mengembalikan JSON. Base URL: https://paynexa.web.id/api/v1

Autentikasi

Setiap request butuh API Key. Ambil dari halaman dasbor setelah masuk. Kirim lewat header atau query/body — pilih salah satu.

Header:  x-api-key: PNX_xxxxxxxxxxxxxxxxxxxx
Atau:    ?apikey=PNX_xxxxxxxxxxxxxxxxxxxx

Buat topup (QRIS)

Membuat permintaan pembayaran baru dan menghasilkan kode QRIS. QRIS berlaku 10 menit — pantau statusnya lewat endpoint cek status.

POST /api/v1/topup
Body (JSON)
ParameterWajibKeterangan
apikeyYaAPI Key kamu
nominalYaJumlah topup dalam Rupiah, minimal 1.000
Contoh respons
{
  "status": 200,
  "message": "Topup Created",
  "data": {
    "trxId": "TOPUP-1758000000000",
    "amount": 150000,
    "fee": 0,
    "totalTransfer": 150000,
    "expiry": 1758000600000,
    "qr_string": "000201010211..."
  }
}

Nilai qr_string adalah data mentah QRIS — ubah jadi gambar QR pakai library apa pun (misalnya qrcode di Node.js) untuk ditampilkan ke pelanggan.

Cek status

Pantau berkala (disarankan tiap 3–5 detik) sampai status berubah dari PENDING.

GET /api/v1/check-status?apikey=&idTransaksi=
ParameterWajibKeterangan
apikeyYaAPI Key kamu
idTransaksiYaNilai trxId dari respons buat topup
Status yang mungkin
StatusArti
PENDINGBelum dibayar, QRIS masih berlaku
SUCCESSSudah dibayar, saldo sudah masuk
EXPIREDLewat 10 menit tanpa pembayaran
CANCELEDDibatalkan lewat endpoint cancel atau dasbor

Batalkan topup

Hanya transaksi berstatus PENDING yang bisa dibatalkan.

POST /api/v1/topup/cancel
ParameterWajibKeterangan
apikeyYaAPI Key kamu
trxIdYaID transaksi yang mau dibatalkan

Buat withdraw

Menarik saldo ke e-wallet tujuan. Saldo langsung terpotong (nominal + fee) saat request dibuat; kalau provider gagal memproses, saldo otomatis dikembalikan.

POST /api/v1/withdraw
ParameterWajibKeterangan
apikeyYaAPI Key kamu
ewalletYadana, gopay, ovo, atau shopeepay
nomorYaNomor tujuan (format 08xxxxxxxxxx)
nominalYaJumlah yang ditarik, sesuai batas minimum/maksimum akun
Contoh respons (202 — sedang diproses)
{
  "status": 202,
  "message": "Withdraw sedang diproses",
  "data": { "trxId": "WD-1758000000000-42", "status": "PENDING" }
}

Cek status withdraw

GET /api/v1/withdraw/status?apikey=&trxId=
ParameterWajibKeterangan
apikeyYaAPI Key kamu
trxIdYaID transaksi withdraw