8.1.2 Crear una orden de pago en moneda legal
#Breve descripción: Obtener orden de pago (recarga) en efectivo (moneda legal)
- Método de solicitud: POST
- Interfaz de solicitud: https://gateway-domain/wallet-trade-merchant/v1/receive/cash/payment/create
- Solicitar tipo de medio (formato de datos JSON) Tipo de contenido: aplicación/json
**Nota: Durante el proceso de devolución de llamada para este tipo de pedido, el tiempo de espera del pedido puede expirar debido a la demora de nuestra plataforma en recibir el pago, lo que resulta en una devolución de llamada fallida. Pero cuando llegue el dinero, el sistema volverá a emitir automáticamente la devolución de llamada con éxito. Por lo tanto, el comerciante solo necesita manejar la devolución de llamada status = "SUCCESS" (pedido exitoso). **
Parámetros de solicitud
| Nombre del parámetro | Tipo | Obligatorio | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|---|
key | string | Sí | Clave de comerciante | apiKey |
localOrderId | string | Sí | Número de pedido local de la plataforma comercial | La plataforma comercial genera un número de pedido único a nivel local |
localUserId | string | No | ID de usuario local de la plataforma comercial | ID de usuario local de la plataforma comercial |
notifyUrl | string | No | Dirección de devolución de llamada | Una vez realizado correctamente el pedido, la dirección del comerciante será notificada mediante una devolución de llamada API (los detalles de la devolución de llamada se encuentran en la parte inferior) |
successRedirectUrl | string | No | Dirección de salto | Saltar automáticamente a la dirección después del éxito |
channelCode | string | Sí | Código de canal | Obtenga el código del canal (campo ChannelCode) a través de la interfaz del documento 8.1.1 |
currency | string | Sí | Moneda | Moneda de fijación de precios de pedidos |
amount | number | Sí | Cantidad | Importe del precio del pedido |
localUserRealName | string | No | Nombre real del usuario local | |
sign | string | Sí | Firma | Consulte Algoritmo de firma para obtener más detalles |
Solicitar muestra json
{
"key": "dNNTJZpgFVWlYrVv",
"localOrderId": "conantest344",
"localUserId": "conan",
"notifyUrl": "http://127.0.0.1:8080/merchant-demo/notify/test",
"isBlockchain": true,
"channelCode":"tencentest9",
"currency": "CNY",
"amount": "100",
"localUserRealName":"柯南",
"sign": "9662c0f104123b0ccac049108f174589"
}
Ejemplo de respuesta json
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 352950471221317,
"localOrderId": "conantest344",
"uiUrl": "http://im.topup.dianfus.dx.com/imserver/chat/Yy9kQ3IvVXNta3BwWE5sUzUvYVM3M2hHU0UrNjlnSzRjdVpGa1BHWmR1RUdLU0daa3pDNjZqbm1QOTRlUnRULzI5TmNyWFhjV2xJc3ZGZFVzdTFWY2tkWHF1Tk1yeUxDajFod01QRk83K2FrVnIvRm1YY0ZpUzBOK001NEZXbXhzd0ZxdzhPUVFlaGlaTCttbFdML04wb3VPZ3kvUDFkdHJISlhwVjlXVE1JPQ=="
}
}
Descripción del parámetro de datos de respuesta
| Nombre del parámetro | Tipo | Significado del parámetro |
|---|---|---|
orderId | long | ID de pedido |
localOrderId | string | Número de pedido local de la plataforma comercial |
uiUrl | string | Dirección del enlace de pago |
Detalles de devolución de llamada
**Nota: Cuando los comerciantes con este tipo de pedido procesan notificaciones de devolución de llamada, nuestra plataforma puede retrasar la recepción del pago, lo que provoca que se agote el tiempo de cobro del pedido y, por lo tanto, se activa una notificación de devolución de llamada de pedidos fallidos. Cuando realmente se reciba el dinero, el sistema devolverá automáticamente la reemisión exitosa. ** **Por lo tanto, para este tipo de pedido, el comerciante solo necesita procesar la devolución de llamada con status = "SUCCESS" (pedido exitoso) como resultado final válido. **
El método de devolución de llamada es: aplicación POST/json
Ejemplo de jsonización de parámetros de devolución de llamada
{
"amount":"100",
"currency":"CNY",
"localOrderId":"conantest344",
"merchantId":302992856974,
"merchantUserId":"conan",
"notifyTime":1757577957437,
"orderCreateTime":1757577574425,
"orderId":"352950471221317",
"paidAmount":"100",
"status":"SUCCESS",
"type":"PAYMENT",
"isReissue":"true",
"sign":"774720acbacafca99af62b98d72154d3",
"key":"9yUreYgTRtit39Dy"
}
| Nombre del parámetro | Tipo | Firma participante | Significado del parámetro | Descripción del parámetro |
|---|---|---|---|---|
amount | decimal | Sí | Monto del pedido | |
currency | string | Sí | Moneda | |
localOrderId | string | Sí | Número de pedido local del comerciante | |
merchantId | string | Sí | Identificación del comerciante | |
merchantUserId | string | Sí | ID de usuario local de la plataforma comercial | |
notifyTime | long | Sí | Tiempo de devolución de llamada | Milisegundos |
orderCreateTime | long | Sí | Hora de creación del pedido | Milisegundos |
orderId | string | Sí | Número de pedido | |
paidAmount | decimal | Sí | Monto del pago | |
status | string | Sí | Estado del pedido | ÉXITO: Completado | FALLO: Fallido |
type | string | Sí | Tipo de pedido | PAGO pago, RETIRO retiro |
isReissue | boolean | Sí | Reedición | verdadero Sí |
sign | string | No | firma md5 | Ver algoritmo de firma para más detalles |
key | string | Sí | Clave de comerciante |
Cuando reciba la notificación de devolución de llamada, devuelva directamente la cadena éxito después de que se complete el procesamiento, lo que indica que el mensaje se recibió y procesó exitosamente. Después de que el sistema reciba la respuesta exitosa, ya no enviará la devolución de llamada repetidamente. Si no se recibe la respuesta esperada (no se devuelve el éxito o se devuelve una excepción), el sistema reenviará la notificación de devolución de llamada de acuerdo con el mecanismo de reintento escalonado, reintentando hasta 14 veces. Los intervalos de reintento actuales son: 15, 15, 30, 180, 600, 1200, 1800, 1800, 1800, 3600, 10800, 10800, 21600, 21600