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'usageUtiliser Managed Payments
Utiliser Payment Links
Utiliser une page de paiement préconfiguré
Créer une intégration personnalisée avec Elements
    Présentation
    Comparer Checkout Sessions et PaymentIntents
    Guides QuickStart
    Concevoir une intégration avancée
    Personnaliser l'apparence
    Gérer les moyens de paiement
    Collecter des informations supplémentaires
    Créer une intégration pour les abonnements
    Mises à jour dynamiques
    Ajouter des réductions
    Percevoir les taxes sur vos paiements
      Collecter des numéros fiscaux
    Utiliser des crédits
    Offrir aux clients la possibilité de payer dans leur devise locale
    Enregistrer et récupérer les moyens de paiement des clients
    Envoyer des reçus ou factures après paiement
    Approuver manuellement les paiements sur votre serveur
    Autoriser et capturer un paiement séparément
    Liste des modifications de la version bêta d'Elements avec l'API Checkout Sessions
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
Paiements dans l'application
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
Commerce agentique
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsBuild a custom integration with Elements

Collecter des taxes

Utilisez les API Stripe Tax pour implémenter le calcul des taxes dans votre intégration personnalisée.

Use Stripe Tax to automatically calculate the tax on your transactions without requiring you to define the rates and rules. Fees only apply after you add at least one location where you’re registered to calculate and remit tax.

Configure your Checkout Session to collect tax

To start collecting tax:

  1. Pass automatic_tax[enabled]=true when creating a Checkout Session.
  2. Specify a tax_code for each line item, or set a preset tax code in the Dashboard.
  3. Specify a tax_behavior for each line item, or set a default tax behavior in the Dashboard.

This code enables automatic tax calculation using Stripe Tax, a tax code, and a tax behavior. Stripe Tax then uses the tax code and tax behavior to automatically calculate taxes.

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 "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][product_data][tax_code]"=txcd_99999999 \ -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 mode=payment \ -d ui_mode=custom \ -d return_url={{RETURN_URL}} \ -d "automatic_tax[enabled]"=true

Tax codes

The tax codes associate products with tax rates. Choose the appropriate tax code for your product from the list of tax codes. If a product doesn’t match with any of the tax codes, you can use one of the General codes.

Tax behavior

The tax behavior determines how to present tax to the customer:

  • Exclusive: The product price doesn’t include tax, which is added as a separate amount.
  • Inclusive: The product price includes any tax amount.

FacultatifCollecter la taxe via le composant Element paiement

Vous pouvez collecter les informations de l’adresse fiscale directement dans le composant Element paiement. La collecte des informations de l’adresse fiscale via le composant Element paiement convient aux cas d’usage suivants :

  • Vous n’avez pas besoin de collecte complète de l’adresse.
  • Vous n’avez besoin de collecter les adresses qu’à des fins fiscales.

Cette fonctionnalité intègre des champs de saisie pour le pays et le code postal dans chaque formulaire de moyen de paiement dans le composant Payment Element. Elle ne collecte que les champs d’adresse minimum requis pour le calcul des taxes conformément aux exigences de Stripe Tax.

Il existe certaines considérations régionales pour lesquelles le taux d’imposition utilisant les champs d’adresse minimum requis peut différer du taux d’imposition applicable à l’adresse complète de votre client. Nous vous recommandons d’utiliser le composant Address Element pour collecter l’adresse complète de votre client à des fins de calcul de la taxe si ces considérations régionales s’appliquent à votre entreprise.

Lorsque vous créez la Session Checkout, définissez le paramètre billing_address_collection=auto pour collecter automatiquement l’adresse de facturation.

N’incluez pas le paramètre shipping_address_collection. Si vous fournissez ce paramètre, les informations de l’adresse fiscale sont collectées en fonction de l’adresse de livraison au lieu de l’adresse de facturation.

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 "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][product_data][tax_code]"=txcd_99999999 \ -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 mode=payment \ -d ui_mode=custom \ -d return_url={{RETURN_URL}} \ -d "automatic_tax[enabled]"=true \ -d billing_address_collection=auto

Lorsque vous collectez des informations d’adresse fiscale via le composant Element paiement, le calcul de la taxe se comporte de la manière suivante pour les scénarios suivants :

  • Si vous transmettez le paramètre fields.billingDetails.address=auto | if_required, Payment Element collecte les champs d’adresse minimum requis pour le calcul des taxes.
  • Si vous transmettez le paramètre fields.billingDetails.address=never, vous devez collecter les informations relatives à l’adresse fiscale par une autre méthode, car les champs de saisie de facturation n’apparaîtront pas dans le Payment Element.
  • Si vous transmettez le paramètre fields.billingDetails.address.country=never, le pays détecté du client est utilisé pour le calcul des taxes.
  • Si vous transmettez le paramètre fields.billingDetails.address.postalCode=never, la méthode renvoie une erreur, car le code postal peut être obligatoire pour certains pays.
  • Si vous appelez le paramètre checkout.update BillingAddress, la méthode renvoie une erreur, car l’adresse de facturation pourrait potentiellement entrer en conflit.

FacultatifCheck the response

You can view the calculated tax amount for each payment as follows:

  • In the Checkout Session resource, review the total_details.amount_tax property.
  • In the Dashboard, review the tax outcome for each payment.

Render the tax amount

Use the useCheckout hook to display the tax amount in your payment form.

import React from 'react'; import {useCheckout} from '@stripe/react-stripe-js'; const CheckoutForm = () => { const checkoutState = useCheckout(); if (checkoutState.type === 'loading') { return ( <div>Loading...</div> ); } else if (checkoutState.type === 'error') { return ( <div>Error: {checkoutState.error.message}</div> ); } const {checkout} = checkoutState; return ( <div> <h2>Checkout Summary</h2> <pre> {JSON.stringify(checkout.lineItems, null, 2)} </pre> <h3>Totals</h3> <pre> Subtotal: {checkout.total.subtotal.amount} {/* Make sure you use the appropriate tax amount type (taxInclusive and/or taxExclusive) for your integration */} Tax: {checkout.total.taxExclusive.amount} Total: {checkout.total.total.amount} </pre> </div> ) };
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