How to integrate USDT payments: orders, signatures and callbacks

2026-05-02 · Updated 2026-09-28 · UUGate · 3 min read

A USDT integration must connect a website order to a verifiable blockchain payment. UUGate supports TRC20-USDT and BEP20-USDT. Order creation, the payment instructions and status checks must refer to the same order and network. This guide follows a fixed-amount TRC20 payment.

Prepare credentials and a callback endpoint

Obtain your Merchant UID and API Key, and provide a public HTTPS callback URL. Keep the key in server-side configuration, never in browser code or a public plugin directory. Check merchant availability, the fee account and plan limits. Follow the request signing guide.

Create and persist the order

Send this body to POST /openapi/payin/orders from your server. It is a payload example, not a complete authenticated request: use an SDK or add the five documented authentication headers.

{
  "chainCode": "TRON",
  "tokenSymbol": "USDT",
  "merchantOrderNo": "EXAMPLE-20260928-001",
  "amount": "10.00",
  "notifyUrl": "https://merchant.example.com/payments/uugate"
}

Represent amounts as strings. Store orderNo, merchantOrderNo, cashierUrl and expireAt before presenting the checkout URL. A waiting_payment response confirms order creation, not receipt of funds. See the request and response fields.

Verify before fulfillment

Verify the callback timestamp, nonce and original body with the API Key used for that order. Do not serialize parsed JSON again for signature verification. Check the merchant, order, network, asset and received amount. Use a unique platform order number and a transaction to persist payment and fulfillment state before returning 2xx. A repeated notification should acknowledge the existing result without crediting or shipping again. See payment callbacks.

Recover uncertain results

A browser return page is not proof of payment. When you have the platform order number, use order lookup and require status=completed for final success. If creation times out without an order number, reconcile the result in the console first. Do not assume merchant order numbers guarantee idempotent creation retries.

Checks before launch

Next step

Stablecoin content hub

Ready to launch stablecoin payments?

Start in test mode with collection, payout, callbacks, and reconciliation before moving to production routes.