Accepter des paiements en USDT (TRC20) sur votre site ou bot
L’USDT sur TRON est le moyen de paiement crypto le plus courant dans de nombreuses régions : transferts rapides et peu coûteux pour le payeur. Ce guide présente l’intégration minimale avec ChainPay.
Le principe
- Votre backend demande à ChainPay une adresse de dépôt pour chaque commande (ou chaque utilisateur).
- Le payeur envoie des USDT à cette adresse.
- Une fois le transfert confirmé par le réseau, ChainPay le transfère vers votre propre wallet et appelle votre webhook.
Vous gardez la garde des fonds : la destination est votre forwardAddress, et ChainPay ne détient aucun solde marchand.
Une adresse par commande ou par utilisateur
- Par commande : un nouvel
externalReferencepour chaque commande. Rapprochement simple, un paiement par adresse. - Par utilisateur : réutilisez le même
externalReference. L’adresse est permanente et peut recevoir de nombreux dépôts ; adapté aux recharges et aux soldes.
Créer l’adresse
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"
}'
Traiter le webhook
- Vérifiez la valeur
tokende votre query. - Associez le paiement via
externalReference. - Ne créditez la commande que pour
status: "confirmed". - Rendez le handler idempotent : un même événement peut arriver plusieurs fois.
Ce que paie le payeur
Chaque transfert TRC20 nécessite de l’Energy TRON : les frais comprennent donc une part en pourcentage (1 %) et une part fixe calculée sur le coût réel du réseau. Sur TRON, cette part fixe est d’environ 4 USDT aux tarifs actuels ; les très petits paiements ne sont donc pas rentables. Fixez un montant minimum raisonnable. Chiffres actuels : Tarifs.
L’essayer
Pour voir l’adresse dans votre compte, inscrivez-vous dans le cabinet, créez une clé API et envoyez la même requête avec x-api-key. Commencez par un petit montant.