Quickstart: je eerste crypto-storting in 5 minuten
Je hebt een walletadres nodig dat je zelf beheert en een publieke URL die een webhook kan ontvangen. Geen registratie, geen API-key.
1. Maak een stortingsadres aan
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"
}'
Het antwoord bevat id en address. Toon address aan de betaler. Dezelfde aanvraag herhalen geeft hetzelfde adres terug, dus opnieuw proberen is veilig.
2. Ontvang de webhook
Zodra de storting de bevestigingsdrempel bereikt (19 op TRON), stuurt ChainPay een POST met status: "confirmed" naar je callbackUrl. Daarna gaat het bedrag, min de fee, naar je forwardAddress. Controleer zelf de token-waarde in de query: webhooks zijn niet ondertekend.
3. Controleer via de status-API
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions
Behandel webhooks als «minstens één keer» en gebruik deze endpoints als bron van waarheid.
Voorbeelden in jouw taal
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'];