Quelle est la différence entre une transaction « en session » et une transaction « hors session », et pourquoi est-il important de faire cette distinction ?

Les paiements « en session » sont ceux effectués par les clients depuis votre application ou votre site Web, tandis que les paiements « hors session » sont initiés automatiquement ou par les marchands. Il s'agit d'une terminologie spécifique de Stripe qui se veut représentative de la façon dont la tentative de paiement est créée et aide à mieux comprendre ce qu'il peut advenir durant le processus.

Les paiements « en session » sont initiés par des clients en ligne, depuis votre application mobile ou votre site Web. Si la transaction échoue, ils sont en mesure de réessayer avec un autre moyen de paiement. En outre, si le processus de paiement comprend plusieurs étapes (par ex. une authentification 3D Secure ou une redirection vers le formulaire d'un partenaire comme Klarna), ils peuvent les valider de suite afin de finaliser leur commande.

Par défaut, les paiements dans nos API sont effectués « en session ». Aucune configuration n'est requise de votre part, mais si vous voulez le signaler de façon explicite, vous pouvez transmettre le paramètre off_session défini sur false (qui est sa valeur par défaut) lors de la confirmation du PaymentIntent.

Lors des paiements « hors session », les clients ne sont pas présents pour confirmer le paiement. Voici quelques exemples de paiements « hors session » :

Si une action est requise après la confirmation d'un paiement « hors session », vous devez faire en sorte que le client ouvre une session pour procéder aux étapes suivantes.

Pour les paiements « hors session », vous devez passer le paramètre off_session défini sur true lors de la confirmation du PaymentIntent. Notez que le paramètre est automatiquement transmis pour les paiements de renouvellement dans Billing.

Est-il nécessaire d'indiquer si un paiement est initié hors session ?

Lors des paiements « hors session », les clients ne sont pas présents pour confirmer le paiement en réalisant une action ou en vérifiant leur identité. Par exemple, ils ne peuvent pas procéder à une authentification 3D Secure pour les paiements par carte, ni valider de test CAPTCHA.

Lorsque vous indiquez qu'un paiement est initié « hors session », Stripe peut prendre l'initiative d'ignorer ces étapes ou de solliciter une exemption auprès de ses partenaires (réseaux de cartes, solutions de paiement différé, etc.). Pour les paiements par carte bancaire, par exemple, Stripe peut demander une exception en signalant la transaction comme :

Notez qu'en cas de définition du paramètre off_session: true, nous pouvons être amenés à signaler les transactions comme récurrentes aux réseaux de cartes.