Dokumentasi API

Panduan lengkap integrasi API RonzzPay.

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.

Buka Postman
1

Dapatkan API Key

Buka menu Pengaturan API di dashboard untuk menyalin API Key pribadi Anda.

2

Autentikasi

Sertakan api_key pada data yang dikirimkan ke setiap request endpoint API.

3

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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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).

POST 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.

POST 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.

POST 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.

POST 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.

POST 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"
}
POST https://pg.ronzzyt.id/sandbox/transaction/status

Parameter sama dengan Status Transaction.

POST https://pg.ronzzyt.id/sandbox/withdraw/create

Parameter sama dengan Create Withdraw.

POST 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.

Selamat Berinovasi dengan API RonzzPay!