Base URL & Autentikasi

Semua request menggunakan base URL berikut. Sertakan API Key di header setiap request.

Base URL: https://pay.digitalpedia.web.id Header Autentikasi: x-api-key: YOUR_API_KEY
API Key tersedia di halaman Profil & API. Jangan bagikan kepada siapapun.
Deposit QRIS
POST /api/deposit/create Buat Invoice

Membuat invoice QRIS baru untuk deposit saldo. Autentikasi pakai header x-api-key, user diambil otomatis dari API Key tersebut.

ParameterTipeKeterangan
amountwajibintegerNominal deposit (min 500, max 1.000.000)

Contoh Request

const res = await fetch('https://pay.digitalpedia.web.id/api/deposit/create', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': 'YOUR_API_KEY' }, body: JSON.stringify({ amount: 50000 }) }); const data = await res.json(); console.log(data);

Contoh Response

// 200 OK { "success": true, "deposit": { "id": "DP17500001234567", "amount": 50000, "fee": 0, "total_payment": 50000, "qr_image": "https://imgbb.46dhygfadgs.png", "status": "pending", "expired_at": "2026-06-17T11:00:00.000Z" } } // 400 Bad Request (nominal tidak valid) { "success": false, "error": "Minimal deposit Rp500" } // 401 Unauthorized (api key salah/kosong) { "success": false, "error": "Invalid API Key" }
POST /api/deposit/status Cek Status

Autentikasi pakai header x-api-key. Ada cooldown 30 detik antar pengecekan untuk deposit_id yang sama.

ParameterTipeKeterangan
deposit_idwajibstringID deposit dari create

Contoh Request

const res = await fetch('https://pay.digitalpedia.web.id/api/deposit/status', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': 'YOUR_API_KEY' }, body: JSON.stringify({ deposit_id: 'DP17500001234567' }) }); const data = await res.json(); console.log(data);

Contoh Response

// Masih menunggu pembayaran { "success": true, "status": "pending", "message": "Menunggu pembayaran" } // Sudah dibayar { "success": true, "status": "success", "message": "Deposit berhasil! Saldo bertambah." } // Kadaluarsa { "success": true, "status": "expired", "message": "Deposit expired" }
POST /api/deposit/cancel Batalkan Deposit

Autentikasi pakai header x-api-key. Hanya bisa membatalkan deposit dengan status pending.

ParameterTipeKeterangan
deposit_idwajibstringID deposit yang ingin dibatalkan

Contoh Request

const res = await fetch('https://pay.digitalpedia.web.id/api/deposit/cancel', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': 'YOUR_API_KEY' }, body: JSON.stringify({ deposit_id: 'DP17500001234567' }) }); const data = await res.json(); console.log(data);

Contoh Response

// 200 OK { "success": true, "message": "Deposit berhasil dibatalkan" } // 400 Bad Request (status bukan pending) { "success": false, "error": "Deposit status success, tidak bisa dibatalkan" }
Contoh Implementasi

Contoh integrasi menggunakan JavaScript / Node.js:

const axios = require('axios'); const API_KEY = 'YOUR_API_KEY'; const BASE_URL = 'https://yourdomain.com'; // Buat Deposit async function createDeposit(amount) { const res = await axios.post(`${BASE_URL}/api/deposit/create`, { amount: amount }, { headers: { 'x-api-key': API_KEY } }); return res.data; } // Cek Status async function checkStatus(depositId) { const res = await axios.post(`${BASE_URL}/api/deposit/status`, { deposit_id: depositId }, { headers: { 'x-api-key': API_KEY } }); return res.data; } // Batalkan Deposit async function cancelDeposit(depositId) { const res = await axios.post(`${BASE_URL}/api/deposit/cancel`, { deposit_id: depositId }, { headers: { 'x-api-key': API_KEY } }); return res.data; }
Butuh bantuan? Hubungi CS kami di @csdigitalpedia