Reintentos de transacción

Yuno ofrece a los comerciantes la posibilidad de reintentar la captura y el reembolso de transacciones que hayan tenido errores o hayan sido rechazadas por el proveedor. Esta función busca mejorar las tasas de éxito de las transacciones y la experiencia del usuario. Al configurar... simplified_mode campo a true en el captura y reembolso En caso de solicitudes, Yuno reintentará automáticamente las transacciones fallidas hasta siete veces en un período de 96 horas. El sistema gestiona las siguientes situaciones durante el proceso de reintento:

Capturar transacciones

Las transacciones de captura pueden presentar diversos estados durante y después del proceso de reintento. La siguiente tabla detalla estos estados:

Pago mientras el reintento está en cursoPago después de reintentos exitososPago después de reintentos fallidos
SUCCEEDED / CAPTURE_RETRY_IN_PROCESSSUCCEEDED / CAPTURED o PARTIALLY_CAPTURED dependiendo de la cantidad.SUCCEEDED / CAPTURE_RETRY_PROCESS_FAILED

Transacciones de reembolso

Las transacciones de reembolso también tienen estados específicos durante y después del proceso de reintento. La siguiente tabla describe estos estados:

Pago mientras el reintento está en cursoPago después de reintentos exitososPago después de reintentos fallidos
SUCCEEDED / REFUND_RETRY_IN_PROCESSREFUNDED / REFUNDED o SUCCEEDED / PARTIALLY_REFUNDED dependiendo del monto.SUCCEEDED / APROBADO

Beneficios

Esta característica proporciona varias ventajas:

  • Mejores tasas de éxito de las transacciones: Los reintentos automáticos aumentan la probabilidad de que las transacciones se completen con éxito, lo que conlleva mayores tasas de aprobación y mayores ingresos.
  • Mejora de la experiencia del usuario: Al reintentar automáticamente las transacciones fallidas, se reduce la fricción con el usuario, lo que mejora la satisfacción general del cliente y su retención.
  • Eficacia operativa: La automatización de los intentos de reintento optimiza el tiempo y los recursos al minimizar la intervención manual en las transacciones fallidas, lo que permite a los equipos centrarse en tareas estratégicas.

Esquema de reintento

El esquema de reintentos está diseñado para maximizar el éxito de las transacciones programando reintentos en intervalos estratégicos.

La siguiente tabla describe los intervalos entre cada reintento. Tenga en cuenta que cada reintento se programa según el momento del último intento, lo que significa que el tiempo entre reintentos es acumulativo.

EventoFecha límite después del primer intento
Primer intento-
Segundo intento5 minutos
Tercer intento50 minutos
Cuarto intento6 horas
Quinto intento24 horas
Sexto intento48 horas
Séptimo intento96 horas

Esta tabla ilustra que cada reintento se realiza según el tiempo transcurrido desde el intento anterior, no desde el intento inicial. Por ejemplo, el cuarto reintento se realiza 6 horas después del tercero, en lugar de 6 horas después del primero. El programa completo abarca 7 días y 7 horas en total.

Ejemplos

A continuación se muestran ejemplos de solicitudes de autorización de captura y reembolso utilizando el modo simplificado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/capture \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "amount": {
    "currency": "JPY",
    "value": 300
  },
  "simplified_mode": true,
  "description": "Confirmed",
  "reason": "PRODUCT_CONFIRMED",
  "merchant_reference": "AAB01-432245"
}
'
curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/refund \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "simplified_mode": true,
  "description": "Refund",
  "reason": "REQUESTED_BY_CUSTOMER",
  "merchant_reference": "AAB01-432245"
}
'