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
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
    Présentation
    Solutions de démarrage rapide
    Personnaliser l'apparence
    Collecter des informations supplémentaires
      Collecter les adresses physiques
      Facturer la livraison
      Collecter des numéros de téléphone
      Ajouter des champs personnalisés
      Recueillir le consentement pour les e-mails promotionnels
    Collecter des taxes
    Mise à jour dynamique lors du paiement
    Gérer votre catalogue de produits
    Abonnements
    Gérer les moyens de paiement
    Offrir aux clients la possibilité de payer dans leur devise locale
    Ajoutez des réductions, des ventes incitatives et des articles facultatifs
    Configurer des paiements futurs
    Enregistrer les coordonnées bancaires lors du paiement
    Approuver manuellement les paiements sur votre serveur
    Après le paiement
    Liste des modifications de la version bêta d'Elements avec l'API Checkout Sessions
    Migrer depuis l'ancienne version de Checkout
    Migrer vers Checkout pour utiliser Prices
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
In-app Payments
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsBuild a checkout pageCollect additional information

Facturer la livraison

Créez différents tarifs de livraison pour vos clients.

Les frais de livraison vous permettent d’afficher diverses options d’expédition (standard, express et 24 heures) avec des estimations de livraison plus précises. Facturez vos clients pour la livraison à l’aide de différents produits Stripe, dont certains nécessitent l’écriture de code. Avant de créer des frais de livraison, découvrez comment collecter les adresses de facturation et de livraison.

Remarque

Les frais de livraison ne prennent en charge que des valeurs de montant fixe pour l’ensemble de la commande. Vous ne pouvez pas ajuster les frais de livraison en fonction du nombre d’articles dans la commande.

Créer des frais de livraison
Dashboard
Côté serveur

Remarque

Les frais de livraison ne prennent en charge que des valeurs de montant fixe pour l’ensemble de la commande. Vous ne pouvez pas ajuster les frais de livraison en fonction du nombre d’articles dans la commande.

Pour ajouter des frais de livraison à l’aide du Dashboard :

  1. Cliquez sur Créer des frais de livraison.
  2. Renseignez un montant, une description et, si vous le souhaitez, une estimation du délai de livraison.
  3. Cliquez sur Enregistrer et copiez l’ID des frais de livraison (shr_123456).

Saisir les détails de vos frais de livraison

Modifier des frais de livraison

Vous ne pouvez pas mettre à jour les frais de livraison dans le Dashboard. Pour mettre à jour des frais de livraison dans le Dashboard, vous devez archiver les frais de livraison concernés, puis en créer d’autres.

Archiver les frais de livraison

Pour archiver des frais de livraison :

  1. Dans l’onglet Frais de livraison, sélectionnez les frais de livraison applicables.
  2. Cliquez sur le menu déroulant , puis sélectionnez Archiver.

Pour désarchiver les frais de livraison, cliquez sur le menu déroulant et sélectionnez Désarchiver les frais de livraison.

Créer une session Checkout
Côté serveur

Pour créer une session de paiement incluant vos frais de livraison, transmettez l’ID des frais de livraison généré au paramètre shipping_options. Si vous souhaitez créer les frais 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 prennent en charge les options de livraison.

L’exemple de code suivant ajoute deux options de livraison à la session Checkout :

  • Livraison gratuite sous 5 à 7 jours ouvrés (estimation).
  • Livraison par voie aérienne sous 1 jour ouvré (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. Les clients peuvent cependant choisir ensuite l’option de leur choix.

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

Sauf échec de l’opération, le sélecteur d’option de livraison apparaît sur votre page de paiement :

Le sélecteur d'option de livraison sur la page de paiement

Le sélecteur d’option de livraison sur la page de paiement

FacultatifGérer les transactions réussies

Une fois le paiement aboutit, vous pouvez récupérer le montant de la livraison dans l’attribut amount_total de shipping_cost. Vous pouvez également récupérer le tarif de livraison sélectionné à l’aide de l’attribut shipping_rate de shipping_cost. Pour accéder à la propriété shipping_cost, vous devez créer un gestionnaire d’événements pour gérer les sessions Checkout terminées. Vous pouvez tester un gestionnaire en installant la CLI Stripe et en utilisant stripe listen --forward-to localhost:4242/webhook pour transférer les événements vers votre serveur local. Dans l’exemple de code suivant, le gestionnaire permet à l’utilisateur d’accéder à shipping_property :

Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# 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 =
"sk_test_BQokikJOvBiI2HlWgH4olfQ2"
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

FacultatifÉtablir une estimation du délai de livraison

Vous pouvez configurer des tarifs de livraison avec différentes combinaisons d’estimations du 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 livraisonMinimumMaximum
1 jour
{ unit: 'day', value: 1, }
{ unit: 'day', value: 1, }
1 jour ouvré
{ unit: 'business_day', value: 1, }
{ unit: 'business_day', value: 1, }
Au moins 2 jours ouvrés
{ unit: 'business_day', value: 2, }
null
3 à 7 jours
{ unit: 'day', value: 3, }
{ unit: 'day', value: 7, }
4 à 8 heures
{ unit: 'hour', value: 4, }
{ unit: 'hour', value: 8, }
De 4 heures à 2 jours ouvrés
{ unit: 'hour', value: 4, }
{ unit: 'business_day', value: 2, }

FacultatifFacturer une taxe sur la livraison

Vous pouvez utiliser Stripe Tax pour calculer automatiquement la taxe appliquée aux frais de livraison en définissant un tax_code et un tax_behavior sur vos frais de livraison. Stripe Tax détermine automatiquement si la livraison est imposable (car la fiscalité varie selon l’état et le pays), puis applique le taux de taxe adapté si c’est le cas.

Lors de la création d’un tarif d’expédition avec shipping_rate_data ou par le biais de Create a Shipping Rate, vous pouvez ajouter un paramètre tax_behavior et tax_code au tarif d’expédition.

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 tax_code du tarif de livraison sur Nontaxable (txcd_00000000) si vous ne souhaitez facturer aucune taxe.

Dans cet exemple, nous définissons le tax_behavior sur exclusive (courant aux États-Unis). Pour plus d’informations, reportez-vous à notre documentation relative au comportement fiscal.

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 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 de la taxe calculé pour le tarif de livraison pris en compte dans la taxe de vente totale sur la page de paiement :

Montant de la taxe calculé pour le tarif de livraison sur la page de paiement

Montant de la taxe calculé pour le tarif de livraison sur la page de paiement

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