Dokumentasi API
Panduan lengkap integrasi API RonzzPay.
Daftar Endpoint
Memulai Integrasi
API RonzzPay menggunakan arsitektur RESTful. Semua request harus dikirimkan melalui HTTPS dan format response selalu berupa JSON. Ikuti langkah sederhana ini untuk memulai.
Integrasi Lebih Cepat dengan Postman
Gunakan workspace Postman kami untuk melihat detail endpoint, contoh request, dan mencoba API secara langsung untuk memudahkan integrasi.
Dapatkan API Key
Buka menu Pengaturan API di dashboard untuk menyalin API Key pribadi Anda.
Autentikasi
Sertakan api_key pada data yang dikirimkan ke setiap request endpoint API.
Integrasi Callback
Atur URL Callback agar sistem Anda menerima notifikasi instan saat transaksi sukses.
Keamanan API
Jangan pernah membagikan API Key Anda. Jika curiga bocor, segera Generate ulang di halaman Pengaturan API. Gunakan fitur Whitelist IP untuk keamanan maksimal.
Profile
Mendapatkan informasi dasar profil dan saldo akun.
https://pg.ronzzyt.id/api/profile
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE"
}
Contoh Response Sukses HTTP 200
{
"status": true,
"message": "Profil berhasil diambil.",
"data": {
"username": "sarah_m",
"name": "Sarah Meyer",
"email": "[email protected]",
"whatsapp": "08123456789",
"balance": 1500000,
"role": "User",
"created_at": "2025-01-15 08:30:00"
}
}
Create Transaction
Membangkitkan metode pembayaran seperti QRIS atau E-Wallet untuk menerima dana.
https://pg.ronzzyt.id/api/transaction/create
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| code | String | Ya | Kode pembayaran valid: qris, dana, ovo, gopay, dll. |
| amount | Integer | Ya | Jumlah dana (Minimal tergantug channel, cth: 500/1000). |
| description | String | Tidak | Catatan/deskripsi pesanan (maks 255 karakter). |
| webhook_url | String | Tidak | URL yang akan menerima notifikasi callback saat transaksi berhasil. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"code": "qris",
"amount": 50000,
"description": "Invoice INV-20230501",
"webhook_url": "https://example.com/webhook"
}
Response QRIS Sukses HTTP 200
{
"status": true,
"message": "Transaksi berhasil dibuat.",
"data": {
"reff_id": "PAY-85739X",
"description": "Invoice INV-20230501",
"method": "ewallet",
"code": "qris",
"type": "in",
"amount": 50350,
"fee": 350,
"get_amount": 50000,
"qr_string": "00020101021126570011ID.RONZZPAY...",
"qr_image": "https://pg.ronzzyt.id/qris/PAY-85739X.png",
"payment_name": "QRIS",
"instructions": "Scan QR ini dengan aplikasi pembayaran...",
"status": "pending",
"created_at": "2025-05-18 10:00:00",
"expired_at": "2025-05-18 11:00:00"
}
}
Status Transaction
Mengecek status pembayaran transaksi yang telah dibuat berdasarkan Reference ID.
https://pg.ronzzyt.id/api/transaction/status
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| reff_id | String | Ya | ID Referensi dari /api/transaction/create. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"reff_id": "PAY-85739X"
}
Contoh Response (Success/Pending/Failed/Expired) HTTP 200
{
"status": true,
"message": "Transaksi berhasil diambil.",
"data": {
"reff_id": "PAY-85739X",
"description": "Invoice INV-20230501",
"method": "ewallet",
"code": "qris",
"type": "in",
"amount": 50350,
"fee": 350,
"get_amount": 50000,
"qr_string": "00020101021126570011ID.RONZZPAY...",
"qr_image": "https://pg.ronzzyt.id/qris/PAY-85739X.png",
"payment_name": "QRIS",
"instructions": "Scan QR ini dengan aplikasi pembayaran...",
"status": "success",
"created_at": "2025-05-18 10:00:00",
"expired_at": "2025-05-18 11:00:00"
}
}
List Transaction
Melihat riwayat keseluruhan transaksi akun baik in maupun out.
https://pg.ronzzyt.id/api/transaction/list
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia. |
| status | String | Tidak | Status transaksi. |
| code | String | Tidak | Kode metode pembayaran. |
| page | Integer | Tidak | Nomor halaman. Default 1. |
| per_page | Integer | Tidak | Jumlah item per halaman. Default 15, maksimal 100. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"status": "success",
"code": "qris",
"page": 1,
"per_page": 15
}
Contoh Response Array Daftar Transaksi HTTP 200
{
"status": true,
"message": "Menampilkan 2 riwayat transaksi terakhir...",
"data": [
{
"reff_id": "PAY-85739X",
"description": "Invoice INV-20230501",
"method": "ewallet",
"code": "qris",
"type": "in",
"amount": 50350,
"fee": 350,
"get_amount": 50000,
"qr_string": "00020101021126570011ID.RONZZPAY...",
"qr_image": "https://pg.ronzzyt.id/qris/PAY-85739X.png",
"payment_name": "QRIS",
"instructions": "Scan QR ini dengan aplikasi pembayaran...",
"status": "success",
"created_at": "2025-05-18 10:00:00",
"updated_at": "2025-05-18 10:00:00"
},
{
"reff_id": "PAY-86329X",
"description": "Invoice INV-20230502",
"method": "ewallet",
"code": "dana",
"type": "in",
"amount": 100350,
"fee": 350,
"get_amount": 100000,
"payment_number": "08123456789",
"payment_name": "DANA",
"instructions": "Transfer ke nomor DANA 08123456789",
"status": "success",
"created_at": "2025-05-18 10:00:00",
"updated_at": "2025-05-18 10:00:00"
}
],
"pagination": {
"current_page": 1,
"per_page": 15,
"total": 42,
"last_page": 3,
"from": 1,
"to": 15,
"has_more_pages": true,
"next_page_url": "https://pg.ronzzyt.id/api/transaction/list?page=2",
"prev_page_url": null
}
}
Create Transfer
Melakukan transfer saldo antara akun sesama pengguna aplikasi ini dengan mudah.
https://pg.ronzzyt.id/api/transfer/create
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| recipient_username | String | Ya | Username tujuan transfer. |
| amount | Integer | Ya | Jumlah dana yang akan ditransfer (Min: 1). |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"recipient_username": "riki_user",
"amount": 25000
}
Response Transfer Sukses HTTP 200
{
"status": true,
"message": "Transfer berhasil.",
"data": {
"reff_id": "TRF-A9BC72",
"description": "Transfer ke riki_user",
"method": "transfer",
"recipient": {
"username": "riki_user",
"name": "Riki Firmansyah"
},
"type": "out",
"amount": 25000,
"status": "success",
"created_at": "2025-06-12 14:05:00"
}
}
Status Transfer
Mengecek status riwayat transfer berserta detail penerima/pengirim berdasarkan ID Transfer.
https://pg.ronzzyt.id/api/transfer/status
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| reff_id | String | Ya | ID Referensi dari riwayat transfer. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"reff_id": "TRF-A9BC72"
}
Contoh Response (Success) HTTP 200
{
"status": true,
"message": "Data transfer berhasil diambil.",
"data": {
"reff_id": "TRF-A9BC72",
"description": "Transfer ke riki_user",
"method": "transfer",
"recipient": {
"username": "riki_user",
"name": "Riki Firmansyah"
},
"type": "out",
"amount": 25000,
"status": "success",
"created_at": "2025-06-12 14:05:00"
}
}
List Transfer
Melihat riwayat keseluruhan transfer dana akun (termasuk transfer masuk dan keluar).
https://pg.ronzzyt.id/api/transfer/list
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia. |
| status | String | Tidak | Status transaksi (success/failed). |
| page | Integer | Tidak | Nomor halaman. Default 1. |
| per_page | Integer | Tidak | Jumlah item per halaman. Default 15, maksimal 100. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"status": "success",
"page": 1,
"per_page": 15
}
Contoh Response Array Daftar Referensi Transfer HTTP 200
{
"status": true,
"message": "Data transfer berhasil diambil.",
"data": [
{
"reff_id": "TRF-A9BC72",
"description": "Transfer ke riki_user",
"method": "transfer",
"recipient": {
"username": "riki_user",
"name": "Riki Firmansyah"
},
"type": "out",
"amount": 25000,
"status": "success",
"created_at": "2025-06-12 14:05:00"
}
],
"pagination": {
"current_page": 1,
"per_page": 15,
"total": 8,
"last_page": 1,
"from": 1,
"to": 8,
"has_more_pages": false,
"next_page_url": null,
"prev_page_url": null
}
}
Create Withdraw
Mencairkan sejumlah saldo yang ada pada akun ke dompet digital atau bank yang terdaftar.
https://pg.ronzzyt.id/api/withdraw/create
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| amount | Integer | Ya | Jumlah nilai konversi/tarik dana (Min limit yang ditentukan di website). |
| method | String | Ya | Gunakan nilai bank atau ewallet. |
| code | String | Ya | Kode bank atau e-wallet. |
| account_number | String | Ya | Nomor Rekening Bank atau Nomor Telepon E-Wallet yang dituju. |
| account_name | String | Ya | Atas nama pemilik rekening/e-wallet untuk validasi. |
| webhook_url | String | Tidak | URL yang akan menerima notifikasi callback saat transaksi berhasil. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"amount": 250000,
"method": "bank",
"code": "BCA",
"account_number": "1203495811",
"account_name": "SARAH MEYER",
"webhook_url": "https://example.com/webhook"
}
Contoh Response Sukses HTTP 200
{
"status": true,
"message": "Permintaan withdraw berhasil dibuat.",
"data": {
"reff_id": "WD-19881A",
"description": "Withdraw ke Bank BCA",
"method": "bank",
"code": "bca",
"type": "out",
"amount": 250000,
"fee": 2000,
"total": 252000,
"status": "pending",
"created_at": "2025-06-12 14:05:00"
}
}
Status Withdraw
Mengecek proses penyelesaian dari pencairan / withdraw dana Anda.
https://pg.ronzzyt.id/api/withdraw/status
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia akun Anda. |
| reff_id | String | Ya | ID Referensi dari /api/withdraw/create. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"reff_id": "WD-19881A"
}
Contoh Response HTTP 200
{
"status": true,
"message": "Status withdraw ditemukan.",
"data": {
"reff_id": "WD-19881A",
"description": "Withdraw ke Bank BCA",
"method": "bank",
"code": "bca",
"type": "out",
"amount": 250000,
"fee": 2000,
"total": 252000,
"status": "success",
"created_at": "2025-06-12 14:05:00",
"updated_at": "2025-06-12 14:10:00"
}
}
List Withdraw
Melihat riwayat keseluruhan pencairan dana (withdraw) pada akun Anda.
https://pg.ronzzyt.id/api/withdraw/list
Parameter HTTP
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
| api_key | String | Ya | API Key rahasia. |
| status | String | Tidak | Status transaksi (success/failed). |
| page | Integer | Tidak | Nomor halaman. Default 1. |
| per_page | Integer | Tidak | Jumlah item per halaman. Default 15, maksimal 100. |
Contoh Request
{
"api_key": "YOUR_API_KEY_HERE",
"status": "success",
"page": 1,
"per_page": 15
}
Contoh Response Array Daftar Referensi Withdraw HTTP 200
{
"status": true,
"message": "Data withdraw berhasil diambil.",
"data": [
{
"reff_id": "WD-19881A",
"description": "Withdraw ke Bank BCA",
"method": "bank",
"code": "bca",
"type": "out",
"amount": 250000,
"fee": 2000,
"total": 252000,
"status": "success",
"created_at": "2025-06-12 14:05:00",
"updated_at": "2025-06-12 14:10:00"
}
],
"pagination": {
"current_page": 1,
"per_page": 15,
"total": 12,
"last_page": 1,
"from": 1,
"to": 12,
"has_more_pages": false,
"next_page_url": null,
"prev_page_url": null
}
}
Sandbox API Reference
Uji integrasi Anda tanpa risiko finansial menggunakan endpoint Sandbox kami.
Tentang Sandbox
API Sandbox memiliki endpoint yang identik dengan API Production namun menggunakan prefix /sandbox/. Data di sandbox bersifat terisolasi dan Anda dapat mengubah status transaksi secara manual melalui Sandbox Panel.
https://pg.ronzzyt.id/sandbox/transaction/create
Parameter sama dengan Create Transaction.
{
"api_key": "YOUR_API_KEY_HERE",
"code": "qris",
"amount": 50000,
"description": "Tester Sandbox"
}
https://pg.ronzzyt.id/sandbox/transaction/status
Parameter sama dengan Status Transaction.
https://pg.ronzzyt.id/sandbox/withdraw/create
Parameter sama dengan Create Withdraw.
https://pg.ronzzyt.id/sandbox/withdraw/status
Parameter sama dengan Withdraw Status.
Callback / Webhook
Menerima pemberitahuan secara instan ke server Anda tiap kali ada perubahan status transaksi.
Bagaimana Cara Kerjanya?
Server sistem akan mengirimkan HTTP POST request yang berisi Object JSON ke URL Webhook yang Anda simpan pada halaman Pengaturan API. URL Anda harus merespon dengan kode HTTP 2xx (contoh 200 OK) agar IP tidak dianggap gagal.
Keamanan Webhook (Signature Verification)
Setiap permintaan webhook yang dikirim ke server Anda akan menyertakan header X-Signature. Header ini berisi hash HMAC SHA-256 dari keseluruhan body payload (format JSON), yang ditandatangani menggunakan API Key Anda. Anda sangat disarankan memvalidasi signature ini agar tidak menerima data palsu (spoofing).
Contoh JSON Payload
{
"event": "transaction.success",
"data": {
"reff_id": "TRX123456",
"description": "Pembelian Produk XYZ",
"method": "ewallet",
"code": "dana",
"type": "in",
"amount": 50000,
"fee": 500,
"total": 50500,
"status": "success",
"created_at": "2025-10-01 10:00:00",
"updated_at": "2025-10-01 10:05:30"
}
}
Kode PHP Menangkap Webhook (Contoh)
<?php
// Tangkap isi payload JSON
$json = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_SIGNATURE'] ?? '';
$myApiKey = 'YOUR_API_KEY_HERE';
// Verifikasi Signature
$expectedSignature = hash_hmac('sha256', $json, $myApiKey);
if (!hash_equals($expectedSignature, $signature)) {
http_response_code(401);
die('Invalid signature');
}
// Ubah parameter
$data = json_decode($json, true);
if ($data && $data['event'] == 'transaction.success') {
$reff_id = $data['data']['reff_id'];
$status = $data['data']['status'];
// Update ke database server Anda...
// UPDATE orders SET status = 'success' WHERE reff = $reff_id;
// Jangan lupa kirim response 200 OK
http_response_code(200);
echo json_encode(['status' => 'OK']);
exit;
}
?>
Endpoint lainnya seperti Transaction Status, List, dan Transfer memiliki format yang terstruktur sama.