Cómo guardar los datos de la tarjeta antes del pago inicial
Si quieres guardar la tarjeta de un cliente sin cobrarle la suscripción de inmediato, usa la API Setup Intents de Stripe para crear un objeto SetupIntent que capture los datos de la tarjeta. Este objeto SetupIntent
optimizará el flujo de autenticación cuando le cobres a tu cliente por primera vez (con la API Payment Intents), además del proceso de pagos recurrentes.
Cómo guardar los datos de la tarjeta cuando se realiza el primer pago
Si deseas guardar los datos de la tarjeta cuando se realice el primer pago, crea un objeto PaymentIntent que cobre el cargo y capture los datos de la tarjeta para usarlos más adelante. Usa el parámetro setup_future_usage para indicar cómo esperas que se realicen los pagos futuros:
-
Durante la sesión significa que el cliente realizará los pagos de manera activa en tu sitio o aplicación.
Se considera que el primer pago se realizó durante la sesión, ya que el cliente debe autenticarlo con la autenticación mediante 3D Secure.
Fuera de la sesión significa que los pagos futuros se realizarán de forma automática, independientemente de si el cliente se encuentra o no en el sitio o en la aplicación.
Cuando se crea el objeto PaymentIntent y se realiza el pago, el cliente pasa por un flujo de verificación para realizar la autenticación, a menos que se aplique un flujo sin problemas (solo disponible para 3D Secure 2).
Pagos recurrentes
Si primero creaste un objeto SetupIntent
, o bien si creaste un PaymentIntent
con el parámetro setup_future_usage
establecido como off_session
para el primer pago, en el siguiente pago se solicitará de manera automática una exención de transacción iniciada por el comerciante al emisor de la tarjeta, lo que permitirá que el pago pueda hacerse correctamente sin autenticación.
El banco emisor de la tarjeta decide si permite o no la exención. Si el emisor rechaza la solicitud de exención, el cliente deberá volver a tu sitio web o aplicación a fin de autenticar la compra durante la sesión. Para eso, se debe hacer lo siguiente:
Configurar correos electrónicos automáticos de autenticación mediante 3D Secure en tu configuración de Billing;
Usar las facturas alojadas de Stripe para enviar un correo electrónico personalizado a tu cliente que lo dirija a una URL de autenticación alojada; o bien
Redirigirlo de manera manual a la URL de autenticación desde el flujo de tu sitio web o aplicación.
Información adicional
El banco del cliente decide si permite o no las exenciones, por lo que te recomendamos que configures tu flujo de compra para pagos fuera de la sesión en caso de que no acepte la solicitud de exención.