# Collecte des numéros fiscaux des clients Utilisez le composant Element de numéro fiscal pour collecter les numéros fiscaux d’entreprise auprès de vos clients dans votre intégration PaymentIntents. ## Collecter les numéros fiscaux des clients Il est courant d’exiger que le numéro fiscal et le nom de l’entreprise d’un client figurent sur les *factures* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice). Vous pouvez utiliser le composant [Element d’identification fiscale](https://docs.stripe.com/elements/tax-id-element.md) pour collecter ces informations. Cette fonctionnalité est disponible en [version bêta publique](https://docs.stripe.com/release-phases.md). > #### Avis de non-responsabilité > > L’API Payment Intents est conçue pour collecter les numéros fiscaux des entreprises, qui peuvent avoir des formats similaires à ceux des identifiants fiscaux personnels dans certaines juridictions. Vous devez vous assurer que seuls les identifiants fiscaux des entreprises, tels que désignés pour ce champ, sont fournis lorsque vous utilisez cette fonctionnalité. ### Activer la version bêta Le composant Element d’identification fiscale avec l’API Payment Intents vous oblige à activer la version bêta du paramètre `elements_tax_id_1`. Ajoutez la version bêta à votre initialisation Stripe.js : ```javascript const stripe = Stripe('<>', { betas: ['elements_tax_id_1'], }); ``` ### Créer une CustomerSession (facultatif) Pour enregistrer les identifiants fiscaux et les réafficher aux clients récurrents, créez une [CustomerSession](https://docs.stripe.com/api/customer_sessions.md), qui fournit un accès sécurisé et temporaire aux données du client sans exposer votre clé API secrète au client. Si vous n’utilisez pas `CustomerSession`, le composant Tax ID fonctionne toujours, mais sans fonctionnalité d’enregistrement et de réaffichage. Vous pouvez utiliser [getValue](https://docs.stripe.com/js/elements_object/get_value_tax_id_element) pour lire les valeurs d’identifiant fiscal depuis le composant et les traiter manuellement. #### Customer v1 Créez ou récupérez un { % terme de glossaire="clients » %}Client{ % /glossary %} : ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ --data-urlencode "email=customer@example.com" \ -d "name=Jenny Rosen" ``` Créer une `CustomerSession` avec le composant Tax ID activé : ```curl curl https://api.stripe.com/v1/customer_sessions \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "components[tax_id_element][enabled]=true" \ -d "components[tax_id_element][features][tax_id_redisplay]=enabled" \ -d "components[tax_id_element][features][tax_id_save]=enabled" ``` La `CustomerSession` renvoie un `client_secret` que vous transmettrez au client. ### Créer un PaymentIntent ou un SetupIntent Créez un [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) ou un [SetupIntent](https://docs.stripe.com/api/setup_intents.md) sur votre serveur. Lorsque vous utilisez `CustomerSession`, incluez le paramètre de référence du client afin d’activer la fonctionnalité d’enregistrement et de réaffichage des identifiants fiscaux : #### Customer v1 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "customer={{CUSTOMER_ID}}" ``` > Vous n’avez pas besoin d’inclure de paramètres spécifiques aux identifiants fiscaux lors de la création du PaymentIntent ou du SetupIntent. Le composant Tax ID gère automatiquement la collecte des identifiants fiscaux et les enregistre dans l’objet*Customer* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) lorsque vous utilisez une CustomerSession avec les autorisations appropriées. ### Initialiser Elements Créez une instance Elements en utilisant la `clientSecret` de votre PaymentIntent ou SetupIntent. Pour permettre l’enregistrement des numéros fiscaux d’un client et leur réaffichage pour les clients fidèles, incluez la clé `customerSessionClientSecret` : ```javascript const stripe = Stripe('<>', { betas: ['elements_tax_id_1'], }); // Fetch the clientSecret from your server const {clientSecret} = await fetch('/create-payment-intent', { method: 'POST', headers: { 'Content-Type': 'application/json' }, }).then((res) => res.json()); // Fetch the customerSessionClientSecret from your server const {customerSessionClientSecret} = await fetch('/create-customer-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, }).then((res) => res.json()); const elements = stripe.elements({ clientSecret,customerSessionClientSecret, appearance: { /* ... */ } }); ``` ### Créez et montez le composant Element d’identification fiscale Créez une instance du composant Element d’identification fiscale et intégrez-la à votre page : ```html
``` ```javascript const taxIdElement = elements.create('taxId', { visibility: 'auto', // 'auto' | 'always' | 'never' }); taxIdElement.mount('#tax-id-element'); ``` Vous pouvez personnaliser le composant Element d’identification fiscale avec des options telles que la `visibility`, les `fields`, et la `validation`. Pour en savoir plus, consulter la [documentation relative à la création de composants Element d’identification fiscale](https://docs.stripe.com/js/elements_object/create_tax_id_element). ### Utilisation avec le composant Element d’adresse (facultatif) Lorsque vous utilisez le composant Element d’identification fiscale avec le composant [Element d’adresse](https://docs.stripe.com/elements/address-element.md), Stripe détermine automatiquement le type du numéro fiscal et la visibilité des éléments en fonction de l’adresse du client. ### Finaliser le paiement Lorsque le client soumet le formulaire de paiement, appelez le paramètre [confirmPayment](https://docs.stripe.com/js/payment_intents/confirm_payment) ou [confirmSetup](https://docs.stripe.com/js/setup_intents/confirm_setup). Stripe inclut automatiquement les informations relatives au numéro fiscal et les sauvegarde pour le client, si le paiement réussit : ```javascript const form = document.getElementById('payment-form'); form.addEventListener('submit', async (event) => { event.preventDefault(); const {error} = await stripe.confirmPayment({ elements, confirmParams: { return_url: 'https://example.com/order/complete', }, }); if (error) { // Handle error console.error(error.message); } // Customer gets redirected to return_url if successful }); ``` Vous pouvez aussi utiliser [getValue](https://docs.stripe.com/js/elements_object/get_value_tax_id_element) du côté client pour lire les valeurs de numéro fiscal avant de soumettre le paiement. ### Tester votre intégration Dans les environnements de test, vous pouvez saisir n’importe quelle chaîne de caractères alphanumériques correspondant au format d’un type de numéro fiscal pris en charge (par exemple, `DE123456789` pour `eu_vat`). Vous trouverez une liste complète d’exemples de numéros fiscaux dans notre [guide sur les numéros fiscaux des clients](https://docs.stripe.com/billing/customer/tax-ids.md#supported-tax-id). Vous pouvez également utiliser nos [numéros fiscaux de test](https://docs.stripe.com/connect/testing.md#test-business-tax-ids) pour tester différents flux d’état de vérification. ### Validation asynchrone du numéro fiscal Lors de la confirmation ou de la configuration du paiement, Stripe vérifie que les numéros fiscaux fournis sont correctement formatés, mais pas qu’ils sont valides. C’est à vous qu’il incombe de garantir la validité des informations clients. Pour vous aider, Stripe effectue automatiquement une validation asynchrone sur les bases de données gouvernementales pour les [Numéros d’identification australiens (ABN)](https://docs.stripe.com/tax/invoicing/tax-ids.md#australian-business-numbers-abn), la [Taxe sur la valeur ajoutée en Europe](https://docs.stripe.com/tax/invoicing/tax-ids.md#european-value-added-tax-eu-vat-numbers) (TVA UE) et la [Taxe sur la valeur ajoutée du Royaume-Uni](https://docs.stripe.com/tax/invoicing/tax-ids.md#united-kingdom-value-added-tax-gb-vat-numbers) (GB TVA). En savoir plus sur les [validations que nous effectuons](https://docs.stripe.com/tax/invoicing/tax-ids.md#validation), et l’utilisation de l’état de ces vérifications. ### Validation du numéro fiscal en temps réel (Aperçu) En plus de la validation asynchrone décrite ci-dessus, vous pouvez activer la vérification synchrone en temps réel des numéros fiscaux directement dans le composant Tax ID. Lorsque cette fonctionnalité est activée, Stripe vérifie les numéros fiscaux dans les bases de données gouvernementales au fur et à mesure que votre client les saisit et affiche le résultat en ligne avant l’envoi du paiement. Stripe prend actuellement en charge la vérification en temps réel des [numéros d’entreprise australiens (ABN)](https://docs.stripe.com/tax/invoicing/tax-ids.md#australian-business-numbers-abn), des [numéros de TVA de l’Union européenne (EU VAT)](https://docs.stripe.com/tax/invoicing/tax-ids.md#european-value-added-tax-eu-vat-numbers) et des [numéros de TVA du Royaume-Uni (GB VAT).](https://docs.stripe.com/tax/invoicing/tax-ids.md#united-kingdom-value-added-tax-gb-vat-numbers) Si une base de données gouvernementale n’est pas disponible, Stripe revient à une validation synchrone du format et effectue la vérification complète de manière asynchrone. Cette fonctionnalité est en [version bêta publique](https://docs.stripe.com/release-phases.md) et nécessite la version bêta suivante : `elements_tax_id_verification_1` ```javascript const taxIdElement = elements.create('taxId', { ... verification: { taxId: { mode: 'if_supported', }, }, }); ``` Lorsque vous activez la vérification, l’événement `change` inclut le champ `verification.taxId.status`. Sa valeur peut être `pending`, `verified`, `unverified` ou `unavailable`. L’état `complete` du composant reflète le résultat de la vérification. Consultez [Créer un composant Tax ID](https://docs.stripe.com/js/elements_object/create_tax_id_element#tax_id_element_create-options-verification) et [Composant Tax ID - événement change](https://docs.stripe.com/js/element/events/on_change?type=taxIdElement#element_on_change-handler-verification) pour plus de détails. ### Types de numéros fiscaux pris en charge Le composant Element d’identification fiscale prend en charge la collecte des numéros fiscaux dans les pays et régions suivants : | Country | Enum | Description | Example | Impact in Tax Calculation* | | ------- | ---------- | --------------------------------------------------------------------------- | -------------------- | -------------------------- | | AE | ae_trn | United Arab Emirates TRN | 123456789012345 | Yes | | AL | al_tin | Albania Tax Identification Number | J12345678N | Yes | | AM | am_tin | Armenia Tax Identification Number | 02538904 | Yes | | AO | ao_tin | Angola Tax Identification Number | 5123456789 | No | | AT | eu_vat | European VAT number | ATU12345678 | Yes | | AU | au_abn | Australian Business Number (AU ABN) | 12345678912 | Yes | | AW | aw_tin | Aruba Tax Identification Number | 12345678 | Yes | | AZ | az_tin | Azerbaijan Tax Identification Number | 0123456789 | Yes | | BA | ba_tin | Bosnia and Herzegovina Tax Identification Number | 123456789012 | Yes | | BB | bb_tin | Barbados Tax Identification Number | 1123456789012 | No | | BD | bd_bin | Bangladesh Business Identification Number | 123456789-0123 | Yes | | BE | eu_vat | European VAT number | BE0123456789 | Yes | | BF | bf_ifu | Burkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique) | 12345678A | Yes | | BG | eu_vat | European VAT number | BG0123456789 | Yes | | BH | bh_vat | Bahraini VAT Number | 123456789012345 | Yes | | BJ | bj_ifu | Benin Tax Identification Number (Identifiant Fiscal Unique) | 1234567890123 | Yes | | BS | bs_tin | Bahamas Tax Identification Number | 123.456.789 | No | | BY | by_tin | Belarus TIN Number | 123456789 | Yes | | CA | ca_bn | Canadian BN | 123456789 | No | | CA | ca_gst_hst | Canadian GST/HST number | 123456789RT0002 | Yes | | CA | ca_pst_bc | Canadian PST number (British Columbia) | PST-1234-5678 | No | | CA | ca_pst_mb | Canadian PST number (Manitoba) | 123456-7 | No | | CA | ca_pst_sk | Canadian PST number (Saskatchewan) | 1234567 | No | | CA | ca_qst | Canadian QST number (Québec) | 1234567890TQ1234 | Yes | | CD | cd_nif | Congo (DR) Tax Identification Number (Número de Identificação Fiscal) | A0123456M | No | | CH | ch_vat | Switzerland VAT number | CHE-123.456.789 MWST | Yes | | CL | cl_tin | Chilean TIN | 12.345.678-K | Yes | | CM | cm_niu | Cameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique) | M123456789000L | No | | CR | cr_tin | Costa Rican tax ID | 1-234-567890 | No | | CV | cv_nif | Cape Verde Tax Identification Number (Número de Identificação Fiscal) | 213456789 | No | | CY | eu_vat | European VAT number | CY12345678Z | Yes | | CZ | eu_vat | European VAT number | CZ1234567890 | Yes | | DE | eu_vat | European VAT number | DE123456789 | Yes | | DK | eu_vat | European VAT number | DK12345678 | Yes | | EC | ec_ruc | Ecuadorian RUC number | 1234567890001 | No | | EE | eu_vat | European VAT number | EE123456789 | Yes | | EG | eg_tin | Egyptian Tax Identification Number | 123456789 | Yes | | ES | es_cif | Spanish NIF number (previously Spanish CIF number) | A12345678 | No | | ES | eu_vat | European VAT number | ESA1234567Z | Yes | | ET | et_tin | Ethiopia Tax Identification Number | 1234567890 | Yes | | FI | eu_vat | European VAT number | FI12345678 | Yes | | FR | eu_vat | European VAT number | FRAB123456789 | Yes | | GB | eu_vat | Northern Ireland VAT number | XI123456789 | Yes | | GB | gb_vat | United Kingdom VAT number | GB123456789 | Yes | | GE | ge_vat | Georgian VAT | 123456789 | Yes | | GN | gn_nif | Guinea Tax Identification Number (Número de Identificação Fiscal) | 123456789 | Yes | | GR | eu_vat | European VAT number | EL123456789 | Yes | | HR | eu_vat | European VAT number | HR12345678912 | Yes | | HU | eu_vat | European VAT number | HU12345678 | Yes | | HU | hu_tin | Hungary tax number (adószám) | 12345678-1-23 | No | | IE | eu_vat | European VAT number | IE1234567AB | Yes | | IN | in_gst | Indian GST number | 12ABCDE3456FGZH | Yes | | IS | is_vat | Icelandic VAT | 123456 | Yes | | IT | eu_vat | European VAT number | IT12345678912 | Yes | | KE | ke_pin | Kenya Revenue Authority Personal Identification Number | P000111111A | No | | KG | kg_tin | Kyrgyzstan Tax Identification Number | 12345678901234 | No | | KH | kh_tin | Cambodia Tax Identification Number | 1001-123456789 | Yes | | KR | kr_brn | Korean BRN | 123-45-67890 | Yes | | KZ | kz_bin | Kazakhstani Business Identification Number | 123456789012 | Yes | | LA | la_tin | Laos Tax Identification Number | 123456789-000 | No | | LI | li_vat | Liechtensteinian VAT number | 12345 | Yes | | LK | lk_vat | Sri Lanka VAT number | 123456789-1234 | Yes | | LT | eu_vat | European VAT number | LT123456789123 | Yes | | LU | eu_vat | European VAT number | LU12345678 | Yes | | LV | eu_vat | European VAT number | LV12345678912 | Yes | | MA | ma_vat | Morocco VAT Number | 12345678 | Yes | | MD | md_vat | Moldova VAT Number | 1234567 | Yes | | ME | me_pib | Montenegro PIB Number | 12345678 | No | | MK | mk_vat | North Macedonia VAT Number | MK1234567890123 | Yes | | MR | mr_nif | Mauritania Tax Identification Number (Número de Identificação Fiscal) | 12345678 | No | | MT | eu_vat | European VAT number | MT12345678 | Yes | | MX | mx_rfc | Mexican RFC number | ABC010203AB9 | No | | NG | ng_tin | Nigerian Tax Identification Number | 12345678-0001 | No | | NL | eu_vat | European VAT number | NL123456789B12 | Yes | | NO | no_vat | Norwegian VAT number | 123456789MVA | Yes | | NP | np_pan | Nepal PAN Number | 123456789 | Yes | | NZ | nz_gst | New Zealand GST number | 123456789 | Yes | | OM | om_vat | Omani VAT Number | OM1234567890 | Yes | | PE | pe_ruc | Peruvian RUC number | 12345678901 | Yes | | PH | ph_tin | Philippines Tax Identification Number | 123456789012 | Yes | | PL | eu_vat | European VAT number | PL1234567890 | Yes | | PL | pl_nip | Polish NIP number | 1234567890 | No | | PT | eu_vat | European VAT number | PT123456789 | Yes | | RO | eu_vat | European VAT number | RO1234567891 | Yes | | RS | rs_pib | Serbian PIB number | 123456789 | No | | RU | ru_inn | Russian INN | 1234567891 | Yes | | RU | ru_kpp | Russian KPP | 123456789 | Yes | | SA | sa_vat | Saudi Arabia VAT | 123456789012345 | Yes | | SE | eu_vat | European VAT number | SE123456789123 | Yes | | SG | sg_gst | Singaporean GST | M12345678X | Yes | | SI | eu_vat | European VAT number | SI12345678 | Yes | | SK | eu_vat | European VAT number | SK1234567891 | Yes | | SN | sn_ninea | Senegal NINEA Number | 12345672A2 | No | | SR | sr_fin | Suriname FIN Number | 1234567890 | Yes | | TH | th_vat | Thai VAT | 1234567891234 | Yes | | TJ | tj_tin | Tajikistan Tax Identification Number | 123456789 | Yes | | TR | tr_tin | Turkish Tax Identification Number | 0123456789 | Yes | | TW | tw_vat | Taiwanese VAT | 12345678 | Yes | | TZ | tz_vat | Tanzania VAT Number | 12345678A | Yes | | UA | ua_vat | Ukrainian VAT | 123456789 | Yes | | UG | ug_tin | Uganda Tax Identification Number | 1014751879 | Yes | | UY | uy_ruc | Uruguayan RUC number | 123456789012 | Yes | | UZ | uz_tin | Uzbekistan TIN Number | 123456789 | No | | UZ | uz_vat | Uzbekistan VAT Number | 123456789012 | Yes | | ZA | za_vat | South African VAT number | 4123456789 | Yes | | ZM | zm_tin | Zambia Tax Identification Number | 1004751879 | No | | ZW | zw_tin | Zimbabwe Tax Identification Number | 1234567890 | No | \*Stripe Tax won't apply tax if this tax ID is provided, in line with the relevant laws. ### Utiliser les identifiants fiscaux dans les calculs (facultatif) Dans certains cas, comme la prestation transfrontalière de services, votre client peut être tenu de déclarer la taxe selon le principe de l’[autoliquidation](https://docs.stripe.com/tax/zero-tax.md#reverse-charges). Au lieu de percevoir la taxe, vous devez émettre une facture portant la mention « Taxe à payer selon le principe de l’autoliquidation ». Lorsque vous fournissez les [numéros fiscaux](https://docs.stripe.com/api/tax/calculations/create.md#calculate_tax-customer_details-tax_ids) de vos clients à Stripe Tax, nous déterminons automatiquement quand l’autoliquidation s’applique : ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -d currency=usd \ -d "line_items[0][amount]=1000" \ -d "line_items[0][reference]=L1" \ -d "customer_details[address][country]=IE" \ -d "customer_details[address_source]=billing" \ -d "customer_details[tax_ids][0][type]=eu_vat" \ -d "customer_details[tax_ids][0][value]=DE123456789" ``` Si vous fournissez un numéro fiscal au format non valide, le calcul renvoie le code d’erreur `tax_id_invalid` : ## See also - [Stripe Tax avec PaymentIntents](https://docs.stripe.com/tax/payment-intent.md) - [Validation du numéro fiscal client](https://docs.stripe.com/billing/customer/tax-ids.md) - [Autoliquidations de la TVA](https://docs.stripe.com/tax/zero-tax.md#reverse-charges)