Crear pedido de cobro

Crea una orden de pago compartido de cantidad fija. La respuesta incluye el número de pedido, la dirección de recepción, el pago URL y el pago status.

Se requiere notifyUrl. Las devoluciones de llamada posteriores para este pedido se entregan directamente a este URL.

POST/openapi/payin/orders

Encabezados

CampoTipoObligatorioDescripción
x-api-keystringSíComerciante API Key. Utilice el valor que comienza con mch_ de la página de configuración del comerciante API.
x-merchant-uidstringSíMerchant UID.
x-timestampstringSíMilisegundo de 13 dígitos timestamp. La desviación del reloj permitida por defecto es de 5 minutos.
x-noncestringSíCadena aleatoria única para cada solicitud, hasta 128 caracteres. Se rechaza la reutilización.
x-signaturestringSíFirma hexadecimal generada con HMAC-SHA256. La carga útil contiene Merchant UID, timestamp, nonce, método, ruta, query canónico y body canónico.

Parámetros

CampoTipoObligatorioDescripción
chainCodestringSíCódigo de cadena. Valores admitidos: TRON / BSC / SOL.
tokenSymbolstringSíSímbolo de token, por ejemplo USDT.
merchantOrderNostringSíNúmero de pedido del comerciante.
amountstringSíImporte del ingreso, hasta 6 decimales.
notifyUrlstringSíDevolución de llamada específica del pedido URL. Se recomienda un HTTPS URL público propiedad del comerciante.

Ejemplo de solicitud

{
  "chainCode": "TRON",
  "tokenSymbol": "USDT",
  "merchantOrderNo": "M202604150001",
  "amount": "100.00",
  "notifyUrl": "https://merchant.example.com/api/uugate/payin-notify"
}

Campos de respuesta

CampoTipoObligatorioDescripción
orderNostringSíNúmero de pedido de la plataforma.
merchantOrderNostring | nullSíNúmero de pedido del comerciante.
bindKeystring | nullSíBinding key for exclusive-wallet orders; empty for shared pay-in orders.
amountstring | nullSíImporte del pedido.
paidAmountstring | nullSíMonto pagado. Vaciar antes del pago.
addressstringSíDirección de recepción real.
cashierUrlstringSíPago completo URL.
paymentUristringSíPago de billetera URI.
expireAtstring | nullSíHora de vencimiento del pedido.
createdAtstring | nullSíTiempo creado.
detectedAtstring | nullSíPayment detection time; empty before detection.
confirmedAtstring | nullSíOn-chain confirmation time; empty before confirmation.
completedAtstring | nullSíOrder completion time; empty before completion.
statusstringSíOrden status.

Ejemplo de respuesta

{
  "orderNo": "PI1776193200123ABCD1234",
  "merchantOrderNo": "M202604150001",
  "bindKey": null,
  "amount": "100.000000",
  "paidAmount": null,
  "address": "TXYZ3x9nJ5J4xP2gh6mQW7rT31jB8Y2pA9",
  "cashierUrl": "https://open.uugate.com/SK/PI1776193200123ABCD1234",
  "paymentUri": "TRON:TXYZ3x9nJ5J4xP2gh6mQW7rT31jB8Y2pA9?token=USDT&amount=100.000000",
  "expireAt": "2026-04-18T06:30:00.000Z",
  "createdAt": "2026-04-18T06:00:00.000Z",
  "detectedAt": null,
  "confirmedAt": null,
  "completedAt": null,
  "status": "waiting_payment"
}

Ejemplos de código

cURL Ejemplo de solicitud
curl -X POST 'https://api.uugate.com/openapi/payin/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",
    "merchantOrderNo": "M202604150001",
    "amount": "100.00",
    "notifyUrl": "https://merchant.example.com/api/uugate/payin-notify"
  }'

Notas

  • Una orden de pago compartida puede activar 40105 cuando el mismo comerciante, cadena, token y cantidad todavía están reservados por otra orden válida.