Integrasikan pembayaran QRIS ke aplikasi Anda dengan mudah menggunakan REST API ODZRESHOP.
Semua endpoint menggunakan prefix:
https://pg.odzreshop.id/api/v1
Header wajib untuk setiap request:
Authorization: Bearer {api_key}
{
"success": true|false,
"message": "...",
"data": {...}
}
Mengembalikan data profil user yang sedang login, termasuk saldo.
{
"success": true,
"message": "Profil ditemukan.",
"data": {
"name": "Nama User",
"email": "user@example.com",
"phone": "081234567890",
"balance": 500000,
"status": "active"
}
}
Membuat transaksi QRIS baru untuk customer Anda.
{
"nominal": 50000,
"expired_minutes": 30,
"webhook_url": "https://aplikasi-anda.com/callback"
}
{
"success": true,
"message": "Order dibuat.",
"data": {
"trx_id": "TRX-A1B2C3D4",
"reffid": "GOPAY-XXXX",
"nominal": 50000,
"unique_code": 187,
"nominal_display": 50187,
"qris_url": "https://...",
"qris_string": "000201010211...",
"expires_at": "2026-08-12T04:36:58.929Z"
}
}
Penting: Customer wajib membayar persis sejumlah nominal_display, bukan nominal. Kode unik digunakan untuk identifikasi pembayaran exact-match di mutasi GoPay.
Mengecek status transaksi milik user yang sedang login.
{
"success": true,
"message": "Status transaksi.",
"data": {
"trx_id": "TRX-A1B2C3D4",
"reffid": "GOPAY-XXXX",
"nominal": 50000,
"nominal_display": 50187,
"status": "success",
"expires_at": "2026-08-12T04:36:58.929Z",
"paid_at": "2026-08-12T04:40:00Z"
}
}
Saat pembayaran berhasil, ODZRESHOP akan mengirimkan POST request ke webhook_url yang Anda cantumkan saat create-payment.
{
"trx_id": "TRX-A1B2C3D4",
"reffid": "GOPAY-XXXX",
"status": "success",
"nominal": 50000,
"nominal_display": 50187,
"paid_at": "2026-08-12T04:40:00Z",
"signature": "hmac_sha256(payload, api_secret)"
}
Verifikasi webhook dengan menghitung HMAC SHA256 dari JSON payload menggunakan api_secret user.
pending — Menunggu pembayaransuccess — Pembayaran berhasil, saldo masukexpired — Melewati batas waktufailed — Gagal