Quickstart: deposit kripto pertama Anda dalam 5 menit
Anda memerlukan alamat dompet yang Anda kendalikan dan URL publik yang dapat menerima webhook. Tanpa registrasi dan tanpa API key.
1. Buat alamat deposit
curl -X POST https://api.chainpay.site/deposit-address \
-H 'content-type: application/json' \
-d '{
"ticker": "trc20/usdt",
"callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
"forwardAddress": "TYourOwnTronWallet...",
"externalReference": "order-123"
}'
Respons berisi id dan address. Tampilkan address kepada pembayar. Mengulang permintaan yang sama mengembalikan alamat yang sama, jadi percobaan ulang aman.
2. Terima webhook
Saat deposit mencapai ambang konfirmasi (19 di TRON), ChainPay mengirim POST dengan status: "confirmed" ke callbackUrl Anda. Dana lalu diteruskan ke forwardAddress Anda setelah dipotong biaya. Periksa sendiri nilai token pada query: webhook tidak ditandatangani.
3. Rekonsiliasi dengan API status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions
Anggap webhook dikirim «minimal sekali» dan gunakan endpoint ini sebagai sumber kebenaran.
Contoh dalam bahasa Anda
Node.js
const res = await fetch('https://api.chainpay.site/deposit-address', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
ticker: 'trc20/usdt',
callbackUrl: 'https://your-service.example.com/webhook?token=your-secret',
forwardAddress: 'TYourOwnTronWallet...',
externalReference: 'order-123',
}),
});
const { id, address } = await res.json();
Python
import requests
r = requests.post("https://api.chainpay.site/deposit-address", json={
"ticker": "trc20/usdt",
"callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
"forwardAddress": "TYourOwnTronWallet...",
"externalReference": "order-123",
})
address = r.json()["address"]
PHP
$ch = curl_init('https://api.chainpay.site/deposit-address');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'ticker' => 'trc20/usdt',
'callbackUrl' => 'https://your-service.example.com/webhook?token=your-secret',
'forwardAddress' => 'TYourOwnTronWallet...',
'externalReference' => 'order-123',
]),
]);
$address = json_decode(curl_exec($ch), true)['address'];