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.
Encabezados
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| x-api-key | string | Sí | Comerciante API Key. Utilice el valor que comienza con mch_ de la página de configuración del comerciante API. |
| x-merchant-uid | string | Sí | Merchant UID. |
| x-timestamp | string | Sí | Milisegundo de 13 dígitos timestamp. La desviación del reloj permitida por defecto es de 5 minutos. |
| x-nonce | string | Sí | Cadena aleatoria única para cada solicitud, hasta 128 caracteres. Se rechaza la reutilización. |
| x-signature | string | Sí | 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
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| chainCode | string | Sí | Código de cadena. Valores admitidos: TRON / BSC / SOL. |
| tokenSymbol | string | Sí | Símbolo de token, por ejemplo USDT. |
| merchantOrderNo | string | Sí | Número de pedido del comerciante. |
| amount | string | Sí | Importe del ingreso, hasta 6 decimales. |
| notifyUrl | string | Sí | 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
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| orderNo | string | Sí | Número de pedido de la plataforma. |
| merchantOrderNo | string | null | Sí | Número de pedido del comerciante. |
| bindKey | string | null | Sí | Binding key for exclusive-wallet orders; empty for shared pay-in orders. |
| amount | string | null | Sí | Importe del pedido. |
| paidAmount | string | null | Sí | Monto pagado. Vaciar antes del pago. |
| address | string | Sí | Dirección de recepción real. |
| cashierUrl | string | Sí | Pago completo URL. |
| paymentUri | string | Sí | Pago de billetera URI. |
| expireAt | string | null | Sí | Hora de vencimiento del pedido. |
| createdAt | string | null | Sí | Tiempo creado. |
| detectedAt | string | null | Sí | Payment detection time; empty before detection. |
| confirmedAt | string | null | Sí | On-chain confirmation time; empty before confirmation. |
| completedAt | string | null | Sí | Order completion time; empty before completion. |
| status | string | Sí | 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.