Logo
RN Payment Payment Gateway
Developer API Reference

Dokumentasi Integrasi API

Panduan lengkap integrasi pembayaran QRIS Dinamis & Mutasi otomatis untuk website, aplikasi, atau bot Anda.

RESTful API v2.0
1

Persiapan & Autentikasi API Key

Setiap permintaan HTTP API harus menyertakan query parameter apikey yang valid. Ambil API Key resmi akun Anda di menu Profil Akun.

2

Cek Saldo (Balance)

GET /api/balance

Parameter Query:

  • apikey (string, wajib) – API Key merchant Anda
const axios = require('axios');
axios.get('BASE_URL/api/balance?apikey=YOUR_API_KEY')
  .then(res => console.log(res.data));

/*
Response:
{
  "username": "user_demo",
  "email": "user@gmail.com",
  "balance": 150000
}
*/
3

Membuat Tagihan QRIS (Invoice)

GET /api/invoice

Parameter Query:

  • apikey (string, wajib) – API Key merchant Anda
  • amount (integer, wajib) – Nominal transaksi (contoh: 50000)
const axios = require('axios');
axios.get('BASE_URL/api/invoice?apikey=YOUR_API_KEY&amount=50000')
  .then(res => console.log(res.data));

/*
Response:
{
  "success": true,
  "invoice_id": "66c28f1e...",
  "amount": 50000,
  "fee": 500,
  "total": 50500,
  "qris_image": "https://...",
  "payment_link": "https://...",
  "expired_at": "2026-08-19 03:00:00"
}
*/
4

Cek Status Tagihan (Check Status)

GET /api/status

Parameter Query:

  • apikey (string, wajib) – API Key merchant Anda
  • id (string, wajib) – ID Invoice tagihan
const axios = require('axios');
axios.get('BASE_URL/api/status?apikey=YOUR_API_KEY&id=INVOICE_ID')
  .then(res => console.log(res.data));

/*
Response:
{
  "id": "66c28f1e...",
  "status": "paid", // "pending" | "paid" | "expired"
  "amount": 50000,
  "total": 50500,
  "paidAt": "2026-08-19 02:45:10"
}
*/
5

Webhook Callback Notifikasi Realtime

Ketika pembayaran invoice berhasil dibayar oleh customer, sistem RN Payment akan secara otomatis mengirimkan payload HTTP POST ke Callback URL yang telah Anda daftarkan pada menu Profil Merchant.

Format Payload Webhook (JSON):

{
  "event": "payment.success",
  "invoice_id": "66c28f1e...",
  "amount": 50000,
  "total": 50500,
  "fee": 500,
  "status": "paid",
  "paid_at": "2026-08-19T02:45:10.000Z",
  "signature": "a1b2c3d4e5f6..."
}