# Guide de migration de Checkout Découvrez comment migrer vers les dernières intégrations Stripe. ![](https://b.stripecdn.com/docs-statics-srv/assets/migration.4db0b4061fb36d6a43762c3f23ef9c00.png) L’ancienne version de Checkout présentait aux clients une boîte de dialogue modale qui recueillait les informations de la carte et renvoyait un jeton ou une source à votre site Web. En revanche, [Payment Links](https://docs.stripe.com/payment-links.md) et la version actuelle de [Checkout](https://docs.stripe.com/payments/checkout.md) sont des pages de paiement intelligentes hébergées par Stripe qui créent des paiements ou des *abonnements* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis). Les deux intégrations prennent en charge Apple Pay, Google Pay, Dynamic *3D Secure* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments) dynamique, *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients), la réutilisation d’objets *Customers* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) existants, et de nombreuses autres fonctionnalités. Vous pouvez également [comparer d’autres intégrations de paiement](https://docs.stripe.com/payments/online-payments.md#compare-features-and-availability) si Payment Links ou Checkout ne correspondent pas à votre cas d’usage. ## Before you begin Si vous utilisez les [trousses SDK](https://docs.stripe.com/sdks.md) de Stripe, mettez-les à niveau vers la version la plus récente. ## Choisissez votre modèle économique Pour effectuer la migration à partir de l’ancienne version de Checkout, suivez le guide correspondant le mieux à votre modèle économique. Chaque guide recommande un chemin d’intégration avec des exemples de code. - [Catalogue de produits et tarifications dynamiques](https://docs.stripe.com/payments/checkout/migration.md#api-products) Si vous avez un vaste catalogue de produits ou vous avez besoin de la prise en charge des postes créés de manière dynamique (telles que des dons ou des taxes). - [Abonnements dynamiques](https://docs.stripe.com/payments/checkout/migration.md#api-subscriptions) Si en tant que fournisseur vous facturez des logiciels-services aux utilisateurs et avez besoin de la prise en charge de fonctionnalités avancées. - [Plateformes et places de marché Connect](https://docs.stripe.com/payments/checkout/migration.md#connect) Si vous exploitez une place de marché mettant en relation des prestataires de services et des clients. - [Enregistrement de moyens de paiement pour utilisation ultérieure](https://docs.stripe.com/payments/checkout/migration.md#setup-mode) Si vous exploitez une entreprise qui ne facture des services qu’une fois que ceux-ci ont été rendus aux clients. - [Catalogue de produits simples avec tarification fixe](https://docs.stripe.com/payments/checkout/migration.md#simple-products) Si vous vendez quelques produits à des prix pré-déterminés. - [Abonnements simples](https://docs.stripe.com/payments/checkout/migration.md#simple-subscriptions) Si vous êtes un fournisseur de logiciels-services avec un plan d’abonnement mensuel. En suivant le guide de migration correspondant, vous pouvez également vous référer à la [table de conversion](https://docs.stripe.com/payments/checkout/migration.md#parameter-conversion) pour effectuer le mappage de paramètres spécifiques et d’options de configuration. ## Catalogue de produits et tarifications dynamiques Si vous vendez des produits pour lesquels le montant ou les postes sont déterminés de manière dynamique (par exemple avec un vaste catalogue de produits ou pour des dons), consultez [Accepter les paiements ponctuels](https://docs.stripe.com/payments/accept-a-payment.md?integration=checkout). Vous avez peut-être utilisé l’ancienne version de Checkout pour créer un jeton ou une source côté client, que vous avez ensuite transmis à votre serveur pour créer un paiement. La version actuelle de Checkout inverse ce flux. Vous créez d’abord une session sur votre serveur, redirigez votre client vers Checkout. Ce dernier est ensuite de nouveau redirigé vers votre application après avoir effectué le paiement. ### Avant Avec l’ancienne version de Checkout, vous affichiez le montant et la description dynamiques et collectiez les informations de carte auprès de votre client. ```html
``` Ensuite, vous transmettiez le jeton ou la source qui en résultait à votre serveur pour le paiement. #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u <>: \ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="Custom t-shirt" \ -d "amount"="{{ORDER_AMOUNT}}" \ -d "currency"="usd" ``` ### Après Ajoutez à votre site Web un bouton de paiement qui fait appel à un point de terminaison côté serveur afin de créer une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). ```html Buy cool new product
``` Une session Checkout est la représentation à l’aide d’un programme de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différentes options, par exemple ce qui suit : - [Postes de facture](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) à débiter - Devises à utiliser Incluez un objet `success_url` avec l’URL d’une page sur votre site Web vers laquelle votre client est redirigé après avoir effectué le paiement. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"="Custom t-shirt" \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success" ``` 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. Si vous devez traiter la commande de biens après le paiement, consultez [Traiter des paiements Checkout et Payment Link](https://docs.stripe.com/checkout/fulfillment.md). ## Abonnements dynamiques Si vous fournissez des services d’abonnement qui sont déterminés de manière dynamique ou qui exigent la prise en charge d’autres fonctionnalités avancées, consultez le guide [Configurer un abonnement](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md). Vous avez peut-être utilisé l’ancienne version de Checkout pour créer un jeton ou une source côté client, que vous avez ensuite transmis à votre serveur pour créer un client ou un abonnement. La version actuelle de Checkout inverse ce flux. Vous créez d’abord une session sur votre serveur, redirigez votre client vers Checkout. Ce dernier est ensuite de nouveau redirigé vers votre application en cas de succès. ### Avant Avec l’ancienne version de Checkout, vous affichiez les informations sur l’abonnement et collectiez les informations de carte auprès de votre client. ```html
``` Ensuite, vous transmettiez le jeton ou la source qui en résultait à votre serveur pour créer un client et un abonnement. #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/subscriptions \ -u <>: \ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{PRICE_ID}" \ -d "trial_period_days"=30 ``` ### Après Ajoutez à votre site Web un bouton de paiement qui fait appel à un point de terminaison côté serveur afin de créer une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). ```html Subscribe to cool new service
``` Une session Checkout est la représentation à l’aide d’un programme de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différentes options, par exemple ce qui suit : - [Postes de facture](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) à débiter - Devises à utiliser Incluez un objet `success_url` avec l’URL d’une page sur votre site Web vers laquelle votre client est redirigé après avoir effectué le paiement. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "subscription_data[trial_period_days]"=30 \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success" ``` 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. Le client est redirigé vers `success_url` une fois que le client et l’abonnement sont créés. Si vous devez traiter la commande de services achetés après le paiement, consultez [Traiter des paiements Checkout et Payment Link](https://docs.stripe.com/checkout/fulfillment.md). ## Plateformes et places de marché Connect Si vous exploitez une plateforme ou une place de marché Connect et que vous créez des paiements impliquant des comptes connectés, envisagez d’utiliser la version actuelle de Checkout. L’exemple suivant montre comment utiliser l’API Checkout Sessions pour traiter un paiement direct. Vous pouvez également utiliser Checkout et Connect avec les [paiements indirects](https://docs.stripe.com/connect/destination-charges.md?platform=web&ui=stripe-hosted) et les [paiements et transferts distincts](https://docs.stripe.com/connect/separate-charges-and-transfers.md?platform=web&ui=stripe-hosted). ### Avant Avec l’ancienne version de Checkout, vous collectiez les informations de carte auprès de votre client, côté client. ```html
``` Ensuite, vous transmettiez le jeton ou la source qui en résultait à votre serveur pour le paiement au nom du compte connecté. #### curl ```bash curl https://api.stripe.com/v1/charges \ -u <>: \ -d "source"="{{TOKEN_ID}}" \ -d "description"="10 cucumbers from Roger\"s Farm" \ -d "amount"=2000 \ -d "currency"="usd" \ -d "application_fee_amount"=200 \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}" ``` ### Après Ajoutez à votre site Web un bouton de paiement qui fait appel à un point de terminaison côté serveur afin de créer une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). ```html Roger's Farm
``` Une session Checkout est la représentation à l’aide d’un programme de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différentes options, par exemple ce qui suit : - [Postes de facture](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) à débiter - Devises à utiliser Incluez un objet `success_url` avec l’URL d’une page sur votre site Web vers laquelle votre client est redirigé après avoir effectué le paiement. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "line_items[0][price_data][currency]"=usd \ --data-urlencode "line_items[0][price_data][product_data][name]"="Cucumbers from Roger's Farm" \ -d "line_items[0][price_data][unit_amount]"=200 \ -d "line_items[0][quantity]"=10 \ -d "payment_intent_data[application_fee_amount]"=200 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success" ``` 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. Si vous devez traiter la commande de biens ou de services après le paiement, consultez [Traiter des paiements Checkout et Payment Link](https://docs.stripe.com/checkout/fulfillment.md). ## Enregistrement de moyens de paiement pour utilisation ultérieure Si vous fournissez à vos clients des services que vous ne facturez pas immédiatement, consultez le guide [Configurer des paiements ultérieurs](https://docs.stripe.com/payments/save-and-reuse.md?platform=checkout). Vous avez peut-être utilisé l’ancienne version de Checkout pour créer un jeton ou une source côté client, que vous avez ensuite transmis à votre serveur à des fins d’utilisation ultérieure. La version actuelle de Checkout inverse ce flux. Vous créez d’abord une session sur votre serveur, redirigez votre client vers Checkout. Ce dernier est ensuite de nouveau redirigé vers votre application en cas de succès. ### Avant Avec l’ancienne version de Checkout, vous affichiez les informations sur le paiement et collectiez les informations de carte auprès de votre client. ```html
``` Ensuite, vous transmettiez la source ou le jeton généré à votre serveur pour créer un éventuel paiement. #### curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u <>: \ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="Cleaning service" \ -d "amount"="{{ORDER_AMOUNT}}" \ -d "currency"="usd" ``` ### Après Ajoutez à votre site Web un bouton de paiement qui fait appel à un point de terminaison côté serveur afin de créer une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). ```html Cleaning service
``` Une session Checkout est la représentation à l’aide d’un programme de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différentes options, par exemple ce qui suit : - [Postes de facture](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) à débiter - Devises à utiliser Incluez un objet `success_url` avec l’URL d’une page sur votre site Web vers laquelle votre client est redirigé après avoir terminé la configuration du paiement. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d mode=setup \ -d currency=usd \ --data-urlencode success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" ``` 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 pour recueillir les informations sur le moyen de paiement. Le client est redirigé vers le `success_url` une fois qu’il a terminé le flux. Lorsque vous êtes prêt(e) à encaisser un paiement, [récupérez le SetupIntent](https://docs.stripe.com/payments/checkout/save-and-reuse.md?payment-ui=stripe-hosted#retrieve-checkout-session) dans la session Checkout et utilisez-le pour préparer la transaction. ## Catalogue de produits simple avec tarification fixe Si vous vendez des produits dont les prix sont fixes (tels que des t-shirts ou des livres numériques), consultez le guide sur les [liens de paiement](https://docs.stripe.com/payment-links/create.md). Vous avez peut-être utilisé l’ancienne version de Checkout pour créer un jeton ou une source côté client, que vous avez ensuite transmis à votre serveur pour créer un paiement. ### Avant Avec l’ancienne version de Checkout, vous affichiez le montant et la description et collectiez les informations de carte auprès de votre client. ```html
``` Ensuite, vous transmettiez la source ou le jeton généré à votre serveur pour créer un client et un paiement. #### Curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -d "email"="{{STRIPE_EMAIL}}" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u <>: \ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="T-shirt" \ -d "amount"=500 \ -d "currency"="usd" ``` ### Après Créez un [produit](https://docs.stripe.com/api/products.md) et un [prix](https://docs.stripe.com/api/prices.md) qui représente le poste (de facture). L’exemple suivant crée le produit en ligne. Vous pouvez également créer ces objets dans le [Dashboard](https://dashboard.stripe.com/test/products). ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d currency=usd \ -d unit_amount=500 \ -d "product_data[name]"=T-shirt ``` Créez un [lien de paiement](https://dashboard.stripe.com/payment-links/create) dans le Dashboard à l’aide du produit et du prix. Après avoir créé le lien, cliquez sur le **bouton Acheter** pour configurer la conception et générer le code que vous pourrez copier et coller dans votre site Web. #### HTML ```html

Purchase your new kit

``` ## Abonnements simples Si vous fournissez un service d’abonnement simple (tel qu’un accès mensuel au logiciel), consultez le guide sur les [liens de paiement](https://docs.stripe.com/payment-links/create.md). Vous avez peut-être utilisé l’ancienne version de Checkout pour créer un jeton ou une source côté client, que vous avez ensuite transmis à votre serveur pour créer un client et un abonnement. ### Avant Avec l’ancienne version de Checkout, vous affichiez les informations sur l’abonnement et collectiez les informations de carte auprès de votre client. ```html
``` Ensuite, vous transmettiez le jeton ou la source qui en résultait à votre serveur pour créer un client et un abonnement. #### Curl ```bash curl https://api.stripe.com/v1/customers \ -u <>: \ -d "email"="{{STRIPE_EMAIL}}" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/subscriptions \ -u <>: \ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[][price]"="{PRICE_ID}" \ -d "items[][quantity]"=1 ``` ### Après Créez un [produit](https://docs.stripe.com/api/products.md) et un [prix](https://docs.stripe.com/api/prices.md) qui représente l’abonnement. L’exemple suivant crée le produit en ligne. Vous pouvez également créer ces objets dans le [Dashboard](https://dashboard.stripe.com/test/products). ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d currency=usd \ -d unit_amount=2000 \ -d "recurring[interval]"=month \ -d "product_data[name]"="Gold Tier" ``` Créez un [lien de paiement](https://dashboard.stripe.com/payment-links/create) dans le Dashboard à l’aide du produit et du prix. Après avoir créé le lien, cliquez sur le **bouton Acheter** pour configurer la conception et générer le code que vous pourrez copier et coller dans votre site Web. #### HTML ```html

Purchase your new kit

``` ## Conversion des paramètres La version actuelle de Checkout prend en charge la plupart des fonctionnalités de l’ancienne version de Checkout. Cependant, ils ne partagent pas la même API. Le tableau suivant fournit une correspondance des paramètres et des options de configuration entre l’ancienne version et la version actuelle. Pour obtenir une liste complète des options de configuration, consultez [Sessions Checkout](https://docs.stripe.com/api/checkout/sessions.md). | Ancienne version | Version actuelle | Conseils pour l’intégration | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `allowRememberMe` | Non prise en charge | Réutilisez les clients existants en précisant le paramètre `customer` lors de la création d’une [session Checkout](https://docs.stripe.com/api/checkout/sessions/create.md). Vous pouvez également activer [Link](https://docs.stripe.com/payments/link/checkout-link.md) pour permettre à vos clients d’enregistrer et de réutiliser leurs informations de paiement en toute sécurité. | | `amount` | Calculé automatiquement comme la somme des montants sur tous les `line_items` | Le montant total est la somme des postes que vous passez dans Checkout. | | `billingAddress` | `Session.billing_address_collection` | Checkout recueille automatiquement l’adresse de facturation lorsqu’elle est requise à des fins de prévention de la fraude ou de réglementation. Configurez ce paramètre sur `required` pour recueillir systématiquement l’adresse de facturation. | | `closed` | Lorsqu’un client veut fermer Checkout, il doit fermer l’onglet du navigateur. | | `currency` | `Session.currency` | | | `description` | `Session.line_items.description` ou `product.description` | Si vous indiquez un prix, Checkout génère automatiquement une description pour la fréquence des paiements. Si vous définissez le paramètre `Session.line_items`, Checkout affiche le nom de chaque poste dans le paramètre`name`. | | `email` | `Session.customer_email` | Si vous connaissez déjà l’adresse courriel de votre client, vous pouvez la faire remplir automatiquement avec [customer_email](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-customer_email) lors de la création de la session Checkout. | | `image` | **Marque de l’entreprise** Téléversez le logo ou l’icône de votre entreprise dans le Dashboard. **Images de produit** : Précisez les images pour chaque poste avec `product.images`. | Checkout utilise des images spécifiques pour la [marque](https://docs.stripe.com/payments/checkout/customization/appearance.md#branding) de votre entreprise et pour les produits que vous vendez. Checkout affiche le logo de votre entreprise par défaut et revient à l’icône de votre entreprise à côté du nom de votre entreprise. | | `key` | Ce n’est plus un paramètre passé dans Checkout | | | `locale` | `Session.locale` | Vous pouvez spécifier une [langue](https://docs.stripe.com/payments/checkout/customization/policies.md#localization) prise en charge lors de la création d’une session Checkout. | | `name` | `product.name` pour les prix précisés dans `Session.line_items` | Si vous indiquez un prix, Checkout affiche le nom du produit associé à ce prix. Si vous définissez le paramètre `Session.line_items`, Checkout affiche le `name` de chaque poste. | | `panelLabel` | `submit_type` | Checkout personnalise automatiquement le texte du bouton en fonction des articles que vous vendez. Pour les paiements ponctuels, utilisez [submit_type](https://docs.stripe.com/payments/checkout/customization/policies.md#submit-button) pour personnaliser le texte du bouton. | | `shippingAddress` | `session.shipping_address_collection` | [Collectez les informations relatives à l’adresse de livraison](https://docs.stripe.com/payments/collect-addresses.md?payment-ui=checkout) en transmettant un tableau contenant les pays autorisés `allowed_countries` vers lesquels vous souhaitez faire des livraisons. | | `token` ou `source` | `success_url` | Il n’y a plus de rappel en JavaScript lorsque le paiement est terminé. Comme votre client paie dans une page différente, définissez l’objet `success_url` pour rediriger votre client après qu’il a effectué le paiement. | | `zipCode` | Automatiquement recueilli par Checkout | Checkout recueille automatiquement le code postal lorsqu’il est requis à des fins de prévention de la fraude ou de réglementation. | ## See also - [Ajouter d’autres moyens de paiement](https://docs.stripe.com/payments/payment-methods/overview.md) - [Collecter les adresses et les numéros de téléphone](https://docs.stripe.com/payments/collect-addresses.md)