Como aceitar pagamentos em USDT (TRC20) no seu site ou bot
USDT na TRON é a forma mais comum de pagar em cripto em muitas regiões: transferências rápidas e baratas para quem paga. Este guia mostra a integração mínima com a ChainPay.
O modelo
- O seu backend pede à ChainPay um endereço de depósito para cada encomenda (ou cada utilizador).
- O pagador envia USDT para esse endereço.
- Depois de a rede confirmar a transferência, a ChainPay envia-a para a sua carteira e chama o seu webhook.
A custódia fica consigo: o destino é o seu forwardAddress e a ChainPay não mantém saldo do comerciante.
Um endereço por encomenda ou por utilizador
- Por encomenda: use um
externalReferencenovo em cada encomenda. Conciliação simples, um pagamento por endereço. - Por utilizador: reutilize o mesmo
externalReference. O endereço é permanente e recebe vários depósitos; serve para carregamentos e saldos.
Crie o endereço
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"
}'
Trate o webhook
- Verifique o valor
tokenda sua query. - Associe o pagamento por
externalReference. - Credite a encomenda apenas com
status: "confirmed". - Torne o handler idempotente: o mesmo evento pode chegar mais de uma vez.
O que o pagador paga
Cada transferência TRC20 precisa de Energy da TRON, por isso a taxa tem uma parte percentual (1 %) e uma parte fixa calculada pelo custo real da rede. Na TRON essa parte fixa ronda os 4 USDT às tarifas atuais, pelo que pagamentos muito pequenos não compensam. Defina um valor mínimo razoável. Valores atuais em Preços.
Experimente
Se quiser ver o endereço na sua conta, registe-se no cabinet, crie uma API key e envie o mesmo pedido com x-api-key. Comece com um valor pequeno.