Швидкий старт: перший крипто-депозит за 5 хвилин
Потрібні адреса гаманця, який ви контролюєте, і публічний URL, що приймає webhook. Без реєстрації й без API-ключа.
1. Створіть адресу для депозиту
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"
}'
У відповіді будуть id та address. Покажіть address платнику. Повторний запит із тими самими параметрами повертає ту саму адресу, тож ретраї безпечні.
2. Отримайте webhook
Коли депозит досягає порога підтверджень (19 у TRON), ChainPay надсилає POST зі status: "confirmed" на ваш callbackUrl. Кошти переходять на forwardAddress за вирахуванням комісії. Перевіряйте значення token у query на своєму боці: webhook не підписується.
3. Звіряйтеся через status API
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions
Вважайте webhook доставкою «щонайменше раз», а ці endpoint'и — джерелом істини.
Приклади
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'];