KembaliCloudPay

Dokumentasi API

Integrasikan pembayaran Cloud Pay ke website Anda.

Cloud Pay menyediakan REST API sederhana berbasis HTTP GET dengan autentikasi API key. Semua endpoint merespon dalam format application/json — cocok untuk diintegrasikan ke website, bot, atau aplikasi apa pun. Buat invoice, tampilkan QRIS kepada pelanggan Anda, dan saldo otomatis masuk ke akun Cloud Pay Anda setelah pembayaran lunas.

API Key Anda

Masuk atau daftar untuk melihat API key pribadi Anda di halaman Profil. Setiap akun mendapatkan API key yang berbeda dan dibuat otomatis satu kali.

Autentikasi

Seluruh endpoint menggunakan parameter query apikey. API key bersifat rahasia — jangan pernah menaruhnya di kode frontend publik (HTML/JavaScript yang terlihat browser). Simpan di server backend Anda.

Base URL: https://app.cloudnet.web.id

Endpoint

1. Cek Saldo

GET/api/balance

Mengembalikan saldo terkini akun Cloud Pay Anda dalam format JSON. balance adalah saldo aktif (siap ditarik); verification_balance adalah dana deposit yang masih dalam masa verifikasi 3 jam dan otomatis pindah ke balance setelah verifikasi selesai.

Contoh request

curl -X GET 'https://app.cloudnet.web.id/api/balance?apikey=YOUR_API_KEY'

Contoh response

{
  "balance": 150000,
  "verification_balance": 50000,
  "verification_ready_at": "2025-01-01T04:00:00.000Z"
}

2. Membuat Deposit

GET/api/invoice

Membuat invoice deposit QRIS baru. Parameter amount adalah nominal deposit (bilangan bulat Rupiah, Rp 1.000 – Rp 2.000.000). Setelah pembayaran LUNAS, nominal masuk ke Saldo Verifikasi selama 3 jam sebelum otomatis aktif dan bisa ditarik.

Contoh request

curl -X GET 'https://app.cloudnet.web.id/api/invoice?apikey=YOUR_API_KEY&amount=50000'

Contoh response

{
  "success": true,
  "invoice_id": "64c8d9e...",
  "amount": 50000,
  "fee": 500,
  "total": 50500,
  "qris_image": "https://app.cloudnet.web.id/api/qr/...",
  "expired_at": "2025-01-01 12:00:00"
}

3. Cek Status Deposit

GET/api/invoice/status

Mengecek status pembayaran sebuah invoice. Parameter invoice_id diambil dari response saat membuat deposit. Nilai status: pending, paid, expired, atau failed. Disarankan polling setiap 5–10 detik hingga status berubah.

Contoh request

curl -X GET 'https://app.cloudnet.web.id/api/invoice/status?apikey=YOUR_API_KEY&invoice_id=YOUR_INVOICE_ID'

Contoh response

{
  "invoice_id": "64c8d9e...",
  "amount": 50000,
  "fee": 500,
  "total": 50500,
  "status": "paid",
  "qris_image": "https://app.cloudnet.web.id/api/qr/...",
  "expired_at": "2025-01-01 12:00:00",
  "created_at": "2025-01-01 11:30:00"
}

Parameter Endpoint

EndpointParameterKeterangan
/api/balanceapikeyAPI key akun Anda (wajib)
/api/invoiceapikeyAPI key akun Anda (wajib)
/api/invoiceamountNominal deposit dalam Rupiah, bilangan bulat 1.000 – 2.000.000 (wajib)
/api/invoice/statusapikeyAPI key akun Anda (wajib)
/api/invoice/statusinvoice_idID invoice dari response membuat deposit (wajib)

Format Error

Kesalahan dikembalikan sebagai JSON dengan field error beserta kode HTTP yang sesuai (401 API key salah, 403 akun diblokir, 404 invoice tidak ditemukan, 429 terlalu banyak permintaan).

{
  "error": "API key tidak valid."
}

Catatan Penting

  • Invoice QRIS berlaku 5 menit sejak dibuat. Jika tidak dibayar, status menjadi expired — buat invoice baru.
  • Tampilkan qris_image sebagai gambar QR kepada pelanggan Anda (endpoint publik, tanpa perlu sesi login). Pelanggan scan & bayar seperti QRIS biasa.
  • Rate limit: 60 request/menit per API key. Simpan API key hanya di server backend Anda, jangan di kode frontend.