¿Qué diferencias hay entre «durante la sesión» y «fuera de la sesión», y por qué es importante?

«Durante la sesión» es cuando el cliente paga en tu aplicación o sitio web. «Fuera de la sesión» es cuando el pago se inicia de forma automática o cuando lo inicia el comerciante. Esta terminología es específica de Stripe y se usa para representar cómo se ha creado el intento de pago y comprender mejor las acciones que pueden ocurrir o no durante el proceso de pago.

Cuando se hace un pago «durante la sesión», el cliente está en tu sitio web o aplicación móvil e intenta pagarte. Si el pago falla, puede volver a intentarlo con otro método. Si es necesario llevar a cabo una acción adicional (como pasar 3D Secure o redirigir al usuario a un socio como Klarna, entre otras), puede seguir esos pasos de inmediato para completar el pago.

De forma predeterminada, los pagos de nuestra API ocurren «durante la sesión». No tienes que enviar ningún parámetro concreto para indicarlo, pero, si quieres hacerlo, puedes enviar el parámetro off_session establecido en false (que es el valor predeterminado) cuando confirmes el PaymentIntent.

Cuando se hace un pago «fuera de la sesión», el cliente no está en tu sitio web ni aplicación para confirmar el pago. Estos son algunos ejemplos de pagos «fuera de la sesión»:

Si es necesario hacer algo tras la confirmación de un pago «fuera de la sesión», el cliente tiene que volver a estar «durante la sesión» para hacerlo.

En el caso de un pago «fuera de la sesión», tienes que enviar el parámetro off_session establecido en true cuando confirmes el PaymentIntent. En los pagos de renovación de Billing ya está configurado automáticamente.

¿Por qué es importante indicar si un pago se ha hecho fuera de la sesión?

En un pago «fuera de la sesión», el cliente no está presente para confirmarlo. En pagos con tarjeta, por ejemplo, implica que no se puede usar 3D Secure. Del mismo modo, el cliente no podría indicar el CAPTCHA ni hacer ninguna otra verificación o acción manual que fuera necesaria.

Si indicas que el pago que estás iniciando ocurre «fuera de la sesión», permites que Stripe omita algunos de esos pasos o solicite una exención al socio (redes de tarjetas, «compra ahora, paga después», etc.). Por ejemplo, Stripe puede solicitar una exención en las transacciones con tarjeta si las marca como alguna de las siguientes:

Ten en cuenta que, si estableces off_session: true, puede que marquemos la transacción como recurrente en la red de tarjetas.