Criar ordem de pagamento de saída

Cria uma ordem de pagamento. Após o sucesso, a plataforma congela o valor do pagamento e a taxa de rede e, em seguida, retorna os detalhes do pedido.

Se fromAddress não for fornecido, o sistema seleciona automaticamente um endereço com saldo suficiente. Se nenhum estiver disponível, retornará saldo de endereço insuficiente.

POST/openapi/payout/orders

Cabeçalhos

CampoTipoObrigatórioDescrição
x-api-keystringSimComerciante API Key. Use o valor que começa com mch_ na página de configurações do comerciante API.
x-merchant-uidstringSimMerchant UID.
x-timestampstringSimMilissegundos de 13 dígitos timestamp. O desvio padrão permitido do relógio é de 5 minutos.
x-noncestringSimString aleatória exclusiva para cada solicitação, com até 128 caracteres. A reutilização é rejeitada.
x-signaturestringSimAssinatura hexadecimal gerada com HMAC-SHA256. A carga útil contém Merchant UID, timestamp, nonce, método, caminho, query canônico e body canônico.

Parâmetros

CampoTipoObrigatórioDescrição
chainCodestringSimCódigo da cadeia. Valores suportados: TRON / BSC / SOL.
tokenSymbolstringSimSímbolo simbólico.
fromAddressstringNãoEndereço do remetente especificado. Se omitido, o sistema atribui um automaticamente.
toAddressstringSimEndereço de recebimento.
amountstringSimValor do pagamento, até 6 casas decimais.
deleteSourceAfterSuccessbooleanNãoBooleano JSON opcional, false por padrão. Quando true, exclui logicamente a origem somente após este pagamento ser confirmado na blockchain; falha ou cancelamento não exclui. Pagamentos não exigem reserva de saldo.
merchantOrderNostringSimNúmero do pedido do comerciante.
notifyUrlstringSimRetorno de chamada específico do pedido URL. Recomenda-se um HTTPS URL público de propriedade do comerciante.

Exemplo de requisição

{
  "chainCode": "TRON",
  "tokenSymbol": "USDT",
  "fromAddress": "TNjBrNq2a9FK2vwu4W9C1QdLKSZ42Yx5YY",
  "toAddress": "TS7b7iD8G2PaPqK1TqSmLJ9nrrYH4oKX1S",
  "amount": "35.50",
  "deleteSourceAfterSuccess": false,
  "merchantOrderNo": "PO202604150001",
  "notifyUrl": "https://merchant.example.com/api/uugate/payout-notify"
}

Campos da resposta

CampoTipoObrigatórioDescrição
orderNostringSimNúmero da ordem de pagamento da plataforma.
merchantOrderNostring | nullSimNúmero do pedido do comerciante.
fromAddressstring | nullSimEndereço real do remetente.
toAddressstringSimEndereço de recebimento.
amountstringSimValor do pagamento.
txHashstring | nullSimHash on-chain retornado após transmissão.
statusstringSimenviado / transmitido / confirmed / failed.
submittedAtstring | nullSimHora enviada.
broadcastedAtstring | nullSimHora da transmissão.
confirmedAtstring | nullSimHora de confirmação.
failedAtstring | nullSimHora falhada.
createdAtstring | nullSimTempo criado.

Exemplo de resposta

{
  "orderNo": "PO1776193200A1B2C3D4",
  "merchantOrderNo": "PO202604150001",
  "fromAddress": "TNjBrNq2a9FK2vwu4W9C1QdLKSZ42Yx5YY",
  "toAddress": "TS7b7iD8G2PaPqK1TqSmLJ9nrrYH4oKX1S",
  "amount": "35.500000",
  "txHash": "b3d4fb0cb11eb86bb906d1e0ee3b84e17f40d5441d1e4c651ea46920a48a9a01",
  "status": "broadcasted",
  "submittedAt": "2026-04-15T03:00:00Z",
  "broadcastedAt": "2026-04-15T03:00:08Z",
  "confirmedAt": null,
  "failedAt": null,
  "createdAt": "2026-04-15T03:00:00Z"
}

Exemplos de código

cURL Exemplo de solicitação
curl -X POST 'https://api.uugate.com/openapi/payout/orders' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: mch_xxxxxxxxxxxxxxxxxxxx' \
  -H 'x-merchant-uid: 880001' \
  -H 'x-timestamp: 1776193200000' \
  -H 'x-nonce: 2f5c7b147c3748f0a8b3d9bb38aa91a4' \
  -H 'x-signature: <SIGNATURE_HEX>' \
  -d '{
    "chainCode": "TRON",
    "tokenSymbol": "USDT",
    "fromAddress": "TNjBrNq2a9FK2vwu4W9C1QdLKSZ42Yx5YY",
    "toAddress": "TS7b7iD8G2PaPqK1TqSmLJ9nrrYH4oKX1S",
    "amount": "35.50",
    "deleteSourceAfterSuccess": false,
    "merchantOrderNo": "PO202604150001",
    "notifyUrl": "https://merchant.example.com/api/uugate/payout-notify"
  }'

Notas

  • A API publica oferece apenas pagamentos individuais. Pagamentos em lote estao disponiveis somente no painel do comerciante.
  • Um pagamento de 10 exige pelo menos 10 de saldo disponível na origem, sem reserva adicional, independentemente de deleteSourceAfterSuccess. O valor não é reduzido; a conta de taxas deve cobrir a taxa de rede.
  • Envie true / false, nao strings. Tentativas com o mesmo merchantOrderNo devem manter o parametro. Nao e possivel excluir a origem com outras transferencias pendentes.
  • Criacao ou transmissao bem-sucedida nao e confirmacao na blockchain. A exclusao logica preserva historico, registros e referencias de chaves. Falha ou cancelamento preserva a origem.
  • The create API automatically attempts submission. Use status from the response or a later query; an HTTP 2xx alone is not on-chain success.