# Créer une intégration Checkout avec Managed Payments Découvrez comment accepter un paiement à l’aide de Managed Payments. > #### Conditions d'utilisation du service requises > > You must accept the [Managed Payments terms of service](https://stripe.com/legal/managed-payments) in the [Dashboard](https://dashboard.stripe.com/settings/managed-payments) before you can use Managed Payments. Utilisez Managed Payments pour accepter des paiements mondiaux pour des produits numériques. Managed Payments permet à Stripe d’agir en tant que marchand officiel en votre nom. Pour en savoir plus, consultez la section [Fonctionnement des paiements gérés](https://docs.stripe.com/payments/managed-payments/how-it-works.md). ## Before you begin - Assurez-vous que vos produits respectent les [critères d’éligibilité](https://docs.stripe.com/payments/managed-payments/eligibility.md) pour Managed Payments. Pour traiter un paiement avec Managed Payments, tous les produits que le client achète doivent être éligibles. - Activez Managed Payments dans votre [Dashboard](https://dashboard.stripe.com/settings/managed-payments) - [Configurez votre environnement de développement](https://docs.stripe.com/get-started/development-environment.md). - Utilisez une [version bêta de l’API](https://docs.stripe.com/sdks/versioning.md#public-preview-release-channel) de `2025-04-30.version bêta` ou ultérieure pour la création de Checkout Session. ## Créer des produits et tarifs Vous pouvez accepter des abonnements et des paiements uniques : #### Abonnements Stripe utilise des [produits](https://docs.stripe.com/api/products.md) pour représenter les différents biens ou services que vous vendez. Par exemple, si vous avez plusieurs niveaux d’abonnement, tels que Basique et Premium, créez un produit distinct pour chaque niveau. Les [tarifs](https://docs.stripe.com/api/prices.md) représentent le montant que vous facturez à votre client pour un produit, et la fréquence à laquelle vous le facturez. Un produit peut avoir plusieurs tarifs. Par exemple, votre abonnement basique peut avoir deux tarifs : 10 USD par mois et 100 USD par an. Vous pouvez également définir différentes devises pour chaque tarif, par exemple 10 USD par mois et 15 CAD par mois. Utilisez le Dashboard ou l’API pour créer des produits et des tarifs pour chacun des produits que vous commercialisez : #### Dashboard ### Créer un nouveau produit et un nouveau tarif Pour créer un nouveau produit et lui attribuer un tarif : 1. Accédez au **Dashboard** > [Catalogue de produits](https://dashboard.stripe.com/test/products). 1. Cliquez sur **Créer un produit**. 1. Saisissez le **nom du produit**, sa **description** et sélectionnez un **code de taxe produit**. - Le code fiscal sélectionné doit être [éligible à Managed Payments](https://docs.stripe.com/payments/managed-payments/eligibility.md#eligible-tax-codes). Les codes fiscaux éligibles sont intitulés `Eligible for Managed Payments`. 1. Pour le tarif, saisissez le **Montant** et la **Devise**. 1. Définissez la **période de facturation** en fonction de la fréquence à laquelle vous souhaitez facturer votre client pour cet abonnement. 1. Utilisez le volet d’aperçu à droite pour voir combien de taxe les clients paieront en fonction de leur pays ou territoire. 1. Cliquez sur **Ajouter un produit**. 1. Répétez ces étapes pour chaque produit que vous commercialisez. ### Ajouter un tarif à un produit existant Pour ajouter un autre tarif à un produit existant : 1. Ouvrez le [catalogue de produits](https://dashboard.stripe.com/test/products). 1. Cliquez sur le produit auquel vous souhaitez ajouter un tarif. 1. Cliquez sur le bouton `+` dans la section **Tarifs**. 1. Configurez le tarif comme décrit ci-dessus. 1. Cliquez sur **Créer un tarif**. #### API ### Créer un nouveau produit et un nouveau tarif Pour créer un nouveau produit et lui attribuer un tarif : ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -d "name=Basic subscription" \ -d "description=A basic subscription to our service" \ -d tax_code={{TAX_CODE}} \ -d "default_price_data[unit_amount]=1000" \ -d "default_price_data[currency]=usd" \ -d "default_price_data[recurring][interval]=month" ``` Le code fiscal que vous utilisez doit être [éligible à Managed Payments](https://docs.stripe.com/payments/managed-payments/eligibility.md#product-eligibility) Répétez cette étape pour tous les produits que vous commercialisez. ### Ajouter un tarif à un produit existant Pour ajouter un autre tarif à un produit existant : ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d product={{BASIC_PRODUCT_ID}} \ -d unit_amount=10000 \ -d currency=usd \ -d "recurring[interval]=year" ``` #### Paiements ponctuels Stripe utilise des [produits](https://docs.stripe.com/api/products.md) pour représenter les différents biens ou services que vous vendez. Par exemple, si vous vendez des livres électroniques, créez un produit distinct pour chaque livre électronique. Les [tarifs](https://docs.stripe.com/api/prices.md) représentent le montant que vous facturez à votre client pour un produit. Un produit peut avoir plusieurs tarifs. Vous pouvez également définir différentes options de devise pour chaque tarif, comme 10 USD et 15 CAD. Utilisez le Dashboard ou l’API pour créer des produits et des tarifs pour chacun des produits que vous commercialisez : #### Dashboard ### Créer un nouveau produit et un nouveau tarif Pour créer un nouveau produit et lui attribuer un tarif : 1. Accédez au **Dashboard** > [Catalogue de produits](https://dashboard.stripe.com/test/products). 1. Cliquez sur **Créer un produit**. 1. Saisissez le **nom du produit**, sa **description** et sélectionnez un **code de taxe produit**. - Le code fiscal sélectionné doit être [éligible à Managed Payments](https://docs.stripe.com/payments/managed-payments/eligibility.md#product-eligibility). Les codes fiscaux éligibles sont intitulés `Eligible for Managed Payments`. 1. Pour le tarif, saisissez le **Montant** et la **Devise**. 1. Utilisez le volet d’aperçu à droite pour voir combien de taxe les clients paieront en fonction de leur pays ou territoire. 1. Cliquez sur **Ajouter un produit**. 1. Répétez ces étapes pour chaque produit que vous commercialisez. ### Ajouter un tarif à un produit existant Pour ajouter un autre tarif à un produit existant : 1. Ouvrez le [catalogue de produits](https://dashboard.stripe.com/test/products). 1. Cliquez sur le produit auquel vous souhaitez ajouter un tarif. 1. Cliquez sur le bouton `+` dans la section **Tarifs**. 1. Configurez le tarif comme décrit ci-dessus. 1. Cliquez sur **Créer un tarif**. #### API ### Créer un nouveau produit et un nouveau tarif Pour créer un nouveau produit et lui attribuer un tarif : ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ --data-urlencode "name=Hamlet (e-book)" \ -d "description=A Shakespearean tragedy" \ -d tax_code={{TAX_CODE}} \ -d "default_price_data[unit_amount]=1000" \ -d "default_price_data[currency]=usd" ``` Le code fiscal que vous utilisez doit être [éligible à Managed Payments](https://docs.stripe.com/payments/managed-payments/eligibility.md#product-eligibility) Répétez cette étape pour tous les produits que vous commercialisez. ### Ajouter un tarif à un produit existant Pour ajouter un autre tarif à un produit existant : ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d product={{PRODUCT_ID}} \ -d unit_amount=1000 \ -d currency=usd ``` ## Créer votre interface d'encaissement [Côté client] [Stripe Checkout](https://docs.stripe.com/payments/checkout.md) vous permet d’accepter des paiements de vos clients via une page de paiement hébergée par Stripe. Il vous incombe de rediriger vos clients vers cette page, et Stripe les redirige ensuite vers votre site web une fois le paiement effectué. Pour en savoir plus, consultez la section [Mode de fonctionnement de Checkout](https://docs.stripe.com/payments/checkout/how-checkout-works.md?payment-ui=stripe-hosted). Pour créer votre page de paiement, vous devez ajouter un bouton de paiement et une page de confirmation de paiement à votre site. #### Abonnements ### Ajouter un bouton de paiement Ajoutez à votre site web un bouton de paiement qui appelle un endpoint sur votre serveur. Par exemple : ```html Subscribe to our cool new service
``` Lorsque votre client clique sur ce bouton, il est redirigé vers la page de paiement hébergée par Stripe. ### Ajouter une page de réussite du paiement Créez ensuite une page de confirmation de paiement pour que votre client puisse la consulter après avoir finalisé sa commande. Hébergez cette page de confirmation de paiement sur votre site. Par exemple : ```html Thanks for subscribing!

Thanks for subscribing!

We appreciate your business! If you have any questions, please email us at orders@example.com.

``` Stripe redirige votre client vers cette page une fois qu’il a effectué un paiement autorisé. ### Ajouter une page d’annulation (facultatif) Vous pouvez également créer une page d’annulation pour que votre client puisse voir s’il met fin au processus de paiement. Par exemple : ```html Checkout canceled

Not ready to subscribe yet? No problem, we'll be here when you are!

``` Stripe redirige votre client vers cette page s’il clique sur le bouton Retour de la page de paiement. #### Paiements ponctuels ### Ajouter un bouton de paiement Ajoutez à votre site web un bouton de paiement qui appelle un endpoint sur votre serveur. Par exemple : ```html Buy Hamlet
``` Lorsque votre client clique sur ce bouton, il est redirigé vers la page de paiement hébergée par Stripe. ### Ajouter une page de réussite du paiement Créez ensuite une page de confirmation de paiement pour que votre client puisse la consulter après avoir finalisé sa commande. Hébergez cette page de confirmation de paiement sur votre site. Par exemple : ```html Thanks for purchasing!

Thanks for purchasing!

We appreciate your business! If you have any questions, please email us at orders@example.com.

``` Stripe redirige votre client vers cette page une fois qu’il a effectué un paiement autorisé. ### Ajouter une page d’annulation (facultatif) Vous pouvez également créer une page d’annulation pour que votre client puisse voir s’il met fin au processus de paiement. Par exemple : ```html Checkout canceled

Not ready to purchase yet? No problem, we'll be here when you are!

``` Stripe redirige votre client vers cette page s’il clique sur le bouton Retour de la page de paiement. ## Configurer votre serveur [Côté serveur] Stripe utilise [Checkout Sessions](https://docs.stripe.com/api/checkout/sessions.md) pour représenter ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez configurer les sessions Checkout avec des options telles que les [postes de facture](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) à débiter ou les devises à accepter. ### Créer une session Checkout #### Abonnements Créez une Checkout Session en utilisant l’un des [prix que vous avez créés](https://docs.stripe.com/payments/managed-payments/set-up.md#create-product) comme poste. Définissez le `mode` sur `subscription` et définissez `success_url` sur l’URL de votre page de confirmation. Pour activer Managed Payments, définissez `managed_payments[enabled]` sur `true` et utilisez une [version bêta de l’API](https://docs.stripe.com/sdks/versioning.md#public-preview-release-channel). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "managed_payments[enabled]=true" \ -d mode=subscription \ --data-urlencode "success_url=https://localhost:4242/success" ``` #### Paiements ponctuels Créez une Checkout Session en utilisant l’un des [prix que vous avez créés](https://docs.stripe.com/payments/managed-payments/set-up.md#create-product) comme poste. Définissez le `mode` sur `payment` et définissez `success_url` sur l’URL de votre page de confirmation et d’annulation. Pour activer Managed Payments, définissez `managed_payments[enabled]` sur `true` et utilisez une [version bêta de l’API](https://docs.stripe.com/sdks/versioning.md#public-preview-release-channel). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "managed_payments[enabled]=true" \ -d mode=payment \ --data-urlencode "success_url=https://localhost:4242/success" ``` ### Créer un endpoint Ajoutez un endpoint à votre serveur qui crée une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). Le chemin d’accès à l’endpoint doit correspondre à l’attribut `action` de [votre bouton de paiement](https://docs.stripe.com/payments/managed-payments/set-up.md#add-a-checkout-button). Après avoir créé une session Checkout, redirigez votre client vers l’[URL](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-url) renvoyée dans la réponse. #### Item 1 #### Ruby ```ruby # This example sets up an endpoint using the Sinatra framework. require 'json' require 'sinatra' require 'stripe' # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new( '<>', stripe_version: '2026-03-25.preview', ) post '/create-checkout-session' dosession = client.v1.checkout.sessions.create({ line_items: [{ price: '{{PRICE_ID}}', quantity: 1 }], mode: 'subscription', managed_payments: {enabled: true}, success_url: 'http://localhost:4242/success' }) redirect session.url, 303 end ``` #### Item 2 #### Ruby ```ruby # This example sets up an endpoint using the Sinatra framework. require 'json' require 'sinatra' require 'stripe' # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new( '<>', stripe_version: '2026-03-25.preview', ) post '/create-checkout-session' dosession = client.v1.checkout.sessions.create({ line_items: [{ price: '{{PRICE_ID}}', quantity: 1 }], mode: 'payment', managed_payments: {enabled: true}, success_url: 'http://localhost:4242/success' }) redirect session.url, 303 end ``` ### Tester votre endpoint Confirmez que votre point d’accès est accessible en démarrant votre serveur Web (par exemple, `localhost:4242`) et en exécutant la commande suivante : ```bash curl -X POST -is "http://localhost:4242/create-checkout-session" -d "" ``` La réponse ressemble à ceci dans votre terminal : ```bash HTTP/1.1 303 See Other Location: https://checkout.stripe.com/c/pay/cs_test_... ... ``` ## Gérer les événements post-paiement Stripe envoie un événement [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) lorsqu’un client effectue un paiement par session Checkout. Utilisez l’[outil de webhook du Dashboard](https://dashboard.stripe.com/webhooks) ou suivez le [guide consacré aux webhooks](https://docs.stripe.com/webhooks/quickstart.md) pour recevoir et gérer ces événements. Écoutez ces événements au lieu d’attendre que Stripe redirige votre client vers votre page de confirmation de paiement. Évitez d’utiliser votre page de confirmation de paiement uniquement pour déclencher des actions post-paiement. Configurez votre intégration pour écouter les événements asynchrones afin de gérer correctement les [différents types de moyens de paiement](https://stripe.com/payments/payment-methods-guide) susceptibles d’être retardés. Pour en savoir plus, consultez la page consacrée au [traitement des commandes Checkout](https://docs.stripe.com/checkout/fulfillment.md). Gérez les événements suivants lors de l’encaissement de paiements avec Checkout : | Événement | Description | | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) | Envoyé lorsqu’un client termine une session Checkout. | | [checkout.session.async_payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_succeeded) | Envoyé lorsqu’un paiement effectué avec un moyen de paiement différé (par exemple, un prélèvement automatique ACH) aboutit. | | [checkout.session.async_payment_failed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_failed) | Envoyé lorsqu’un paiement effectué avec un moyen de paiement différé (par exemple, un prélèvement automatique ACH) échoue. | ## Tests Testez si votre intégration fonctionne correctement pour vos clients. ### Checkout 1. Démarrez votre serveur et accédez à votre page de paiement (par exemple, depuis [Build your checkout](https://docs.stripe.com/payments/managed-payments/set-up.md#build-your-checkout)). 1. Cliquez sur le bouton de paiement pour être redirigé(e) vers la page de paiement de Managed Payments. 1. Sur la page de paiement, saisissez différentes adresses de facturation pour voir comment Managed Payments calcule les taxes pour les clients de différents pays ou territoires. 1. Pour traiter le paiement, saisissez votre adresse e-mail, votre numéro de téléphone et le numéro de carte de test `4242 4242 4242 4242` avec n’importe quel CVC et n’importe quelle date d’expiration future. Pour en savoir plus, consultez la section [Tests](https://docs.stripe.com/testing.md). ### Détails du paiement #### Item 1 1. Après avoir confirmé le paiement test, accédez au **Dashboard** > [Transactions](https://dashboard.stripe.com/test/payments) 1. Cliquez sur votre paiement test pour afficher les détails du paiement. Cette page affiche les éléments suivants : - Produit qui a été acheté - [Abonnement](https://docs.stripe.com/api/subscriptions.md) qui a été créé - [Facture](https://docs.stripe.com/api/invoices.md) qui a été créée - Montant des taxes calculées et collectées avec Managed Payments - Libellé de relevé bancaire qui s’affiche sur les relevés de vos clients > #### Autorisation du client > > Lorsqu’un client achète un abonnement via Managed Payments, il autorise uniquement son moyen de paiement à être débité par Managed Payments. Assurez-vous d’obtenir le consentement approprié de votre client pour débiter ce moyen de paiement pour toute transaction en dehors de Managed Payments. #### Item 2 1. Après avoir confirmé le paiement test, accédez au **Dashboard** > [Transactions](https://dashboard.stripe.com/test/payments) 1. Cliquez sur votre paiement test pour afficher les détails du paiement. Cette page affiche les éléments suivants : - Produit qui a été acheté - [Abonnement](https://docs.stripe.com/api/subscriptions.md) créé (si acheté) - [Facture](https://docs.stripe.com/api/invoices.md) qui a été créée - Montant des taxes calculées et collectées avec Managed Payments - Libellé de relevé bancaire qui s’affiche sur les relevés de vos clients #### Prévisualiser le reçu 1. Sous **Historique des reçus**, cliquez sur **Afficher le reçu**. 1. Cliquez sur **Envoyer reçu** pour avoir un aperçu du reçu envoyé par e-mail à votre client. > En environnement de test, vous ne recevrez pas automatiquement les e-mails de reçu après l’achat mais pourrez les envoyer manuellement en suivant les instructions ci-dessus. ### Link [Link](https://docs.stripe.com/payments/link.md) agit en tant que marchand officiel lors du paiement et propose la gestion des abonnements ainsi qu’un support pour les transactions sur le site [Link](https://link.com). Vous pouvez tester le fonctionnement de Link au moment du paiement en créant un compte Link lors d’une Checkout Session initiale. Après avoir créé le compte Link, tentez une autre session en utilisant la même adresse e-mail. Pour vous identifier, utilisez le code d’accès de test `000000`. Les achats de test n’apparaîtront pas dans l’application Link. Vous pouvez tester les outils de gestion des commande dans l’application Link en créant un compte Link pendant une Checkout Session en mode production. ## Optional: Configurer le régime de taxe de vos tarifs Le paramètre [tax_behavior](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-behavior) indique si la taxe doit être ajoutée à un tarif HT (`tax_behavior: exclusive`) ou si elle est déjà incluse dans un tarif TTC (`tax_behavior: inclusive`). Managed Payments utilise le [comportement fiscal spécifié sur votre tarif](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#set-tax-behavior-on-price). Si vous ne spécifiez pas le comportement fiscal du tarif, Managed Payments ajoute par défaut les taxes en plus du tarif que vous avez défini. To change the default, go to the **Dashboard** > [Tax settings](https://dashboard.stripe.com/settings/tax) and update the **Include tax in prices** setting. ## See also - [Fonctionnement de Managed Payments](https://docs.stripe.com/payments/managed-payments/how-it-works.md) - [Mettre à jour une intégration Checkout](https://docs.stripe.com/payments/managed-payments/update-checkout.md)