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

Configurer un abonnement avec Klarna

Découvrez comment créer et facturer un abonnement avec Klarna.

Suivez ce guide pour configurer un abonnement avec Klarna comme moyen de paiement.

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.

Dans un premier temps, vous devez créer un compte Stripe. S’inscrire 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 un produit et un tarif
Dashboard

Les produits correspondent aux articles ou services que vous vendez. Les tarifs définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard.

Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 15 USD pour un abonnement mensuel. Pour modéliser ceci :

  1. Go to the Products page and click Create product.
  2. Saisissez un Nom pour le produit. Vous pouvez éventuellement ajouter une Description et télécharger une image du produit.
  3. Select a Product tax code. Learn more about product tax codes.
  4. Sélectionnez Récurrent. Saisissez ensuite pour le prix et sélectionnez comme devise.
  5. Choose whether to Include tax in price. You can either use the default value from your tax settings or set the value manually. In this example, select Auto.
  6. Pour Période de facturation, sélectionnez Mensuel.
  7. Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
  8. Add an internal Price description and Lookup key to organize, query, and update specific prices in the future.
  9. Cliquez sur Suivant. Cliquez ensuite sur Ajouter un produit.

Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : price_G0FvDp6vZvdwRZ.

Créer une session Checkout
Côté client
Côté serveur

Ajoutez à votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.

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

Créez une session Checkout avec l’ID d’un tarif existant. Définissez le mode sur subscription et transmettez au moins un tarif récurrent. Vous pouvez ajouter des tarifs ponctuels en plus des tarifs récurrents. Après avoir créé la session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.

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 "line_items[0][price]"={{PRICE_ID}} \ -d "line_items[0][quantity]"=1 \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ --data-urlencode cancel_url="https://example.com/cancel"

Une fois le paiement effectué, Stripe redirige votre client vers l’URL success_url. Il s’agit d’une page de votre site Web indiquant au client que le paiement a réussi. Mettez l’ID de session à disposition sur votre page de confirmation de paiement en incluant la variable de modèle {CHECKOUT_SESSION_ID} dans l’URL success_url, comme illustré ci-dessus.

Si lors d’une session Checkout, votre client clique sur votre logo sans finaliser un paiement, Checkout le redirige vers l’URL cancel_url de votre site Web. Il s’agit habituellement de la page de votre site web que voit votre client avant d’être redirigé vers Checkout.

Les sessions Checkout expirent 24 heures après leur création.

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.

Configurer un essai

Vous pouvez créer des essais gratuits dans une session Checkout en utilisant le paramètre subscription_data pour fournir des informations sur la durée, la date d’expiration et d’autres paramètres de la période d’essai.

Découvrez comment configurer des essais gratuits qui se désactivent ou se suspendent à leur expiration si aucun moyen de paiement n’est associé.

Récupérer l'abonnement
Côté serveur

Après qu’un client ait soumis ses données de paiement, Stripe crée automatiquement un abonnement. Vous pouvez récupérer l’abonnement de manière synchrone en utilisant le success_url ou de manière asynchrone en utilisant webhooks.

La décision de récupérer l’abonnement 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.

Traitez les webhooks checkout.session.completed, qui contiennent un objet Session. Découvrez comment configurer des webhooks.

L’exemple suivant est une réponse checkout.session.completed.

{ "id": "evt_1Ep24XHssDVaQm2PpwS19Yt0", "object": "event", "api_version": "2019-03-14", "created": 1561420781, "data": { "object": { "id": "cs_test_a1h2mO4eLbjemY0JWW9rCz5dcglwr3M5ldjLOvpGxWD37i1Oi5SeFhSup1", "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", "subscription": "sub_1Op9VFCvDOElLqwO6fs7Na4P", "submit_type": null, "success_url": "https://example.com/success" } }, "livemode": false, "pending_webhooks": 1, "request": { "id": null, "idempotency_key": null }, "type": "checkout.session.completed" }

Conservez une trace de la valeur de la clé subscription, qui est l’ID de l’objet Subscription créé à partir de la session Checkout.

Tester votre intégration

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
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