Merchant Jual Pulsa Aja
Jual Pulsa Aja Merchant
Payment Operations
Cara Kerja Fitur Simulasi Pembayaran (Demo) Kalkulator Biaya Biaya Transaksi API Developer Hub Dokumentasi API Blog & Pengumuman FAQ
REST API v1.4.0 — Webhook Debugger & Production Ready

Terima & kirim pembayaran dari aplikasi Anda dalam hitungan menit

Satu integrasi REST API modern untuk QRIS, Virtual Account, Transfer Bank, dan E-Wallet. Kami mengurus komunikasi langsung ke jaringan payment gateway berlisensi Bank Indonesia — Anda cukup kirim satu request dan terima webhook otomatis saat dana masuk.

100% Gratis Akses API & Sandbox Idempotency Key & Webhook Resend Interactive Webhook Simulator Rekonsiliasi CSV Excel
v1.5.0 UPDATE API Produk Digital (Isi Ulang) telah dirilis: pulsa, paket data, token PLN, voucher game, dan pascabayar lewat satu API - lengkap dengan harga khusus per akun dan webhook status otomatis.
Lihat Catatan Rilis API
Proses Mudah

Mulai integrasi dalam 3 langkah

Dari registrasi sampai transaksi pertama live di aplikasi Anda.

1

Daftar & Verifikasi KYC

Buat akun merchant gratis dalam 1 menit. Lengkapi verifikasi identitas (KYC) untuk mengaktifkan seluruh saluran pembayaran dan izin API.

2

Buat API Client & Uji Webhook

Dapatkan client_id, client_secret, dan pasang URL Webhook Anda. Uji koneksi seketika menggunakan Ping Simulator bawaan.

3

Kirim Request & Terima Dana

Tembak endpoint pembayaran (QRIS / VA / Payout). Webhook transaction.paid akan memberi notifikasi otomatis real-time saat dana masuk.

Quick Start Integration

Contoh Pembuatan QRIS Dinamis

Satu request POST instan dengan header autentikasi & idempotency key.

curl -X POST https://merchant.jualpulsaaja.com/api/v1/qris \
  -H "Authorization: Bearer YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -H "X-Idempotency-Key: ORDER-202609-001" \
  -d '{
    "amount": 50000,
    "customer_name": "Budi Santoso",
    "customer_email": "budi@example.com",
    "description": "Payment for Order #123"
  }'
<?php
$payload = [
    'amount' => 50000,
    'customer_name' => 'Budi Santoso',
    'customer_email' => 'budi@example.com',
    'description' => 'Payment for Order #123',
];

$ch = curl_init('https://merchant.jualpulsaaja.com/api/v1/qris');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_CLIENT_ID:YOUR_CLIENT_SECRET',
        'Content-Type: application/json',
        'X-Idempotency-Key: ORDER-202609-001',
    ],
    CURLOPT_POSTFIELDS => json_encode($payload),
]);

$res = json_decode(curl_exec($ch), true);
// $res['qris']['qr_image_url'] -> Render QR to user
// $res['transaction']['partner_reff'] -> Save to your database
const response = await fetch('https://merchant.jualpulsaaja.com/api/v1/qris', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_CLIENT_ID:YOUR_CLIENT_SECRET',
    'Content-Type': 'application/json',
    'X-Idempotency-Key': 'ORDER-202609-001'
  },
  body: JSON.stringify({
    amount: 50000,
    customer_name: 'Budi Santoso',
    customer_email: 'budi@example.com',
    description: 'Payment for Order #123'
  })
});

const data = await response.json();
console.log('QR Image URL:', data.qris.qr_image_url);
console.log('Partner Reff:', data.transaction.partner_reff);
import requests

url = "https://merchant.jualpulsaaja.com/api/v1/qris"
headers = {
    "Authorization": "Bearer YOUR_CLIENT_ID:YOUR_CLIENT_SECRET",
    "Content-Type": "application/json",
    "X-Idempotency-Key": "ORDER-202609-001"
}
payload = {
    "amount": 50000,
    "customer_name": "Budi Santoso",
    "customer_email": "budi@example.com",
    "description": "Payment for Order #123"
}

res = requests.post(url, json=payload, headers=headers).json()
print("QR Image:", res["qris"]["qr_image_url"])
print("Partner Ref:", res["transaction"]["partner_reff"])
HTTP 201 Created application/json
{
  "ok": true,
  "transaction": {
    "id": 200,
    "partner_reff": "178525020744...",
    "amount": 50000,
    "status": "waiting_payment",
    "expires_at": "2026-10-08T09:55:18+07:00"
  },
  "fees": {
    "gateway_fee": 700,
    "platform_fee": 300,
    "total_fee": 1000,
    "net_amount": 49000
  },
  "qris": {
    "qr_image_url": "https://.../qr.png",
    "qr_string": "0002010102112662...",
    "qris_id": "QRIS-XXXXX"
  }
}
Fitur Developer Baru v1.4.0

Alat Pengujian & Diagnostik Mandiri

Membantu proses pengembangan aplikasi Anda lebih cepat, aman, dan tanpa tebak-tebakan.

Webhook Debugger & Ping

Kirim simulasi ping probe ke URL callback server Anda secara live. Pantau HTTP status, latency dalam milidetik, dan preview respons body.

Resend Webhook Mandiri

Server Anda sempat mengalami maintenance saat pembayaran masuk? Cukup klik Kirim Ulang dari dashboard tanpa perlu menghubungi tim bantuan.

Idempotency Key Protocol

Kirim header X-Idempotency-Key unik per order. Sistem menjamin tidak akan ada potongan saldo ganda meski koneksi jaringan client terputus.

Rekonsiliasi CSV Excel

Unduh ekspor mutasi transaksi merchant dengan UTF-8 BOM dan preset filter waktu cepat untuk sinkronisasi software akuntansi Anda.

PANDUAN ARSITEKTUR DEVELOPER

Membangun Sistem Tagihan Berulang (Recurring Billing)

Ingin membuat sistem langganan SaaS, ISP/WiFi, atau donasi rutin bulanan? Pelajari pola integrasi menggunakan Dedicated Virtual Account & Webhook Scheduler tanpa ketergantungan kartu kredit.

Keamanan & Performa

Dirancang untuk keandalan produksi

Dibangun dengan standar keamanan finansial modern dan pemrosesan asinkron.

Webhook Real-time

Event transaction.paid, failed, dan expired dikirim otomatis ke URL server Anda dengan mekanisme retry dan resend.

Idempotency Aman

Gunakan header X-Idempotency-Key untuk mencegah double charge atau duplikasi saat terjadi kendala jaringan internet.

Biaya Transparan

Setiap respons transaksi menyertakan rincian linkqu_fee, platform_fee, dan net_amount secara presisi.

Signature HMAC-SHA256

Setiap payload webhook ditandatangani secara kriptografis sehingga server Anda dapat memvalidasi keaslian pengirim dengan aman.

Ledger Append-Only

Seluruh pergerakan dana dicatat dalam ledger internal yang tidak dapat dimanipulasi, dengan histori mutasi lengkap untuk rekonsiliasi.

Multi Saluran Terintegrasi

Satu saldo untuk mengelola QRIS Dinamis, Virtual Account BCA/BRI/Mandiri/Permata, Transfer Bank ke 140+ bank, dan E-Wallet.

Siap mulai integrasi ke sistem Anda?

Daftar akun merchant gratis, buat API client di dashboard, dan mulai terima pembayaran hari ini juga.

Butuh bantuan? Chat kami