Retener fondos en un método de pago
Separa la autorización y la captura del pago para crear un cargo ahora y capturar los fondos más tarde.
Cuando creas un pago, puedes aplicar una retención a un método de pago que cumpla los requisitos para reservar fondos que puedas capturar más tarde. Por ejemplo, los hoteles suelen autorizar el pago total antes de que llegue el huésped y, luego, capturan el dinero cuando termina la estadía del huésped en el hotel. Esto a veces se conoce como captura manual.
La autorización de un pago garantiza el importe reteniéndolo en el método de pago del cliente. Si usas la API, el atributo payment_method_details.card.capture_before en el cargo indica cuándo vence la autorización.
Debes capturar los fondos antes de que venza la autorización. Si la autorización vence antes de capturar los fondos, estos se liberan y el estado del pago cambia a canceled
. Obtén más información sobre los estados de los pagos asincrónicos.
Períodos de validez de la autorización
Las siguientes tablas describen los períodos de validez para autorizar diferentes tipos de transacciones.
Transacciones sin tarjeta presente
Card brand | Merchant-Initiated Transaction authorization validity window | Customer-Initiated Transaction authorization validity window |
---|---|---|
Visa | 5 days* | 7 days |
Mastercard | 7 days | 7 days |
American Express | 7 days | 7 days |
Discover | 7 days | 7 days |
* The exact authorization window is 4 days and 18 hours, to allow time for clearing processes.
Transacciones con tarjeta presente (pagos en persona)
Card brand | Authorization validity window |
---|---|
Visa | 5 days* |
Mastercard | 2 days |
American Express | 2 days |
Discover | 2 days |
* The exact authorization window is 4 days and 18 hours, to allow time for clearing processes.
Períodos de autorización de 30 días en Japón
Si tu cuenta está establecida en Japón, puedes retener transacciones en JPY de Visa, Mastercard, JCB, Diners Club y Discover durante un máximo de 30 días. Las transacciones que no son en JPY y con American Express vencen después del plazo estándar de 7 días.
Nota
A partir del 14 de abril de 2024, Visa acortó el plazo de autorización para las transacciones iniciadas por el comerciante en línea de 7 a 5 días. Visa también amplió el plazo de autorización para las transacciones en persona (Terminal) de 2 a 5 días.
Limitaciones de los métodos de pago
Antes de pasar a la implementación, comprende las siguientes limitaciones para autorizar y capturar por separado.
Solo algunos métodos de pago admiten separar la autorización de la captura. Algunos métodos de pago que admiten esto incluyen tarjetas, Affirm, Afterpay, Cash App Pay, Klarna y PayPal. Algunos métodos de pago que no admiten esto incluyen ACH e iDEAL. Obtén más información sobre la compatibilidad con las funcionalidades de los métodos de pago.
Más allá de lo que se indica en las tablas anteriores, otros métodos de pago tienen reglas y períodos de autorización diferentes:
- Pagos con tarjeta: El importe suele retenerse durante 7 días para los pagos electrónicos y 2 días para los pagos en persona con Terminal (según el tipo de transacción y la red de tarjetas). Puedes solicitar una autorización ampliada para ciertas autorizaciones de pago en línea y con Terminal que reúnan los requisitos para períodos de validez extendidos. Las redes de tarjeta también pueden restringir las autorizaciones de 1 USD que no tengas intención de capturar.
- Affirm: Si Affirm requiere un pago inicial para pedidos muy grandes, cobra el importe durante la autorización y el reembolso si no se captura el pago. Luego tienes 30 días para capturar el saldo del pago.
- Afterpay/Clearpay: Durante la autorización, el cliente paga la primera cuota de la devolución. Afterpay reembolsa el pago si nunca se captura. Luego tienes 13 días para capturar el saldo del pago.
- Cash App Pay: Las autorizaciones válidas deben capturarse en un plazo de 7 días para completar un pago.
- Klarna: Debes capturar el cargo antes de la medianoche del día calendario número 28 después de la solicitud del cargo; de lo contrario, la autorización vence. Por ejemplo, tendrías que capturar una solicitud de cargo a las 14:00 UTC del 2020-10-01 antes de las 00:00 UTC del 2020-10-29.
- PayPal: Retiene el importe durante 10 días. Stripe intenta automáticamente extender la retención por otros 10 días, lo que hace un total de 20 días. Tu preferencia de acreditación de fondos puede afectar el período de autorización. Para obtener más información, consulta autorización y captura por separado.
Usa el Dashboard para autorizar y capturar
Puedes autorizar un pago y capturar fondos por separado sin necesidad de escribir código.
- En el Dashboard, crea un nuevo pago. Selecciona Por única vez.
- Cuando ingreses o selecciones el método de pago, selecciona Más opciones y luego Capturar fondos más tarde.
El pago aparece en tu página de pagos como No capturado.
Para capturar los fondos, ve a la página de datos de pago y haz clic en Capturar.
Indicarle a Stripe que autorice únicamente
Para indicar que quieres separar la autorización y la captura, establece el valor de capture_method como manual
a la hora de crear el PaymentIntent. Este parámetro le indica a Stripe que debe autorizar el importe en el método de pago del cliente, pero no capturarlo.
Con el enfoque anterior, le dices a Stripe que solo puedes usar «capturar después de» para un PaymentIntent con métodos de pago aptos. Por ejemplo, no puedes aceptar pagos con tarjeta y débito directo SEPA (que no admiten la captura posterior) para un solo PaymentIntent. Para aceptar métodos de pago que posiblemente no admitan la captura posterior, puedes configurar la captura después del método de pago configurando capture_
en el objeto payment_
.
Por ejemplo, si configuras payment_
, solo pondrás en espera los pagos con tarjeta. Puedes gestionar los métodos de pago desde el Dashboard. Stripe gestiona la lógica para mostrar de forma dinámica los métodos de pago admisibles más pertinentes para cada cliente en función de factores como el importe de la transacción, la moneda y el flujo de pago.
Como opción, puedes indicar card
y sepa_
usando tipos de métodos de pago como en el siguiente ejemplo.
Antes de pasar a la captura, asocia un método de pago con los datos de la tarjeta al PaymentIntent y autoriza la tarjeta confirmando el PaymentIntent. Puedes hacerlo estableciendo los campos payment_
y confirm
en el PaymentIntent.
Autorizaciones ampliadas
Por lo general, la autorización de un pago con tarjeta en línea es válida durante 7 días. Para aumentar el período de validez, puedes aplicar una retención prolongada a un pago con tarjeta en línea.
Captura los fondos
Una vez autorizado el método de pago, el estado del PaymentIntent pasa a requires_
. Para capturar los fondos autorizados, haz una solicitud de captura del PaymentIntent. De esta forma, se captura el importe total autorizado de forma predeterminada. Para capturar menos o (para algunos pagos con tarjeta en línea) más que el importe inicial, especifica la opción amount_to_capture. La captura parcial libera automáticamente el importe restante. Si intentas capturar un importe superior al importe inicial para un pago con tarjeta en línea, consulta la documentación sobre sobrecapturas.
El siguiente ejemplo muestra cómo capturar USD 7.50 del pago autorizado de USD 10.99:
Aunque algunos pagos con tarjeta cumplen los requisitos para multicaptura, solo puedes realizar una captura de un pago autorizado para la mayoría de los pagos. Si capturas parte del pago, no podrás hacer otra captura por la diferencia. (En su lugar, considera guardar los datos del método de pago del cliente para más adelante y crear pagos futuros según sea necesario).
Los extractos de las tarjetas de algunos emisores y las interfaces de los métodos de pago no siempre distinguen entre autorizaciones y pagos capturados (acreditados), lo que puede resultar confuso para el cliente.
Además, cuando un cliente completa el proceso de pago en un PaymentIntent con captura manual, se activa el evento payment_
. Puedes inspeccionar la propiedad amount_capturable del PaymentIntent para determinar el importe total que puedes capturar del PaymentIntent.
Cancelar la autorización
Si necesitas cancelar una autorización, puedes cancelar el PaymentIntent.