Quelle est la différence entre « en session » et « hors session » et pourquoi est-elle importante?

On entend par « en session » le moment où le client paie sur votre application/site Web, et par « hors session » le moment où le paiement est initié automatiquement ou par le marchand. Cette terminologie spécifique à Stripe vise à représenter la manière dont la tentative de paiement a été créée et à mieux comprendre quelles actions peuvent ou ne peuvent pas se produire au cours du processus de paiement.

Lorsqu'un paiement est effectué « en session », le client est présent sur votre site Web ou votre application mobile et tente de vous payer. Si le paiement échoue, il peut réessayer avec un autre moyen de paiement. Si le paiement nécessite une action supplémentaire (passer par 3D Secure, être redirigé vers un partenaire comme Klarna, etc.), il peut passer par ces étapes immédiatement pour finaliser le paiement.

Par défaut, les paiements dans notre API sont « en session ». Aucun paramètre spécifique n'est nécessaire pour l'indiquer, mais si vous voulez être explicite, vous pouvez définir le paramètre off_session sur false (qui est la valeur par défaut) lors de la confirmation du PaymentIntent.

Lorsqu'un paiement est effectué « hors session », le client n'est pas présent sur votre site Web ou votre application pour confirmer le paiement. Voici quelques exemples de paiements « hors session » :

Si une action est nécessaire après la confirmation d'un paiement « hors session », vous devez faire en sorte que le client revienne « en session » pour effectuer l'action suivante.

Pour un paiement « hors session », vous devez définir le paramètre off_session sur true lors de la confirmation du PaymentIntent. Pour les paiements de renouvellement liés à Billing, ce paramètre est défini automatiquement pour vous.

Pourquoi est-il important d'indiquer quand un paiement est hors session?

Pour un paiement « hors session », le client n'est pas présent pour confirmer ce paiement. Pour les paiements par carte, par exemple, cela signifie qu'ils ne peuvent pas passer par 3D Secure. De même, le client ne peut pas passer par un captcha, ni effectuer une vérification supplémentaire ou une action manuelle dont nous avons besoin de sa part.

En indiquant que le paiement que vous initiez est « hors session », vous permettez à Stripe de sauter certaines de ces étapes ou de demander une exemption auprès du partenaire (réseaux de cartes, BNPL, etc.). Par exemple, Stripe peut demander une exemption pour les transactions par carte en signalant la transaction comme étant :

Notez que le fait de définir le paramètre off_session: true peut nous amener à marquer la transaction comme récurrente auprès du réseau de cartes.