Web サイトやボットで USDT(TRC20)決済を受け付ける方法
TRON 上の USDT は、多くの地域で最も一般的な暗号資産の支払い手段です。支払者にとって送金が速く安価だからです。このガイドでは ChainPay との最小構成の連携を説明します。
仕組み
- バックエンドが注文(またはユーザー)ごとに ChainPay へ入金アドレスを要求します。
- 支払者がそのアドレスへ USDT を送ります。
- ネットワークが送金を承認すると、ChainPay があなたのウォレットへ転送し、webhook を呼び出します。
資金の管理はあなたが行います。送り先は forwardAddress で、ChainPay は加盟店の残高を保持しません。
注文ごと、またはユーザーごとに 1 アドレス
- 注文ごと:注文ごとに新しい
externalReferenceを使います。照合が簡単で、1 アドレスにつき 1 回の支払いです。 - ユーザーごと:同じユーザーには同じ
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 付きで送ってください。まずは少額から始めましょう。