API Documentation

Minta Key
Reseller API v1.0

Integrasikan Top Up ke Website Kamu

Daftar harga realtime, order otomatis via QRIS, cek status & SN langsung tersedia. Siap dipakai di website, bot, maupun aplikasi.

https://chrispedia.biz.id.fumiotopup.store/reseller_api.php
Memeriksa status API...
Ping Pricelist Order Status Status & Error Contoh Kode

Cara Mulai (3 Langkah)

  1. 1Minta API key — buka homepage Muel Topup, klik tombol Live Chat di kanan bawah, lalu sapa CS: "Halo, mau minta API key reseller dong". Gratis.
  2. 2Tes koneksi — buka chrispedia.biz.id.fumiotopup.store/reseller_api.php?act=ping di browser. Kalau muncul "success": true, koneksi kamu aman.
  3. 3Integrasi — ambil pricelist, buat order, tampilkan QRIS, lalu polling status sampai SUKSES. Ikuti detail endpoint di bawah. 👇

Autentikasi

Semua endpoint (kecuali ping) wajib menyertakan API key. Dua cara:

Cara 1 — Query

https://chrispedia.biz.id.fumiotopup.store/reseller_api.php?act=pricelist&key=KEY

Cara 2 — Header

X-API-Key: KEY
Rate limit 60 request/menit per key. Jangan polling status lebih cepat dari 10 detik sekali.

Cek Koneksi

Tes apakah API online. Tidak butuh API key — cocok untuk monitoring & tes koneksi pertama.

Contoh Response

{
    "success": true,
    "message": "API OK",
    "version": "1.0",
    "time": "2025-01-01 12:00:00"
}

Daftar Harga

Ambil semua produk & harga realtime (termasuk harga promo/flashsale). Harga sudah final — tidak ada biaya tambahan.

Parameter

keyAPI key kamu (query ?key=KEY atau header X-API-Key)

Contoh Response

{
    "success": true,
    "total": 1,
    "products": [
        {
            "kode": "FF5",
            "nama": "5 Diamonds",
            "cat": "game",
            "game": "ff",
            "harga_jual": 850,
            "harga_promo": 850,
            "is_flashsale": false,
            "is_bestseller": false
        }
    ]
}

Buat Order

Buat transaksi baru. Kirim body JSON. Response berisi QRIS (base64) untuk ditampilkan ke pembeli. Nominal harus dibayar PERSIS. QRIS kedaluwarsa dalam 1 jam.

Parameter

keyAPI key kamu
kodeKode produk dari pricelist (contoh: FF5)
targetUser ID / nomor tujuan (contoh: 12345678 atau 0812xxxx)

Contoh Response

{
    "success": true,
    "message": "Order dibuat. Lakukan pembayaran QRIS dengan nominal PERSIS.",
    "data": {
        "ref_id": "TRX2025010112304512",
        "product_code": "FF5",
        "product_name": "5 Diamonds",
        "price": 850,
        "status": "PENDING",
        "qris_base64": "data:image/png;base64,...",
        "created_at": "2025-01-01 12:30:45"
    }
}

Cek Status Order

Cek status pembayaran & pengiriman. Endpoint ini juga otomatis memicu pengiriman saat pembayaran terdeteksi. Panggil berulang tiap 10–30 detik sampai SUKSES/EXPIRED.

Parameter

keyAPI key kamu
ref_idOrder ID dari response order

Contoh Response

{
    "success": true,
    "data": {
        "ref_id": "TRX2025010112304512",
        "status": "SUKSES",
        "product_code": "FF5",
        "product_name": "5 Diamonds",
        "target": "12345678",
        "price": 850,
        "sn": "SN123456789",
        "created_at": "2025-01-01 12:30:45",
        "partner": "Reseller A"
    }
}

Status Transaksi

PENDING
Menunggu pembayaran (bayar dalam 1 jam)
PAID
Dibayar — sedang dikirim ke provider
PROSES
Provider memproses — cek lagi 1–2 menit
SUKSES
Berhasil! SN tersedia sebagai bukti
EXPIRED
Tidak dibayar sampai batas waktu

Kode Error (HTTP)

401 API key tidak valid / nonaktif
400 Parameter kurang / salah
404 Produk / transaksi tidak ditemukan
409 Stok habis
429 Rate limit — maks 60 request/menit
503 Maintenance — coba lagi nanti (lihat flag "maintenance": true)
502 Server pembayaran bermasalah — coba lagi

Contoh Kode Integrasi

Alur lengkap: ambil harga → buat order → tampilkan QRIS → polling status.

PHP — Alur Lengkap

<?php
 $base  = 'https://chrispedia.biz.id.fumiotopup.store/reseller_api.php';
 $key   = 'API_KEY_KAMU';

function api($url, $body = null) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false]);
    if ($body !== null) {
        curl_setopt_array($ch, [CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => json_encode($body),
            CURLOPT_HTTPHEADER => ['Content-Type: application/json']]);
    }
    return json_decode(curl_exec($ch), true);
}

// 1. Cari produk
 $list = api($base . '?act=pricelist&key=' . $key);
 $produk = null;
foreach ($list['products'] as $p) {
    if ($p['kode'] === 'FF5') { $produk = $p; break; }
}

// 2. Buat order (harga ambil dari API, JANGAN hardcode)
 $order = api($base . '?act=order', [
    'key' => $key, 'kode' => $produk['kode'], 'target' => '12345678'
]);
 $refId = $order['data']['ref_id'];

// 3. Tampilkan QRIS ke pembeli
echo '<img src="' . $order['data']['qris_base64'] . '">';
echo 'Total: Rp ' . number_format($order['data']['price'], 0, ',', '.');

// 4. Polling status (di cron / AJAX tiap 15 detik)
 $status = api($base . '?act=status&key=' . $key . '&ref_id=' . $refId);
if ($status['data']['status'] === 'SUKSES') {
    echo 'Berhasil! SN: ' . $status['data']['sn'];
}

JavaScript (AJAX)

const res = await fetch('https://chrispedia.biz.id.fumiotopup.store/reseller_api.php?act=order', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ key: 'API_KEY_KAMU', kode: 'FF5', target: '12345678' })
});
const data = await res.json();
document.querySelector('#qris').src = data.data.qris_base64;

Python

import requests
BASE = "https://chrispedia.biz.id.fumiotopup.store/reseller_api.php"
KEY = "API_KEY_KAMU"

# Order
r = requests.post(f"{BASE}?act=order",
    json={"key": KEY, "kode": "FF5", "target": "12345678"}).json()
print("Ref ID:", r["data"]["ref_id"])

# Cek status
s = requests.get(f"{BASE}?act=status&key={KEY}&ref_id={r['data']['ref_id']}").json()
print("Status:", s["data"]["status"])

FAQ

Bagaimana cara mendapatkan API key?

Buka homepage, klik tombol Live Chat kanan bawah, lalu minta ke CS. Sebutkan nama website/aplikasi kamu. API key akan dibuatkan gratis.

Apakah ada biaya untuk pakai API?

Gratis. Kamu cukup menandai-up harga dari pricelist di sistem kamu sendiri. Harga API = harga final toko.

Berapa lama QRIS berlaku?

1 jam sejak order dibuat. Setelah itu status jadi EXPIRED dan pembeli harus order ulang. Pastikan pembeli membayar nominal persis sama.

Berapa cepat produk masuk setelah bayar?

Otomatis, umumnya hitungan detik sampai maksimal 5 menit. Endpoint status otomatis memicu pengiriman, jadi polling rutin = pengiriman pasti jalan.

Dilindungi rate limit & hanya bisa diakses dengan API key valid. © 2026 Muel Topup