Como integrar recebimentos USDT: pedidos, assinaturas e callbacks

2026-05-02 · Atualizado 2026-09-28 · UUGate · 2 min de leitura

Uma integração USDT precisa relacionar cada pedido a um pagamento verificável. A UUGate suporta TRC20-USDT e BEP20-USDT. Criação, instruções e consultas devem usar o mesmo pedido e rede. O exemplo abaixo usa TRC20 com valor fixo.

Preparar credenciais e callback

Obtenha Merchant UID, API Key e uma URL HTTPS pública própria. Mantenha a chave no servidor, nunca no navegador ou em diretório público. Verifique o comerciante, a conta de tarifas e os limites do plano. Consulte a assinatura de requisições.

Criar e salvar o pedido

Envie este corpo para POST /openapi/payin/orders pelo servidor. Ele não é uma requisição autenticada completa: use o SDK ou acrescente os cinco cabeçalhos documentados.

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

Valores monetários são strings. Salve orderNo, merchantOrderNo, cashierUrl e expireAt antes de mostrar o checkout. waiting_payment confirma a criação, não a entrada de fundos. Veja os campos e respostas.

Verificar antes de entregar

Valide timestamp, nonce e corpo original usando a API Key empregada no pedido. Não serialize novamente o JSON para conferir a assinatura. Confira comerciante, pedido, rede, ativo e valor recebido. Use uma restrição única para o pedido da plataforma e uma transação para salvar pagamento e estado comercial antes de responder 2xx. Notificações repetidas não podem gerar novo crédito ou envio. Veja os callbacks.

Recuperar resultados incertos

O retorno do navegador não comprova pagamento. Com o número da plataforma, consulte o pedido e use status=completed como sucesso final. Se a criação sofrer timeout sem retornar número, confira o resultado no painel antes de repetir. O número comercial não garante repetição idempotente da criação.

Validar antes de publicar

Próximo passo