Dokumentasi
Dokumentasi API Payment Gateway QRIS (ClincooPay)
ClincooPay adalah payment gateway bawaan Clincoo: pembeli membayar lewat QRIS, saldo masuk ke dashboard proyekmu, dan kamu bisa mencairkannya kapan pun. Artikel ini adalah dokumentasi resmi API-nya untuk situs yang kamu deploy dari app.clincoo.buzz.
Alur besar integrasi
- Aktifkan Pembayaran di Pengaturan proyekmu, lalu salin pay_key (berawalan clc_pay_).
- Situsmu memanggil POST /api/pay untuk membuat transaksi QRIS.
- Pembeli diarahkan ke halaman bayar resmi Clincoo, atau kamu menampilkan QR sendiri.
- Status dicek lewat GET /api/pay?action=status sampai lunas.
- Saat dibayar, Clincoo mengirim webhook ke URL yang kamu daftarkan.
Ringkasan endpoint
| Endpoint | Fungsi | Autentikasi |
|---|---|---|
| POST /api/pay {action:"create"} | Membuat transaksi QRIS baru | pay_key (publik) |
| GET /api/pay?action=status | Cek status transaksi | pay_key (publik) |
| POST /api/pay {action:"activate"} | Aktifkan gateway untuk proyek | Login Clincoo |
| GET /api/pay?action=config | Status, pay_key, dan saldo | Login Clincoo |
| POST /api/pay {action:"withdraw"} | Ajukan penarikan saldo | Login Clincoo |
| POST /api/pay {action:"transactions"} | Log 25 transaksi terakhir | Login Clincoo |
Semua endpoint berada di https://app.clincoo.buzz/api/pay. Pay_key aman dipakai di frontend karena hanya bisa membuat transaksi dan membaca status — kredensial gateway sebenarnya tetap di server Clincoo.
Membuat transaksi QRIS
Kirim permintaan POST dari situs deploy-mu tanpa perlu login:
POST https://app.clincoo.buzz/api/pay
Content-Type: application/json
{
"action": "create",
"key": "clc_pay_....",
"amount": 25000,
"description": "Paket A"
}Parameter:
| Field | Wajib | Keterangan |
|---|---|---|
| key | Ya | Pay_key proyekmu, contoh clc_pay_.... |
| amount | Ya | Integer rupiah, Rp 1.000 sampai Rp 100.000.000 |
| description | Tidak | Keterangan transaksi, maksimal 100 karakter |
Contoh respons sukses:
{
"success": true,
"order_id": "clincoo....",
"checkout_url": "https://app.clincoo.buzz/pay/?order_id=clincoo....&key=clc_pay_....",
"amount": 25000,
"qr_image": "https://api.qrserver.com/v1/create-qr-code/?...",
"qr_string": "<payload QRIS>",
"total_payment": 25415,
"expires_at": "2026-10-03T09:00:00.000Z",
"is_sandbox": false
}total_payment adalah nominal yang benar-benar dibayar pembeli (nominal + biaya QRIS). Respons 503 gateway_not_ready berarti QRIS server sedang menyiapkan diri — tampilkan pesan itu apa adanya.
Cara termudah: pakai halaman bayar resmi
Setelah create berhasil, cukup alihkan pembeli ke checkout_url. Halaman bayar resmi Clincoo sudah menampilkan QR, total tagihan, cek status otomatis, dan halaman sukses — kamu tidak perlu membuat halaman bayar sendiri.
async function buatBayaran(amount) {
const r = await fetch('https://app.clincoo.buzz/api/pay', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action: 'create', key: 'clc_pay_....', amount, description: 'Pembayaran' })
});
const d = await r.json();
if (d.success) window.location.href = d.checkout_url;
}Kalau kamu ingin tampilan bayar khusus, alternatifnya: tampilkan qr_image di tag img (atau render qr_string sendiri), lalu polling status seperti di bawah.
Cek status transaksi
GET https://app.clincoo.buzz/api/pay?action=status&key=clc_pay_....&order_id=clincoo....
{ "success": true, "status": "paid", "amount": 25000, "total_payment": 25415 }Nilai status yang mungkin:
| Status | Arti |
|---|---|
| pending | Menunggu pembayaran; QR masih aktif |
| paid | Lunas — saldo masuk ke dashboard proyek |
| expired | QR kedaluwarsa atau dibatalkan |
Lakukan polling tiap 3-5 detik sampai status paid, lalu arahkan pembeli ke halaman sukses. Server hanya mengecek ke gateway maksimal satu kali per 4 detik untuk tiap transaksi, jadi polling lebih cepat dari itu tidak memberi hasil baru.
Webhook pembayaran
Setiap transaksi berubah jadi paid, Clincoo mengirim notifikasi POST ke URL webhook proyekmu (daftarkan di Pengaturan > Webhook):
{
"event": "payment.paid",
"order_id": "clincoo....",
"amount": 25000,
"description": "Paket A",
"status": "paid",
"paid_at": "2026-10-03T09:00:00.000Z"
}Selalu cocokkan order_id ke sistemmu sebelum mengaktifkan pesanan. Halaman sukses untuk pembeli tetap perlu dibuat di situsmu.
Dashboard pemilik proyek
Aksi berikut butuh login Clincoo dan field project_id:
| Aksi | Hasil |
|---|---|
| config | Status aktif, pay_key, saldo tersedia, total masuk, total dicairkan |
| summary | Ringkasan saldo singkat |
| transactions | 25 transaksi terakhir |
| withdraw | Penarikan saldo, minimum Rp 10.000, maksimum saldo tersedia |
| withdrawals | 25 riwayat penarikan |
Semua bisa dilakukan dari halaman Pengaturan > Pembayaran di dashboard tanpa menyentuh API. Butuh bantuan? Cek FAQ atau Masalah Umum.