Cancelar y capturar flujo
Cuando se integra con Yuno, tiene múltiples opciones para implementar operaciones de captura y cancelación. Esta guía describe todos los enfoques disponibles y explica cómo interactuar con nuestras API para cada escenario.
Ofrecemos captura sencilla en tiempo real para transacciones rápidas, así como configuraciones de captura diferida y cancelación altamente personalizables para satisfacer las necesidades de tu empresa.
Visión general
- Modos de captura
- Cancelar modos
- Requisitos de configuración
- Ejemplos de solicitudes
- Cuándo utilizar cada modo
- Referencia de campo
Modos de captura
Yuno ofrece tres opciones para captar los pagos, determinadas por el capture y el campo opcional delayed_capture_settings que se encuentra en crear API de pago. La disponibilidad real de la función o los detalles específicos de implementación pueden variar en función del proveedor de pago a través del cual se enrutan los pagos.
Captura en tiempo real
Este modo procesa el pago transfiere los fondos sin demora, combinando eficazmente la autorización y la captura en un solo paso. compra operación. Cuando payment_method.detail.card.capture está configurado para true, la transacción se ejecuta como una compra, lo que significa que la autorización y el cobro se realizan simultáneamente.
Dependiendo de la API del proveedor de pago, Yuno puede ejecutar esto como una transacción de compra directa o como una autorización inmediatamente seguida de una llamada de captura.
{
"payment_method": {
"detail": {
"card": {
"capture": true,
"card_data": {
// card details
}
}
}
}
}Captura manual
Con esta configuración, Yuno no capturará el pago hasta que llame a la función API de captura o capturarlo manualmente en su Dashboard de Yuno. Establecer capture: false para autorizar el pago sin capturarlo.
Las capturas manuales ofrecen la máxima flexibilidad, ya que le permiten controlar totalmente cuándo se realiza la captura. Sin embargo, es importante realizar la captura lo antes posible, ya que los proveedores de pago aplican límites de tiempo a las autorizaciones que no se han capturado, y estos límites varían según el proveedor y la región.
{
"payment_method": {
"detail": {
"card": {
"capture": false,
"card_data": {
// card details
}
}
}
}
}
Captura de distintos importesSi necesita capturar una cantidad diferente a la autorizada inicialmente, deberá utilizar la captura manual. Los modos de captura en tiempo real y diferida siempre capturarán el importe autorizado inicialmente.
Retraso en la captura
Configure capture: false junto con delayed_capture_settings para programar la captura del pago para una hora posterior, especificada en el delay .
Solo capturas por el importe totalLa captura diferida solo se aplica cuando se captura el importe total de la autorización. Si necesitas capturar un importe parcial, debes utilizar la captura manual.
simplified_modeConfiguración
simplified_modeatruehará que Yuno reintente la operación de captura en caso de que ocurra un error durante el intento de captura programado.
{
"payment_method": {
"detail": {
"card": {
"capture": false,
"delayed_capture_settings": {
"delay": "P7D",
"simplified_mode": false
},
"card_data": {
// card details
}
}
}
}
}El objeto delay es obligatorio cuando se utilizan operaciones de captura diferida y debe seguir el campo Norma ISO 8601. Por ejemplo:
"PT3H"durante 3 horas"P7D"durante 7 días"P1M"durante 1 mes
Si llamas a la API de captura antes de la hora programada, tu llamada anulará el retraso y ejecutará la captura inmediatamente. Esta acción cancela automáticamente el disparador Yuno programado. Alternativamente, puedes capturar el pago a través de tu panel de control Yuno.
Cancelar modos
Cuando autorizas un pago sin capturarlo inmediatamente, esos fondos se retienen temporalmente en el método de pago del cliente. Si decide no capturar el pago, es importante cancelar la autorización para liberar esos fondos retenidos y ofrecer una mejor experiencia al cliente. Los modos de cancelación le permiten controlar cuándo y cómo se anulan estas autorizaciones.
Cancelación manual
Con el modo de cancelación manual, los pagos autorizados permanecen activos hasta que los canceles explícitamente. Yuno no anulará automáticamente estas autorizaciones, dándote el control total sobre cuándo liberar los fondos. Puedes cancelar autorizaciones utilizando la API de cancelación o a través de la interfaz de tu panel de control de Yuno.
Es crucial cancelar las autorizaciones que no se van a capturar lo antes posible para liberar los fondos retenidos. La experiencia del cliente se ve afectada significativamente cuando no se cancelan las autorizaciones, ya que los fondos pueden permanecer reservados durante periodos variables en función de la región del cliente y de la red de tarjetas.
Anulación diferida
Configure delayed_cancel_settings para establecer un retraso al cancelar autorizaciones no capturadas, similar a las capturas retrasadas. Esta función automatiza la liberación de los fondos del cliente si decide no capturarlos en un plazo determinado, lo que mejora significativamente la experiencia del cliente al evitar retenciones indefinidas en sus métodos de pago.
El objeto delay es obligatorio cuando se utilizan operaciones de cancelación diferida y debe seguir al campo Norma ISO 8601. Por ejemplo:
"PT3H"durante 3 horas"P7D"durante 7 días"P30D"durante 30 días
simplified_modeConfiguración
simplified_modeatruehará que Yuno reintente la operación de cancelación en caso de que ocurra un error durante el intento de cancelación programado.
{
"payment_method": {
"detail": {
"card": {
"capture": false,
"delayed_cancel_settings": {
"delay": "P30D",
"simplified_mode": false
},
"card_data": {
// card details
}
}
}
}
}Si llamas a la API de captura o cancelación antes de la hora programada, tu llamada anulará el retraso y ejecutará la acción inmediatamente. Esta acción cancela automáticamente el activador Yuno programado. También puedes capturar o cancelar el pago a través de tu panel de control de Yuno.
Ajustes de captura retardada y cancelaciónSe recomienda no utilizar ambos
delayed_capture_settingsydelayed_cancel_settingssimultáneamente para evitar comportamientos inesperados. Utiliza solo uno a la vez en función de tus necesidades.
Requisitos de configuración
delayed_capture_settingsydelayed_cancel_settingssólo son válidos cuandocapture = false- Si el
capture = trueestos objetos deben omitirse o definirse comonull - Las operaciones manuales se pueden realizar a través de endpoints la API o a través del panel de control de Yuno.
Ejemplos de solicitudes
Ejemplo 1: Captura en tiempo real
{
"country": "US",
"amount": {
"currency": "USD",
"value": "20000"
},
"customer_payer": {
"id": "<customer_id>",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]"
},
"workflow": "DIRECT",
"payment_method": {
"detail": {
"card": {
"capture": true,
"card_data": {
"number": "4111111111111111",
"expiration_month": 11,
"expiration_year": 28,
"security_code": "123",
"holder_name": "John Doe"
}
}
},
"type": "CARD"
},
"account_id": "<account_id>",
"description": "Real-time capture payment",
"merchant_order_id": "000023"
}Ejemplo 2: Sólo captura manual
{
"country": "US",
"amount": {
"currency": "USD",
"value": "20000"
},
"customer_payer": {
"id": "<customer_id>",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]"
},
"workflow": "DIRECT",
"payment_method": {
"detail": {
"card": {
"capture": false,
"card_data": {
"number": "4111111111111111",
"expiration_month": 11,
"expiration_year": 28,
"security_code": "123",
"holder_name": "John Doe"
}
}
},
"type": "CARD"
},
"account_id": "<account_id>",
"description": "Authorization only - manual capture",
"merchant_order_id": "000024"
}Ejemplo 3: Captura diferida
{
"country": "US",
"amount": {
"currency": "USD",
"value": "20000"
},
"customer_payer": {
"id": "<customer_id>",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]"
},
"workflow": "DIRECT",
"payment_method": {
"detail": {
"card": {
"capture": false,
"delayed_capture_settings": {
"delay": "P7D",
"simplified_mode": false
},
"card_data": {
"number": "4111111111111111",
"expiration_month": 11,
"expiration_year": 28,
"security_code": "123",
"holder_name": "John Doe"
}
}
},
"type": "CARD"
},
"account_id": "<account_id>",
"description": "Authorization with delayed capture",
"merchant_order_id": "000025"
}Ejemplo 4: Anulación diferida
{
"country": "US",
"amount": {
"currency": "USD",
"value": "20000"
},
"customer_payer": {
"id": "<customer_id>",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]"
},
"workflow": "DIRECT",
"payment_method": {
"detail": {
"card": {
"capture": false,
"delayed_cancel_settings": {
"delay": "P30D",
"simplified_mode": false
},
"card_data": {
"number": "4111111111111111",
"expiration_month": 11,
"expiration_year": 28,
"security_code": "123",
"holder_name": "John Doe"
}
}
},
"type": "CARD"
},
"account_id": "<account_id>",
"description": "Authorization with delayed cancel",
"merchant_order_id": "000026"
}Ejemplo 5: Captura y cancelación combinadas con validación mejorada
Este ejemplo muestra un pago pedido completopedido configuraciones de captura diferida y cancelación, junto con campos de validación de clientes mejorados:
{
"country": "US",
"amount": {
"currency": "USD",
"value": "20000"
},
"customer_payer": {
"merchant_customer_validations": {
"account_is_verified": true,
"email_is_verified": true,
"phone_is_verified": true
},
"id": "<customer_id>",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]"
},
"workflow": "DIRECT",
"payment_method": {
"detail": {
"card": {
"capture": false,
"delayed_capture_settings": {
"delay": "P20D",
"simplified_mode": true
},
"delayed_cancel_settings": {
"delay": "P40D",
"simplified_mode": true
},
"card_data": {
"number": "4111111111111111",
"expiration_month": 11,
"expiration_year": 28,
"security_code": "123",
"holder_name": "John Doe"
},
"verify": false
}
},
"type": "CARD"
},
"account_id": "<account_id>",
"description": "Payment with card details",
"merchant_order_id": "000023"
}
NotaAunque este ejemplo muestra ambos
delayed_capture_settingsydelayed_cancel_settingsconfigurados juntos, recomendamos utilizar solo uno a la vez para evitar comportamientos inesperados.
Cuándo utilizar cada modo
Utiliza la captura en tiempo real cuando:
- Usted proporciona bienes o servicios de forma inmediata
- No necesita validar el inventario ni realizar comprobaciones de fraude tras la autorización
- Quieres el flujo de pago más simple
Utiliza la captura manual cuando:
- Es necesario verificar el inventario antes de finalizar el pago
- Desea capturar una cantidad diferente a la autorizada
- Tiene una lógica de negocio compleja que determina si capturar o cancelar
- Necesitas el máximo control sobre el tiempo de captura
Utiliza la captura retardada cuando:
- Desea la captura automática después de un período de tiempo específico
- Tiene un proceso de cumplimiento predecible
- Quiere reducir la intervención manual manteniendo el control
Utiliza la cancelación retardada cuando:
- Desea liberar automáticamente los fondos de los clientes si no los capta en un plazo determinado.
- Quiere mejorar la experiencia del cliente no reteniendo fondos indefinidamente
- Tiene un plazo máximo para tu proceso de cumplimiento
Referencia de campo
| Campo | Tipo | Descripción |
|---|---|---|
capture | boolean | Determina si el pago la tarjeta se captura inmediatamente (truecompra) o sólo autorizado (falserequiere captura o cancelación). |
delayed_capture_settings.delay | string | Retraso antes de que Yuno capture el pago. Debe seguir el formato de duración ISO 8601 (por ejemplo, "P7D" para 7 días, "PT3H" para 3 horas). |
delayed_capture_settings.simplified_mode | boolean | Si el trueYuno reintenta la captura si falla. |
delayed_cancel_settings.delay | string | Plazo antes de que Yuno cancele la autorización. Debe seguir el formato de duración ISO 8601 (por ejemplo, "P30D" para 30 días). |
delayed_cancel_settings.simplified_mode | boolean | Si el trueYuno reintenta la cancelación si falla. |
Actualizado hace 2 meses