H Honor
ES
DiDi finanzas

Documentos

Proporciona pautas de integración, documentación de API, instrucciones de prueba y otra información necesaria a lo largo del proceso de integración

2.8 Refund

2.8 Reembolso

  • Ruta: /external/refund/V1

  • Método: POST

  • Descripción de API: Esta API es para que el socio reembolse la transacción. Puede utilizarse tanto en escenarios iniciados por el cliente como en escenarios iniciados por el sistema.

Mensaje de solicitud

Encabezado de la solicitud

Nombre del campo Descripción del campo Valor del parámetro Presente(Obligatorio / Opcional / Condicional) Observaciones
Content-Type Tipo de contenido application/json Obligatorio
Authorization Este es el valor de autenticación de la identidad del socio. Bearer {ACCESS-TOKEN} Obligatorio Para más detalles, consulte la "Parte 2 Configuración de socio de DiDi BNPL y Env. Configuración".
El socio puede obtener el valor del TOKEN DE ACCESO mediante la llamada a la API de tokens.
Cuando caduque el acceso, vuelva a llamar a la API de tokens para obtener el nuevo token de acceso.
X-Paylater-Request-Id UUID uuid.
Example: 550e8400-e29b-41d4-a716-446655440000
Obligatorio Cadena UUID v4 obligatoria. DiDi rechazará las solicitudes con formato no válido.

Cuerpo de la solicitud

Nombre del campo Tipo Descripción del campo Presente(Obligatorio / Opcional / Condicional) Observaciones
partnerOrderId Cadena ID del documento de pago del comerciante Obligatorio
partnerRefundId Cadena ID del formulario de reembolso del comerciante Obligatorio Clave idempotente
refundAmount Largo Monto del reembolso Obligatorio Importe real del reembolso
La unidad de cantidad es el céntimo. Por ejemplo, si es 99,99 pesos, el valor aquí debería ser 9999.
Importe del reembolso = suma (Precio unitario del reembolso * Cantidad del reembolso)
refundType Cadena Tipo de reembolso Obligatorio Enumeración:
PART_REFUND-Reembolso parcial
REEMBOLSO_COMPLETO-reembolso completo
currency Cadena Moneda Obligatorio Estándar ISO 4217
México MXN
refundTime Cadena Tiempo de reembolso Obligatorio patrón:aaaa-MM-dd'T'HH:mm:ss.SSSXXX
por ejemplo, '2025-12-08T01:11:33.000+08:00'. El desfase horario es obligatorio.

Ejemplo de solicitud

{
    "partnerOrderId": "1e1e51a8-8d38-11ef-b32d-ca3c6358d263",
    "partnerRefundId": "f0136e12-8d3f-11ef-b32d-ca3c6358d263",
    "refundAmount": 5000,
    "refundType":"ALL_REFUND",
    "currency": "MXN",
    "refundTime": "2024-10-11T17:10:00.000+08:00"
}

Mensaje de respuesta

Encabezado de respuesta

Nombre del campo Descripción del campo Valor del parámetro Presente(Obligatorio / Opcional / Condicional) Observaciones
Content-Type Tipo de contenido application/json Obligatorio

Cuerpo de la respuesta

Nombre del campo Tipo Descripción del campo Presente(Obligatorio / Opcional / Condicional) Observaciones
code Cadena Código de retorno Obligatorio Valor de enumeración:
SUCCESS
FAILED
RATE_LIMIT
INVALID_TOKEN
message Cadena Descripción del código de respuesta Obligatorio
data Objeto Información del pedido de reembolso Opcional
partnerRefundId Cadena ID del formulario de reembolso del comerciante Obligatorio
partnerOrderId Cadena ID de documento de pago del lado del comerciante original Obligatorio
orderId Cadena Id. de pedido original Opcional Create payment order API on DiDi Paga Después side
refundId Cadena ID de reembolso Opcional DiDi Paga Después-side generation
partnerUid Cadena ID de usuario del comerciante Opcional
refundAmount Largo Monto del reembolso Obligatorio Importe real del reembolso
La unidad de cantidad es el céntimo. Por ejemplo, si es 99,99 pesos, el valor aquí debería ser 9999.
refundType Cadena Tipo de reembolso Opcional Enumeración:
PART_REFUND-Reembolso parcial
REEMBOLSO_COMPLETO-reembolso completo
currency Cadena Moneda Opcional Estándar ISO 4217
México MXN
refundStatus Cadena Estado de reembolso Opcional Enumeración:
INIT: Inicializar
PENDING: Procesamiento
ÉXITO: ÉXITO
FALLO: FALLO
rejectCode Cadena Código de rechazo Opcional Enumeración:
CantidadNoPermitida-El monto del reembolso no cumple con las condiciones requeridas.
AlreadyRefund: solicitud de reembolso duplicada
PaylaterRuleRechazado: Rechazado por las reglas de Paylater
UnpaidOrder: La orden no ha sido pagada
NotExistOrder: el orden no existe
rejectMsg Cadena Motivo de rechazo Opcional
refundTime Cadena Tiempo de reembolso Opcional patrón:aaaa-MM-dd'T'HH:mm:ss.SSSXXX
por ejemplo, '2025-12-08T01:11:33.000+08:00'. El desfase horario es obligatorio.
createTime Cadena Tiempo de creación de reembolso Opcional patrón:aaaa-MM-dd'T'HH:mm:ss.SSSXXX
por ejemplo, '2025-12-08T01:11:33.000+08:00'. El desfase horario es obligatorio.
updateTime Cadena Tiempo de actualización de reembolso Opcional patrón:aaaa-MM-dd'T'HH:mm:ss.SSSXXX
por ejemplo, '2025-12-08T01:11:33.000+08:00'. El desfase horario es obligatorio.
test Booleano Etiqueta de la hoja de prueba Opcional
error Objeto Error Opcional
errorCode Cadena Código de error Opcional
errorMessage Cadena Descripción del código de error Opcional

Ejemplo de respuesta

{
    "code": "SUCCESS",
    "message": "SUCCESS",
    "data": {
        "partnerOrderId": "1e1e51a8-8d38-11ef-b32d-ca3c6358d263",
        "partnerRefundId": "f0136e12-8d3f-11ef-b32d-ca3c6358d263",
        "orderId": "189d141e-xxxx-11ef-b32d-ca3c6358d263",
        "refundId": "1658fd86-8d41-11ef-b32d-ca3c6358d263",
        "partnerUid": "01213121131",
        "refundAmount": 5000,
        "refundType": "ALL_REFUND",
        "currency": "MXN",
        "refundStatus": "INIT",
        "rejectCode": null,
        "rejectMsg": null,
        "refundTime": "2024-10-14T16:30:39.000+08:00",
        "createTime": "2024-10-14T16:30:39.000+08:00",
        "updateTime": "2024-10-14T16:30:39.000+08:00",
        "test": true
    },
    "error": null
}
Se copió correctamente.