Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Payer avec le solde Stripe
    Cryptomonnaies
    Prélèvements bancaires
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
      Affirm
      Afterpay/Clearpay
      Alma
      Billie
      Capchase Pay
      Klarna
        Accepter un paiement
        Configurer des paiements futurs
        Optimiser la conversion
        Se conformer aux règles de Klarna
        Répondre aux litiges
      Kriya
      Mondu
      Paiement sur facture
      Scalapay
      SeQura
      Sunbit
      Zip
    Paiements en temps réel
    Coupons
    Portefeuilles
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsAdd payment methodsBuy now, pay laterKlarna

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 Stripe
Cô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 :

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer ou récupérer un objet Customer avant la configuration
Cô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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Créer une session Checkout
Côté client
Cô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.

index.html
<html> <head> <title>Authorize</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Authorize</button> </form> </body> </html>

Vous devez transmettre les détails de l’abonnement lorsque vous utilisez Checkout pour configurer un abonnement.

Transmission des détails de l’abonnement :

  • Ensures your customers have access to all applicable Klarna payment options, including Pay in 3 or 4, which is only available for subscriptions that have specific lengths.
  • Reduces support rates and customer dropouts due to unclear purchase details in the Klarna app, where Klarna renders subscription data for your customers.

Use the payment_method_options parameter to pass in subscription details. The subscription reference is an arbitrary identifier you choose that isn’t visible to customers (for example, GYM_ANNUAL_MEMBERSHIP or ID_123).

Utiliser la même référence pour facturer le mode de paiement enregistré

Lorsque vous utilisez le mode de paiement sauvegardé, utilisez la même référence d’abonnement. La valeur de référence doit correspondre à la valeur du champ amount_details[line_items][payment_method_options][klarna][subscription_reference], si votre intégration l’utilise ultérieurement. Si la valeur ne correspond pas, vous recevez un message d’erreur.

L’exemple ci-dessous illustre comment transmettre les détails d’un abonnement annuel.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=setup \ -d customer={{CUSTOMER_ID}} \ -d currency=usd \ --data-urlencode success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ --data-urlencode cancel_url="https://example.com/cancel" \ -d "payment_method_options[klarna][subscriptions][0][reference]"=EXAMPLE_REFERENCE \ -d "payment_method_options[klarna][subscriptions][0][name]"="Customer-facing name for subscription" \ -d "payment_method_options[klarna][subscriptions][0][interval]"=year \ -d "payment_method_options[klarna][subscriptions][0][next_billing][amount]"=10000 \ -d "payment_method_options[klarna][subscriptions][0][next_billing][date]"=2026-01-01

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 Checkout
Côté client
Côté serveur

Lorsque votre client fournit les détails de son moyen de paiement, il est redirigé vers la success_url, 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_SESSION_ID} dans la success_url, 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_url. 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_url pour détecter l’initiation du paiement, sachant que :

  • Des utilisateurs malveillants pourraient accéder directement au success_url sans payer et obtenir l’accès à vos biens ou à vos services.
  • Il peut arriver que le client n’aboutisse pas au success_url à l’issue de son paiement. Il peut par exemple lui arriver de fermer l’onglet de son navigateur avant que la redirection n’intervienne.

Récupérer le moyen de paiement
Cô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_url 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_url à 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érez des webhooks checkout.session.completed, qui contiennent un objet Session. Pour en savoir plus, consultez la page sur la configuration de webhooks. Voici un exemple de réponse checkout.session.completed :

{ "id": "evt_1Ep24XHssDVaQm2PpwS19Yt0", "object": "event", "api_version": "2019-03-14", "created": 1561420781, "data": { "object": { "id": "cs_test_MlZAaTXUMHjWZ7DcXjusJnDU4MxPalbtL5eYrmS2GKxqscDtpJq8QM0k", "object": "checkout.session", "billing_address_collection": null, "cancel_url": "https://example.com/cancel", "client_reference_id": null, "customer": null, "customer_email": null, "display_items": [], "mode": "setup", "setup_intent": "seti_1EzVO3HssDVaQm2PJjXHmLlM", "submit_type": null, "subscription": null, "success_url": "https://example.com/success" } }, "livemode": false, "pending_webhooks": 1, "request": { "id": null, "idempotency_key": null }, "type": "checkout.session.completed" }

Notez la valeur de la clé setup_intent, qui constitue l’ID du SetupIntent créé avec la session Checkout. Un SetupIntent est un objet utilisé pour configurer les informations Klarna account du client pour les paiements futurs. Récupérez l’objet SetupIntent avec l’ID.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/setup_intents/seti_1EzVO3HssDVaQm2PJjXHmLlM \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Gérer les événements post-configuration
Cô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_payment_method.

Utiliser le moyen de paiement pour les paiements ultérieurs
Côté serveur

Au moment de débiter votre client hors session, utilisez les ID des objets Customer et PaymentMethod pour créer un PaymentIntent. Définissez quelques autres paramètres pour effectuer le paiement hors session :

  • Définissez off_session sur true pour indiquer que le client ne se trouve pas dans votre tunnel de paiement pendant cette tentative de paiement, ce qui entraîne le renvoi d’une erreur par le PaymentIntent si une authentification est requise.
  • Définissez la propriété confirm du PaymentIntent sur la valeur true, ce qui aura pour effet de générer immédiatement une confirmation lors de la création du PaymentIntent.
  • Renseignez l’ID du PaymentMethod dans payment_method et l’ID du client dans customer.
  • Spécifiez une return_url pour indiquer où Stripe doit rediriger le client à partir du site de Klarna.

Envoyez les informations d’abonnement et les postes de facture à chaque renouvellement. Utilisez la même reference pour votre abonnement que lorsque vous avez configuré le moyen de paiement. Si les informations d’abonnement ont changé depuis que vous avez enregistré le moyen de paiement, envoyez les nouvelles informations avec la même reference.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=5000 \ -d currency=usd \ -d confirm=true \ -d customer={{CUSTOMER_ID}} \ -d payment_method={{PAYMENT_METHOD_ID}} \ -d off_session=true \ --data-urlencode return_url="https://example.com/setup/complete" \ -d "amount_details[line_items][0][product_name]"="Annual subscription renewal" \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_cost]"=5000 \ -d "amount_details[line_items][0][payment_method_options][klarna][subscription_reference]"=EXAMPLE_REFERENCE \ -d "payment_method_options[klarna][subscriptions][0][reference]"=EXAMPLE_REFERENCE \ -d "payment_method_options[klarna][subscriptions][0][interval]"=year

Gérer la révocation des moyens de paiement réutilisables
Cô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.

ApprouvéRefusé
Date de naissance10/07/197003-05-1994
PrénomTestJohn
NomPerson-ausnow
RueWharf StSilverwater Rd
Numéro de rue41-5
Code postal48772128
VillePort DouglasSilverwater
RégionQLDNSW
Téléphone+61473752244+61473763254
Adresse e-mailcustomer@email.aucustomer+denied@email.au

Authentification à deux facteurs

Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez 999999pour 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 :

TypeValeur
Prélèvement automatiqueDE11520513735120710131
Virement bancaireBanque de démonstration
Carte bancaire
  • Numéro : 4111 1111 1111 1111
  • CVV : 123
  • Date d’expiration : toute date future valide
Carte de débit
  • Numéro : 4012 8888 8888 1881
  • CVV : 123
  • Date d’expiration : toute date future valide

FacultatifSupprimer un compte Klarna enregistré
Côté serveur

Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc