퀵스타트: 5분 만에 첫 암호화폐 입금
직접 관리하는 지갑 주소와 webhook을 받을 수 있는 공개 URL이 필요합니다. 가입도 API key도 필요 없습니다.
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 받기
입금이 확인 횟수 기준(TRON은 19)에 도달하면 ChainPay가 callbackUrl로 status: "confirmed"가 담긴 POST를 보냅니다. 이후 수수료를 제외한 자금이 forwardAddress로 전송됩니다. 쿼리의 token 값은 직접 검증하세요. webhook에는 서명이 없습니다.
3. 상태 API로 대조하기
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions
webhook은 “최소 한 번” 전달되는 것으로 보고, 이 엔드포인트를 기준 데이터로 사용하세요.
사용 중인 언어의 예제
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'];