6.1.3 Crear orden de pago OTC
#Breve descripción: Retiros de moneda Fiat a través de OTC
- Método de solicitud: POST
- Interfaz de solicitud: https://gateway-domain/wallet-trade-merchant/v1/otc/payment/create
- Solicitar tipo de medio (formato de datos JSON) Tipo de contenido: aplicación/json
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 | Después de que el pedido se procese exitosamente, 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) |
currency | string | Sí | Moneda de retiro | CNY predeterminado |
amount | number | Sí | Monto del retiro | Puede personalizar la cuota (no puede disfrutar del descuento en la tarifa del canal, la velocidad de transacción predeterminada de este pedido es AHORA) u obtener el monto del pedido a través de la interfaz del documento 6.1.2 (este monto puede disfrutar del descuento en la tarifa del canal) puede tener una precisión de dos decimales |
method | string | Sí | Método de pago | ALIPAY (Alipay), UNIONPAY (tarjeta UnionPay), WECHAT (WeChat), DIGITAL_RMB (RMB digital) |
paymentData | json | Sí | Información de pago | Consulte el ejemplo de solicitud de código a continuación |
| └beneficiario └id de cuenta | └beneficiario └id de cuenta | └número de tarjeta └beneficiario └nombre del banco | └beneficiario └código de billetera | string | Sí | beneficiario (nombre del beneficiario), accountId (número de cuenta de pago), cardNo (número de tarjeta bancaria), bankName (nombre del banco), walletCode (código RMB digital) | Ejemplo de parámetro: Parámetros de pago de Alipay { "payee":"Conan","accountId":13888888888} Parámetros de pago de WeChat { "payee":"Conan","accountId":13888888888} Parámetros de pago con tarjeta UnionPay { "payee":"Conan","cardNo":13888888888,"bankName":"Banco de China"} Parámetros de pago en RMB digital { "beneficiario":"Conan","walletCode":13888888888} |
speed | string | Sí | Velocidad de transacción | Se puede obtener a través de la interfaz del documento 6.1.1 (si es AHORA, significa que este pedido no ingresará al grupo coincidente y será procesado directamente manualmente por el operador) |
sign | string | Sí | Firma | Consulte Algoritmo de firma para obtener más detalles |
Solicitar muestra json
{
"key": "dNNTJZpgFVWlYrVv",
"localOrderId": "899952123",
"localUserId": "4114",
"notifyUrl": "http://127.0.0.1:8080/merchant-demo1/notify/test",
"currency": "CNY",
"amount": 100,
"method": "UNIONPAY",
"paymentData": {
// 银联卡
"payee":"柯南",
"cardNo":13888888888,
"bankName":"中国银行"
// 支付宝
// "payee":"柯南",
// "accountId":13888888888
// 微信
// "payee":"柯南",
// "accountId":13888888888
// 数字人民币
// "payee":"柯南",
// "walletCode":13888888888
},
"speed": "NOW",
"sign":"c6e3c292bb8cafaea50d4001185e6112"
}
Ejemplo de respuesta
{
"code": 0,
"success": true,
"message": null,
"data": {
。 "orderId": 415236189438341,
"localOrderId": "899952123"
}
}
Descripción del parámetro de datos de respuesta
| Nombre del parámetro | Tipo | Significado del parámetro |
|---|---|---|
orderId | Long | Número de pedido |
localOrderId | string | Número de pedido personalizado de la plataforma comercial |
Detalles de devolución de llamada
El método de devolución de llamada es: aplicación POST/json
Ejemplo de json del parámetro de devolución de llamada
{
"amount":"100",
"currency":"CNY",
"localOrderId":"8999521232121336",
"merchantId":302992856974,
"merchantUserId":"4114",
"notifyTime":1766134282162,
"orderCreateTime":1766133956739,
"orderId":"423044353278405",
"status":"SUCCESS",
"sign":"563eabc8cff14e401d426ff385b643ba",
"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 | |
merchantId | Long | Sí | Identificación del comerciante | |
merchantUserId | String | Sí | ID de usuario del comerciante | |
notifyTime | Long | Sí | Tiempo de devolución de llamada | |
orderCreateTime | Long | Sí | Hora de creación del pedido | |
orderId | String | Sí | Número de pedido | |
status | String | Sí | Estado de pago | ÉXITO: Completado | FALLO: Fallido |
sign | String | No | firma md5 | Consulte el algoritmo de firma para obtener más detalles |
key | String | Sí | clave API |
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