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.

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
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# 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. Rendez-vous à la page Ajouter un produit.
  2. Saisissez un Nom pour le produit.
  3. Saisissez 15 pour le tarif.
  4. Sélectionnez la devise USD.
  5. Cliquez sur Enregistrer le 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>

Paramètres de session

Consultez la section Créer une session Checkout pour obtenir la liste complète des paramètres que vous pouvez utiliser.

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

Une fois que le client a soumis ses informations de paiement, Stripe crée automatiquement un abonnement. Vous pouvez récupérer l’abonnement de manière synchrone en utilisant la success_url ou de manière asynchrone en utilisant des 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