Base URL: api.rubystore.panzhub.my.id
Login
v1.0 — Live

RubyDexPay API Docs

Payment gateway API untuk generate QRIS dinamis, kode bayar minimarket, Virtual Account, cek e-wallet & bank, serta disbursement otomatis.

Base URL https://api.rubystore.panzhub.my.id
QRIS Dinamis
Generate QR Code pembayaran MPM, berlaku 5 menit
Retail & VA
Alfamart, Indomaret, Alfamidi & Virtual Account multi-bank
E-Wallet Cek
Verifikasi akun DANA, OVO, GoPay, ShopeePay, LinkAja
Disbursement
Kirim saldo ke e-wallet & rekening bank otomatis
Aman & Terenkripsi
RSA signature, HMAC-512, autentikasi API Key
JSON Response
Semua endpoint mengembalikan JSON terstruktur konsisten

Authentication

Setiap request wajib menyertakan API Key yang valid. API Key hanya diberikan kepada akun berstatus approved.

Cara 1 — Query Parameter
URL Parameter
?api_key=ck_live_xxx
Cara 2 — HTTP Header
Request Header
X-API-Key: ck_live_xxx
Jika API Key tidak disertakan maka server merespons 401. Jika tidak valid atau belum disetujui maka 403.
Contoh Request
curl "https://api.rubystore.panzhub.my.id/create-qr.php?amount=75000" \ -H "X-API-Key: ck_live_xxxxxxxxxxxx"

Create QR QRIS

Generate QRIS dinamis MPM. QR berlaku 5 menit sejak dibuat. Mendukung semua aplikasi pembayaran yang support QRIS.

GET
/create-qr.php
Generate QRIS dinamis untuk pembayaran langsung
Parameter Request
Parameter Tipe Keterangan Status
api_key string API Key akun Anda Wajib
amount float Nominal pembayaran dalam Rupiah. Harus lebih dari 0. Wajib
cURL
GET https://api.rubystore.panzhub.my.id/create-qr.php ?api_key=ck_live_xxxxxxxxxxxx &amount=75000
JSON
{ "success": true, "amount": "75000.00", "reference": "QR-12-1720000000", "qrImage": "https://rubystore.panzhub.my.id/qr/QR-12-1720000000.png", "qrContent": "00020101021226...", "payUrl": "https://rubystore.panzhub.my.id/pay.php?ref=QR-12-1720000000", "statusUrl": "https://rubystore.panzhub.my.id/check-status.php?ref=QR-12-1720000000", "expired": "5 minutes" }
JSON
{ "success": false, "error": "Amount must be greater than 0" }
Coba API
GET

Field Response
FieldKeterangan
referenceID unik transaksi, format QR-{userId}-{timestamp}
qrImageURL gambar QR Code siap tampil (PNG HD)
qrContentString QRIS raw untuk di-render sendiri
payUrlURL halaman pembayaran untuk ditampilkan ke pelanggan
statusUrlURL untuk mengecek status pembayaran
expiredDurasi QR berlaku sejak dibuat (5 menit)

Create Retail Payment

Generate kode bayar minimarket. Berlaku 24 jam sejak dibuat. Pelanggan membawa kode ke kasir.

GET
/create-retail.php
Generate kode bayar untuk minimarket mitra
Outlet tersedia:
ALFAMART INDOMARET ALFAMIDI
Parameter Request
ParameterTipeKeteranganStatus
api_keystringAPI Key akun AndaWajib
amountfloatNominal pembayaran. Minimal Rp 10.000Wajib
outletstringPilih outlet: ALFAMART, INDOMARET, atau ALFAMIDIWajib
order_idstringID order dari sistem Anda untuk referensi internalOpsional
cURL
GET https://api.rubystore.panzhub.my.id/create-retail.php ?api_key=ck_live_xxxxxxxxxxxx &amount=50000 &outlet=INDOMARET &order_id=ORDER-987
JSON
{ "success": true, "amount": "50000.00", "reference": "RT-12-1720000000", "order_id": "ORDER-987", "outlet": "INDOMARET", "paymentCode": "70012345678901", "bankRef": "INV202407001234", "payUrl": "https://rubystore.panzhub.my.id/pay.php?ref=RT-12-1720000000", "statusUrl": "https://rubystore.panzhub.my.id/cek-status.php?ref=RT-12-1720000000", "expired": "2024-07-04T10:00:00+07:00" }
JSON
{ "success": false, "error": "Minimal amount Rp 10.000" }
Coba API
GET

Create Virtual Account

Generate nomor Virtual Account (VA) multi-bank. Berlaku 24 jam. Pelanggan transfer ke nomor VA yang diterima.

GET
/create-va.php
Generate VA dinamis untuk pembayaran via transfer bank
Parameter Request
ParameterTipeKeteranganStatus
api_keystringAPI Key akun AndaWajib
amountfloatNominal pembayaran. Minimal Rp 10.000Wajib
bank_codestringKode bank tujuan. Lihat endpoint Bank Codes untuk daftar lengkap.Wajib
namestringNama pemilik VA. Default: nama akunOpsional
phonestringNomor HP pelangganOpsional
emailstringEmail pelangganOpsional
cURL
GET https://api.rubystore.panzhub.my.id/create-va.php ?api_key=ck_live_xxxxxxxxxxxx &amount=100000 &bank_code=014 &name=John+Doe &phone=08123456789
JSON
{ "success": true, "reference": "VA-12-1720000000", "amount": "100000.00", "bank_code": "014", "va_number": "88801412345678", "name": "John Doe", "expired": "2024-07-05T10:00:00+07:00", "statusUrl": "https://rubystore.panzhub.my.id/cek-status.php?ref=VA-12-1720000000" }
JSON
{ "success": false, "error": "bank_code required" }
Coba API
GET

Check E-Wallet / Bank

Verifikasi nomor e-wallet atau rekening bank sebelum melakukan transaksi. Mendukung DANA, OVO, GoPay, ShopeePay, LinkAja, dan semua bank.

GET
/check-ewallet.php
Verifikasi akun e-wallet atau rekening bank
Untuk cek e-wallet: gunakan parameter phone + method. Untuk cek rekening bank: gunakan parameter phone (nomor rekening) + bank_code.
Parameter Request
ParameterTipeKeteranganStatus
api_keystringAPI Key akun AndaWajib
phonestringNomor HP (e-wallet) atau nomor rekening (bank)Wajib
methodstringPilih: DANA, OVO, GOPAY, SHOPEEPAY, atau LINKAJAUntuk E-Wallet
bank_codestringKode bank (dari endpoint bank-codes). Gunakan ini untuk cek rekening bankUntuk Bank
cURL — Cek E-Wallet
GET https://api.rubystore.panzhub.my.id/check-ewallet.php ?api_key=ck_live_xxxxxxxxxxxx &phone=08123456789 &method=DANA
cURL — Cek Rekening Bank
GET https://api.rubystore.panzhub.my.id/check-ewallet.php ?api_key=ck_live_xxxxxxxxxxxx &phone=1234567890 &bank_code=014
JSON — E-Wallet
{ "success": true, "type": "ewallet", "reference": "INQ-1720000000", "phone": "08123456789", "method": "DANA", "customer_name": "John Doe", "response_code": "2005400", "response_msg": "Successful" }
JSON — Bank
{ "success": true, "type": "bank", "reference": "INQ-1720000001", "account_number": "1234567890", "bank_code": "014", "account_name": "JOHN DOE", "bank_name": "BANK BCA", "response_code": "2001700", "response_msg": "Successful" }
JSON
{ "success": false, "message": "Method tidak valid" }
Coba API
GET

Bank Codes

Daftar lengkap kode bank yang didukung. Gunakan nilai code untuk parameter bank_code di endpoint Create VA, Check E-Wallet, dan Withdraw.

GET
/check-bankcodes.php
Ambil daftar kode bank yang tersedia
Endpoint ini tidak memerlukan API Key. Dapat diakses langsung untuk mengambil daftar bank.
cURL
GET https://api.rubystore.panzhub.my.id/check-bankcodes.php
JSON — Array
[ { "name": "BANK BRI", "code": "002" }, { "name": "BANK MANDIRI", "code": "008" }, { "name": "BANK BNI", "code": "009" }, { "name": "BANK BCA", "code": "014" }, ... (130+ bank) ]
Bank Populer
002
Bank BRI
008
Bank Mandiri
009
Bank BNI
014
Bank BCA
011
Bank Danamon
013
Permata Bank
016
Bank BII
019
Bank Panin
200
Bank BTN
213
Bank BTPN
426
Bank Mega
451
BSM Syariah
441
Bank Bukopin
147
Bank Muamalat
110
Bank Jabar
111
Bank DKI
950
Bank Commonwealth
022
Bank CIMB Niaga

Withdraw / Disbursement

Kirim saldo ke rekening bank atau e-wallet. Biaya admin Rp 3.000 per transaksi. Minimal withdraw Rp 20.000.

GET
/withdraw.php
Disbursement ke bank atau e-wallet secara otomatis
Saldo akan langsung terpotong saat request dikirim. Pastikan data rekening/e-wallet sudah benar sebelum melakukan request.
Parameter Request
ParameterTipeKeteranganStatus
api_keystringAPI Key akun AndaWajib
amountfloatJumlah withdraw (termasuk fee Rp 3.000). Minimal Rp 20.000Wajib
methodstringKode bank (misal: BANK014) atau e-wallet (DANA, OVO, GOPAY, SHOPEEPAY, LINKAJA)Wajib
accountstringNomor rekening tujuan (untuk transfer bank)Untuk Bank
bank_codestringKode bank tujuan (untuk transfer bank)Untuk Bank
phonestringNomor HP tujuan (untuk e-wallet)Untuk E-Wallet
cURL — Transfer Bank
GET https://api.rubystore.panzhub.my.id/withdraw.php ?api_key=ck_live_xxxxxxxxxxxx &amount=50000 &method=BANK &account=1234567890 &bank_code=014
cURL — E-Wallet
GET https://api.rubystore.panzhub.my.id/withdraw.php ?api_key=ck_live_xxxxxxxxxxxx &amount=50000 &method=DANA &phone=08123456789
JSON
{ "success": true, "reference": "WD-12-1720000000", "amount": "50000.00", "fee": 3000, "net_amount": "47000.00", "method": "DANA", "phone": "08123456789", "status": "success", "gateway_ref": "GW-REF-1234" }
JSON
{ "success": false, "error": "Saldo tidak cukup" }
Coba API
GET

Error Codes

Semua error dikembalikan dalam format JSON dengan success: false dan field error atau message.

HTTP Code Penyebab
400 Parameter kurang, tidak valid, atau amount terlalu kecil
401 API Key tidak disertakan dalam request
403 API Key tidak valid atau akun belum disetujui (status bukan approved)
500 Internal server error — masalah pada database atau server
502 Gagal mendapatkan token atau data dari upstream payment gateway
Contoh Respons Error
HTTP/1.1 403 Forbidden Content-Type: application/json { "success": false, "error": "Invalid or unauthorized API key" }
Pastikan status akun Anda approved di dashboard. API Key dengan status pending atau disabled akan selalu mengembalikan 403.