Configurer de futurs paiements Klarna
Découvrez comment enregistrer des informations Klarna pour débiter vos clients ultérieurement.
Vous pouvez enregistrer Klarna comme moyen de paiement d’un client et facturer les paiements futurs pour prendre en charge :
- Paiement automatique pour les abonnements, avec ou sans période d’essai gratuit.
- Paiement automatique des abonnements pour les commandes comprenant également des produits sans abonnement.
- Enregistrer Klarna dans un portefeuille électronique pour simplifier les futurs achats à la demande sans nécessiter une réauthentification du client.
This guide explains how to save Klarna as a payment method that you can charge immediately or later. This guide isn’t for integrations that use Stripe Billing. If you use Stripe Billing, see Klarna for subscriptions.
Les options de paiement Klarna disponibles varient en fonction du cas d'utilisation et du pays de l'acheteur.
Voyez quelles options de paiement sont disponibles pour vos clients avant de commencer votre intégration.
We recommend using Stripe Checkout to save Klarna as a payment method.
The first part of this guide explains how to use Stripe Checkout to save Klarna as a payment method. The last step explains how to charge the saved payment method for a subscription or on-demand payment.
Configurer StripeCôté serveur
Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Créer ou récupérer un objet Customer avant la configurationCôté serveur
Pour réutiliser un moyen de paiement Klarna en vue de paiements futurs, vous devez l’associer à un objet Customer.
Créez un objet Customer lorsque votre client crée un compte auprès votre entreprise. En associant l’ID de l’objet Customer à votre propre représentation interne de ce client, vous pourrez par la suite récupérer et utiliser les informations du moyen de paiement enregistré. Si votre client n’a pas créé de compte, vous pouvez tout de même lui créer un objet Customer, puis l’associer à votre représentation interne de ce compte du client par la suite.
Créer une session CheckoutCôté clientCôté serveur
Pour que vous puissiez accepter des paiements Klarna, votre client doit préalablement vous autoriser à utiliser son compte Klarna en vue de paiement ultérieurs via Stripe Checkout.
Add an Authorize button to your site that calls a server-side endpoint to create a Checkout Session.
<html> <head> <title>Authorize</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Authorize</button> </form> </body> </html>
Après avoir créé la session de paiement, redirigez votre client vers l’URL renvoyée dans la réponse.
Gérer la redirection au retour de CheckoutCôté clientCôté serveur
Lorsque votre client fournit les détails de son moyen de paiement, il est redirigé vers la success_
, une page de votre site Web qui l’informe qu’il a correctement enregistré son moyen de paiement. Mettez l’ID de session à disposition sur votre page de confirmation en incluant le modèle de variable {CHECKOUT_
dans la success_
, comme illustré ci-dessus.
Si lors d’une session Checkout, votre client clique sur votre logo sans fournir les données de son moyen de paiement, Checkout le redirige vers votre site Web sur la page cancel_
. Cette page est généralement celle que le client a consultée sur votre site avant d’être redirigé vers Stripe Checkout.
Mise en garde
Ne vous fiez pas uniquement à la redirection vers le success_
pour détecter l’initiation du paiement, sachant que :
- Des utilisateurs malveillants pourraient accéder directement au
success_
sans payer et obtenir l’accès à vos biens ou à vos services.url - Il peut arriver que le client n’aboutisse pas au
success_
à l’issue de son paiement. Il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne.url
Récupérer le moyen de paiementCôté serveur
Une fois que le client a soumis ses informations de paiement, récupérez l’objet PaymentMethod. Un PaymentMethod stocke les informations Klarna account du client pour ses paiements ultérieurs. Vous pouvez récupérer cet objet de manière synchrone en utilisant la success_
ou de manière asynchrone au moyen de webhooks.
La décision de récupérer l’objet PaymentMethod de manière synchrone ou asynchrone dépend de votre tolérance aux abandons de paiement. En effet, il peut arriver que le client n’aboutisse pas au success_
à l’issue de son paiement (il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne). L’utilisation de webhooks vous permet d’éviter que votre intégration ne subisse ce type d’abandon.
Gérer les événements post-configurationCôté serveur
Utilisez une méthode telle que les webhooks pour confirmer que le client a autorisé le contrat de facturation. Ne comptez pas sur votre client pour revenir à la page d’état du paiement.
Lorsqu’un client autorise le contrat de facturation, Stripe émet un événement webhook payment_intent.succeeded ou setup_intent.succeeded et l’état de l’Intent passe à succeeded
. Enregistrez l’ID payment_method qui en résulte pour effectuer ultérieurement des paiements à l’aide du PaymentMethod enregistré.
Si un client n’autorise pas correctement le contrat de facturation, Stripe émet un événement de webhook payment_intent.payment_failed ou de setup_intent.setup_failed et l’état de l’Intent repasse à requires_
.
Gérer la révocation des moyens de paiement réutilisablesCôté serveur
Vous pouvez révoquer un moyen de paiement réutilisable de deux manières :
- Un client peut désactiver un moyen de paiement réutilisable dans l’application mobile Klarna. Dans ce cas, Stripe vous envoie un événement mandate.updated. Pour gérer cela, abonnez-vous aux événements webhook, et appelez detach PaymentMethod pour le désactiver.
- Un client peut également désactiver une méthode de paiement réutilisable sur votre interface utilisateur, si elle est prise en charge. Dans ce scénario, votre serveur peut appeler detach PaymentMethod pour gérer la désactivation.
Dans les deux cas, après avoir appelé detach PaymentMethod, Stripe vous envoie un événement payment_method.detached.
Tester votre intégration
Lorsque vous testez votre intégration Checkout, sélectionnez le moyen de paiement Klarna et cliquez sur le bouton Enregistrer. Dans un environnement de test, vous pouvez ensuite simuler différents résultats dans la redirection de Klarna.
Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction.
Authentification à deux facteurs
Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez 999999
pour que l’authentification échoue.
Mode de remboursement
Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements :
Type | Valeur |
---|---|
Prélèvement automatique | DE11520513735120710131 |
Virement bancaire | Banque de démonstration |
Carte bancaire |
|
Carte de débit |
|