웹사이트나 봇에서 USDT(TRC20) 결제를 받는 방법
TRON의 USDT는 많은 지역에서 가장 흔한 암호화폐 결제 수단입니다. 결제자에게 송금이 빠르고 저렴하기 때문입니다. 이 가이드는 ChainPay와의 최소 연동 방법을 설명합니다.
동작 방식
- 백엔드가 주문(또는 사용자)마다 ChainPay에 입금 주소를 요청합니다.
- 결제자가 해당 주소로 USDT를 보냅니다.
- 네트워크가 송금을 확인하면 ChainPay가 내 지갑으로 전송하고 webhook을 호출합니다.
자산 보관은 직접 합니다. 목적지는 forwardAddress이며, ChainPay는 가맹점 잔액을 보유하지 않습니다.
주문별 또는 사용자별 주소 하나
- 주문별: 주문마다 새
externalReference를 사용합니다. 대조가 쉽고 주소당 결제는 한 건입니다. - 사용자별: 같은 사용자에게는 같은
externalReference를 재사용합니다. 주소가 영구적이고 여러 입금을 받을 수 있어 충전과 잔액 관리에 적합합니다.
주소 만들기
curl -X POST https://api.chainpay.site/deposit-address \
-H 'content-type: application/json' \
-d '{
"ticker": "trc20/usdt",
"callbackUrl": "https://shop.example.com/crypto-webhook?token=SECRET",
"forwardAddress": "TYourOwnTronWallet...",
"externalReference": "order-123"
}'
webhook 처리하기
- 쿼리의
token값을 검증하세요. externalReference로 결제를 매칭하세요.status: "confirmed"일 때만 주문에 반영하세요.- 핸들러를 멱등하게 만드세요. 같은 이벤트가 여러 번 올 수 있습니다.
결제자가 내는 비용
모든 TRC20 송금에는 TRON Energy가 필요하므로 수수료는 비율 부분(1 %)과 실시간 네트워크 비용에 따른 고정 부분으로 구성됩니다. TRON에서 이 고정 부분은 현재 시세로 약 4 USDT이므로 아주 소액 결제는 경제성이 없습니다. 적절한 최소 주문 금액을 정하세요. 최신 수치는 요금에서 확인하세요.
직접 해 보기
계정에서 주소를 확인하고 싶다면 cabinet에 가입하고 API key를 만든 뒤 같은 요청을 x-api-key와 함께 보내세요. 소액으로 시작하세요.