# Débiter la livraison Créez différents tarifs de livraison pour vos clients. Les tarifs de livraison vous permettent d’afficher différentes options de livraison, comme la livraison standard, express ou le lendemain, avec des estimations de livraison plus précises. Facturez à votre client les frais de livraison à l’aide de différents produits Stripe. Avant de créer un tarif de livraison, découvrez comment [collecter les adresses de facturation et de livraison](https://docs.stripe.com/payments/collect-addresses.md). # Page hébergée > This is a Page hébergée for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/during-payment/charge-shipping?payment-ui=stripe-hosted. ## Créer des frais de livraison [Dashboard] [Côté serveur] Les frais de livraison ne prennent en charge que des valeurs de montant fixe pour la totalité de la commande. Vous ne pouvez pas rajuster les frais de livraison en fonction du nombre d’articles dans la commande. #### Dashboard Pour ajouter des [tarifs de livraison](https://dashboard.stripe.com/test/shipping-rates) à l’aide du Dashboard : 1. Cliquez sur **Créer un tarif de livraison**. 1. Saisissez un montant, une description et, si vous le souhaitez, une estimation du délai de livraison. 1. Cliquez sur **Enregistrer** et copiez l’ID du tarif de livraison (`shr_123456`). ![](https://b.stripecdn.com/docs-statics-srv/assets/create-shipping-rate-dashboard.ddd79821d5edee523d7da9d22682be59.png) Saisissez les informations de vos tarifs de livraison ### Modifier des frais de livraison Vous ne pouvez pas mettre à jour le montant d’une devise déjà défini pour les frais de livraison. Une fois que vous avez défini une devise et un montant pour les frais de livraison, vous ne pouvez le mettre à jour que pour inclure de nouvelles devises. Pour mettre à jour les frais de livraison dans le Dashboard, vous devez archiver les frais de livraison, puis en créer de nouveaux. ### Archiver des frais de livraison Pour archiver des frais de livraison : 1. Dans l’onglet [Frais de livraison](https://dashboard.stripe.com/test/shipping-rates), sélectionnez les frais de livraison applicables. 1. Cliquez sur le menu déroulant ⋯, puis sélectionnez **Archiver**. Pour désarchiver les frais de livraison, cliquez sur le menu de débordement ⋯ et sélectionnez **Désarchiver les frais de livraison**. #### API > #### Vous souhaitez mettre dynamiquement à jour les frais de livraison? > > Checkout vous permet de mettre à jour de manière dynamique les tarifs de livraison en fonction de l’adresse fournie par votre client ou de la valeur de la commande. Consultez la section [Personnaliser dynamiquement les options de livraison](https://docs.stripe.com/payments/checkout/custom-shipping-options.md) sur cette fonctionnalité de la version bêta. [Créer des tarifs de livraison](https://docs.stripe.com/api/shipping_rates.md), qui nécessite au minimum les paramètres `type` et `display_name`. L’exemple de code suivant utilise ces deux paramètres ainsi que `fixed_amount` et `delivery_estimate` pour créer des frais de livraison : ```curl curl https://api.stripe.com/v1/shipping_rates \ -u "<>:" \ -d "display_name=Ground shipping" \ -d type=fixed_amount \ -d "fixed_amount[amount]=500" \ -d "fixed_amount[currency]=usd" \ -d "delivery_estimate[minimum][unit]=business_day" \ -d "delivery_estimate[minimum][value]=5" \ -d "delivery_estimate[maximum][unit]=business_day" \ -d "delivery_estimate[maximum][value]=7" ``` ### Modifier des frais de livraison Pour [mettre à jour les frais de livraison](https://docs.stripe.com/api/shipping_rates/update.md), appelez `Stripe::ShippingRate.update` et mettez à jour les paramètres si nécessaire. ## Créer une session de paiement [Côté serveur] Pour créer une session Checkout qui inclut vos frais de livraison, transmettez l’ID des frais de livraison générés au paramètre [shipping_options](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_options). Si vous souhaitez créer les tarifs de livraison en même temps qu’une session Checkout, utilisez le paramètre `shipping_rate_data` avec `shipping_options`. Seules les sessions Checkout en [mode de paiement](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) prennent en charge les options de livraison. L’exemple de code suivant permet d’ajouter deux options de livraison à la session Checkout : - Livraison gratuite, avec un délai de livraison estimé à 5-7 jours ouvrables. - Livraison par voie aérienne sous 1 jour ouvrable (estimation) pour un coût de 15,00 USD. Dans cet exemple, la première option du tableau `shipping_options` est sélectionnée par défaut lorsque le client accède à la page de paiement. Cependant, les clients peuvent choisir l’une des options. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d "shipping_address_collection[allowed_countries][1]=CA" \ -d "shipping_options[0][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]=0" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[0][shipping_rate_data][display_name]=Free shipping" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]=5" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]=7" \ -d "shipping_options[1][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[1][shipping_rate_data][fixed_amount][amount]=1500" \ -d "shipping_options[1][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[1][shipping_rate_data][display_name]=Next day air" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=1" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=1" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][product_data][name]=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" ``` En cas de succès, le sélecteur d’options de livraison s’affiche dans votre flux de paiement : ![Le sélecteur d’options de livraison dans le flux de paiement](https://b.stripecdn.com/docs-statics-srv/assets/example-checkout-session.5807984bdc0a25ddb53aab00768dd079.jpg) Le sélecteur d’options de livraison dans le flux de paiement ## Optional: Gérer les transactions terminées Une fois le paiement effectué, vous pouvez récupérer le montant des frais de livraison dans l’attribut [amount_total](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-amount_total) de [shipping_cost](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-shipping_cost). Vous pouvez également récupérer les tarifs de livraison sélectionnés à l’aide de l’attribut `shipping_rate` dans `shipping_cost`. Pour accéder à la propriété `shipping_cost`, vous devez [créer un gestionnaire d’événements](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) pour gérer les sessions Checkout terminées. Vous pouvez tester un gestionnaire en [installant l’interface de ligne de commande Stripe](https://docs.stripe.com/stripe-cli.md) et en utilisant `stripe listen --forward-to localhost:4242/webhook` pour [transférer les événements à votre serveur local](https://docs.stripe.com/webhooks.md#test-webhook). Dans l’exemple de code suivant, le gestionnaire permet à l’utilisateur d’accéder à `shipping_property` : #### Ruby ```ruby # Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key = "<>" require 'sinatra' # You can find your endpoint's secret in your webhook settings endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end if event['type'] == 'checkout.session.completed' checkout_session = event['data']['object'] fulfill_order(checkout_session) end status 200 end def fulfill_order(checkout_session)selected_shipping_rate = Stripe::ShippingRate.retrieve(checkout_session.shipping_cost.shipping_rate) shipping_total = checkout_session.shipping_cost.amount_total # TODO: Remove error and implement... raise NotImplementedError.new(<<~MSG) Given the Checkout Session "#{checkout_session.id}" load your internal order from the database then implement your own fulfillment logic. MSG end ``` ## Optional: Définir un devis de livraison Vous pouvez configurer les tarifs de livraison à l’aide de différentes combinaisons de délai de livraison. Le tableau suivant présente des exemples d’estimations, avec leurs valeurs `delivery_estimate.minimum` et `delivery_estimate.maximum` correspondantes. | Estimation du délai de livraison | Minimum | Maximum | | ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 1 jour | ```es6 { unit: 'day', value: 1, } ``` | ```es6 { unit: 'day', value: 1, } ``` | | 1 jour ouvrable | ```es6 { unit: 'business_day', value: 1, } ``` | ```es6 { unit: 'business_day', value: 1, } ``` | | Au moins 2 jours ouvrables | ```es6 { unit: 'business_day', value: 2, } ``` | ```es6 null ``` | | De 3 à 7 jours | ```es6 { unit: 'day', value: 3, } ``` | ```es6 { unit: 'day', value: 7, } ``` | | De 4 à 8 heures | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'hour', value: 8, } ``` | | De 4 heures à 2 jours ouvrables | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'business_day', value: 2, } ``` | ## Optional: Facturer une taxe de livraison Vous pouvez utiliser [Stripe Tax](https://docs.stripe.com/tax/checkout.md) pour calculer automatiquement la taxe sur les frais de livraison en définissant un `tax_code` et un `tax_behavior` sur vos tarifs de livraison. Stripe Tax détermine automatiquement si les frais de livraison sont taxables ([car l’assujettissement à la taxe varie selon l’État et le pays](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#shipping-tax-code)) et applique le bon taux de taxe, le cas échéant. Lorsque vous créez un tarif de livraison avec `shipping_rate_data` ou par l’entremise de [Créer un tarif de livraison](https://docs.stripe.com/api/shipping_rates/create.md), vous pouvez ajouter un paramètre `tax_behavior` et `tax_code` au tarif de livraison. Nous vous recommandons de définir le `tax_code` sur `Shipping` (`txcd_92010001`) pour vous assurer que vous facturez toujours la juste taxe. Vous pouvez également définir le tarif de livraison `tax_code` sur `Nontaxable` (`txcd_00000000`) si vous ne souhaitez facturer aucune taxe. Dans cet exemple, nous définissons `tax_behavior` à `exclusive`, ce qui est courant aux États-Unis. En savoir plus sur le [comportement fiscal](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-behavior). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d billing_address_collection=required \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d "shipping_address_collection[allowed_countries][1]=CA" \ -d "shipping_options[0][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]=0" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[0][shipping_rate_data][display_name]=Free shipping" \ -d "shipping_options[0][shipping_rate_data][tax_behavior]=exclusive" \ -d "shipping_options[0][shipping_rate_data][tax_code]=txcd_92010001" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]=5" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]=7" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][tax_behavior]=exclusive" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` Votre client peut voir le montant des taxes calculé pour le tarif de livraison pris en compte dans le total de la taxe de vente dans votre flux de paiement : ![Montant des taxes calculé pour le tarif de livraison sur la page de paiement](https://b.stripecdn.com/docs-statics-srv/assets/taxed-shipping.14e1bb580c37e035fcf2f0016680db5a.jpg) Montant des taxes calculé pour le tarif de livraison dans le flux de paiement # Page intégrée > This is a Page intégrée for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/during-payment/charge-shipping?payment-ui=embedded-form. ## Créer des frais de livraison [Dashboard] [Côté serveur] Les frais de livraison ne prennent en charge que des valeurs de montant fixe pour la totalité de la commande. Vous ne pouvez pas rajuster les frais de livraison en fonction du nombre d’articles dans la commande. #### Dashboard Pour ajouter des [tarifs de livraison](https://dashboard.stripe.com/test/shipping-rates) à l’aide du Dashboard : 1. Cliquez sur **Créer un tarif de livraison**. 1. Saisissez un montant, une description et, si vous le souhaitez, une estimation du délai de livraison. 1. Cliquez sur **Enregistrer** et copiez l’ID du tarif de livraison (`shr_123456`). ![](https://b.stripecdn.com/docs-statics-srv/assets/create-shipping-rate-dashboard.ddd79821d5edee523d7da9d22682be59.png) Saisissez les informations de vos tarifs de livraison ### Modifier des frais de livraison Vous ne pouvez pas mettre à jour le montant d’une devise déjà défini pour les frais de livraison. Une fois que vous avez défini une devise et un montant pour les frais de livraison, vous ne pouvez le mettre à jour que pour inclure de nouvelles devises. Pour mettre à jour les frais de livraison dans le Dashboard, vous devez archiver les frais de livraison, puis en créer de nouveaux. ### Archiver des frais de livraison Pour archiver des frais de livraison : 1. Dans l’onglet [Frais de livraison](https://dashboard.stripe.com/test/shipping-rates), sélectionnez les frais de livraison applicables. 1. Cliquez sur le menu déroulant ⋯, puis sélectionnez **Archiver**. Pour désarchiver les frais de livraison, cliquez sur le menu de débordement ⋯ et sélectionnez **Désarchiver les frais de livraison**. #### API > #### Vous souhaitez mettre dynamiquement à jour les frais de livraison? > > Checkout vous permet de mettre à jour de manière dynamique les tarifs de livraison en fonction de l’adresse fournie par votre client ou de la valeur de la commande. Consultez la section [Personnaliser dynamiquement les options de livraison](https://docs.stripe.com/payments/checkout/custom-shipping-options.md) sur cette fonctionnalité de la version bêta. [Créer des tarifs de livraison](https://docs.stripe.com/api/shipping_rates.md), qui nécessite au minimum les paramètres `type` et `display_name`. L’exemple de code suivant utilise ces deux paramètres ainsi que `fixed_amount` et `delivery_estimate` pour créer des frais de livraison : ```curl curl https://api.stripe.com/v1/shipping_rates \ -u "<>:" \ -d "display_name=Ground shipping" \ -d type=fixed_amount \ -d "fixed_amount[amount]=500" \ -d "fixed_amount[currency]=usd" \ -d "delivery_estimate[minimum][unit]=business_day" \ -d "delivery_estimate[minimum][value]=5" \ -d "delivery_estimate[maximum][unit]=business_day" \ -d "delivery_estimate[maximum][value]=7" ``` ### Modifier des frais de livraison Pour [mettre à jour les frais de livraison](https://docs.stripe.com/api/shipping_rates/update.md), appelez `Stripe::ShippingRate.update` et mettez à jour les paramètres si nécessaire. ## Créer une session de paiement [Côté serveur] Pour créer une session Checkout qui inclut vos frais de livraison, transmettez l’ID des frais de livraison générés au paramètre [shipping_options](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_options). Si vous souhaitez créer les tarifs de livraison en même temps qu’une session Checkout, utilisez le paramètre `shipping_rate_data` avec `shipping_options`. Seules les sessions Checkout en [mode de paiement](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) prennent en charge les options de livraison. L’exemple de code suivant permet d’ajouter deux options de livraison à la session Checkout : - Livraison gratuite, avec un délai de livraison estimé à 5-7 jours ouvrables. - Livraison par voie aérienne sous 1 jour ouvrable (estimation) pour un coût de 15,00 USD. Dans cet exemple, la première option du tableau `shipping_options` est sélectionnée par défaut lorsque le client accède à la page de paiement. Cependant, les clients peuvent choisir l’une des options. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d billing_address_collection=required \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d "shipping_address_collection[allowed_countries][1]=CA" \ -d "shipping_options[0][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]=0" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[0][shipping_rate_data][display_name]=Free shipping" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]=5" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]=7" \ -d "shipping_options[1][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[1][shipping_rate_data][fixed_amount][amount]=1500" \ -d "shipping_options[1][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[1][shipping_rate_data][display_name]=Next day air" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=1" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=1" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` En cas de succès, le sélecteur d’options de livraison s’affiche dans votre flux de paiement : ![Le sélecteur d’options de livraison dans le flux de paiement](https://b.stripecdn.com/docs-statics-srv/assets/example-checkout-session.5807984bdc0a25ddb53aab00768dd079.jpg) Le sélecteur d’options de livraison dans le flux de paiement ## Optional: Gérer les transactions terminées Une fois le paiement effectué, vous pouvez récupérer le montant des frais de livraison dans l’attribut [amount_total](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-amount_total) de [shipping_cost](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-shipping_cost). Vous pouvez également récupérer les tarifs de livraison sélectionnés à l’aide de l’attribut `shipping_rate` dans `shipping_cost`. Pour accéder à la propriété `shipping_cost`, vous devez [créer un gestionnaire d’événements](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) pour gérer les sessions Checkout terminées. Vous pouvez tester un gestionnaire en [installant l’interface de ligne de commande Stripe](https://docs.stripe.com/stripe-cli.md) et en utilisant `stripe listen --forward-to localhost:4242/webhook` pour [transférer les événements à votre serveur local](https://docs.stripe.com/webhooks.md#test-webhook). Dans l’exemple de code suivant, le gestionnaire permet à l’utilisateur d’accéder à `shipping_property` : #### Ruby ```ruby # Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key = "<>" require 'sinatra' # You can find your endpoint's secret in your webhook settings endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end if event['type'] == 'checkout.session.completed' checkout_session = event['data']['object'] fulfill_order(checkout_session) end status 200 end def fulfill_order(checkout_session)selected_shipping_rate = Stripe::ShippingRate.retrieve(checkout_session.shipping_cost.shipping_rate) shipping_total = checkout_session.shipping_cost.amount_total # TODO: Remove error and implement... raise NotImplementedError.new(<<~MSG) Given the Checkout Session "#{checkout_session.id}" load your internal order from the database then implement your own fulfillment logic. MSG end ``` ## Optional: Définir un devis de livraison Vous pouvez configurer les tarifs de livraison à l’aide de différentes combinaisons de délai de livraison. Le tableau suivant présente des exemples d’estimations, avec leurs valeurs `delivery_estimate.minimum` et `delivery_estimate.maximum` correspondantes. | Estimation du délai de livraison | Minimum | Maximum | | ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 1 jour | ```es6 { unit: 'day', value: 1, } ``` | ```es6 { unit: 'day', value: 1, } ``` | | 1 jour ouvrable | ```es6 { unit: 'business_day', value: 1, } ``` | ```es6 { unit: 'business_day', value: 1, } ``` | | Au moins 2 jours ouvrables | ```es6 { unit: 'business_day', value: 2, } ``` | ```es6 null ``` | | De 3 à 7 jours | ```es6 { unit: 'day', value: 3, } ``` | ```es6 { unit: 'day', value: 7, } ``` | | De 4 à 8 heures | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'hour', value: 8, } ``` | | De 4 heures à 2 jours ouvrables | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'business_day', value: 2, } ``` | ## Optional: Facturer une taxe de livraison Vous pouvez utiliser [Stripe Tax](https://docs.stripe.com/tax/checkout.md) pour calculer automatiquement la taxe sur les frais de livraison en définissant un `tax_code` et un `tax_behavior` sur vos tarifs de livraison. Stripe Tax détermine automatiquement si les frais de livraison sont taxables ([car l’assujettissement à la taxe varie selon l’État et le pays](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#shipping-tax-code)) et applique le bon taux de taxe, le cas échéant. Lorsque vous créez un tarif de livraison avec `shipping_rate_data` ou par l’entremise de [Créer un tarif de livraison](https://docs.stripe.com/api/shipping_rates/create.md), vous pouvez ajouter un paramètre `tax_behavior` et `tax_code` au tarif de livraison. Nous vous recommandons de définir le `tax_code` sur `Shipping` (`txcd_92010001`) pour vous assurer que vous facturez toujours la juste taxe. Vous pouvez également définir le tarif de livraison `tax_code` sur `Nontaxable` (`txcd_00000000`) si vous ne souhaitez facturer aucune taxe. Dans cet exemple, nous définissons `tax_behavior` à `exclusive`, ce qui est courant aux États-Unis. En savoir plus sur le [comportement fiscal](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-behavior). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d billing_address_collection=required \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d "shipping_address_collection[allowed_countries][1]=CA" \ -d "shipping_options[0][shipping_rate_data][type]=fixed_amount" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]=0" \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]=usd" \ -d "shipping_options[0][shipping_rate_data][display_name]=Free shipping" \ -d "shipping_options[0][shipping_rate_data][tax_behavior]=exclusive" \ -d "shipping_options[0][shipping_rate_data][tax_code]=txcd_92010001" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]=5" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]=business_day" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]=7" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][tax_behavior]=exclusive" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Votre client peut voir le montant des taxes calculé pour le tarif de livraison pris en compte dans le total de la taxe de vente dans votre flux de paiement : ![Montant des taxes calculé pour le tarif de livraison sur la page de paiement](https://b.stripecdn.com/docs-statics-srv/assets/taxed-shipping.14e1bb580c37e035fcf2f0016680db5a.jpg) Montant des taxes calculé pour le tarif de livraison dans le flux de paiement