# Taxes pour les places de marché Découvrez les obligations fiscales applicables aux plateformes et aux places de marché, et comment permettre à Stripe Tax de collecter les taxes sur les transactions lorsque la plateforme Connect est redevable. ## Obligations fiscales pour les plateformes et places de marché De nombreux pays et États des États-Unis imposent aux opérateurs de marketplace de prélever la TVA et d’autres taxes indirectes sur les ventes qu’ils facilitent. Les États-Unis qualifient ces entreprises de facilitateurs de marché, tandis que d’autres régions, comme l’Europe, peuvent les qualifier de marchands présumés. En tant qu’opérateur de place de marché, vos obligations en matière de collecte des taxes varient en fonction du pays ou de l’État. Toutefois, si votre interface électronique permet d’effectuer des transactions entre acheteurs et vendeurs et que vous collectez directement ou indirectement les paiements des clients, il se peut que vous deviez assumer certaines responsabilités en matière de collecte de taxes. Si votre entreprise exploite une plateforme ou une place de marché, vous devez d’abord déterminer si elle peut agir en tant que facilitateur de marché ou marchand agréé, puis vous assurer qu’elle respecte les exigences de conformité fiscale. Si vous ne savez pas quelles exigences fiscales s’appliquent à votre entreprise, consultez un conseiller fiscal. Si votre entreprise gère une place de marché et souhaite collecter des taxes sur les ventes qui y sont effectuées, consultez les informations ci-dessous pour découvrir comment activer Stripe Tax pour les places de marché. ## Activer Stripe Tax pour les places de marché Stripe Tax permet aux entreprises de calculer, collecter et reverser les taxes indirectes dans plus de [100 pays](https://docs.stripe.com/tax/supported-countries.md), sur des centaines de catégories de produits. Utilisez ce guide si votre plateforme est responsable de la collecte, de la déclaration et de l’enregistrement des taxes. 1. [Configurer votre compte de plateforme pour la collecte des taxes](https://docs.stripe.com/tax/tax-for-marketplaces.md#set-up) 1. (Facultatif) [Attribuer des codes fiscaux au catalogue de produits](https://docs.stripe.com/tax/tax-for-marketplaces.md#assign-product-tax-codes) 1. [Intégrer le calcul et la collecte des taxes](https://docs.stripe.com/tax/tax-for-marketplaces.md#enable-tax-collection) 1. [Retenir le montant de la taxe perçue](https://docs.stripe.com/tax/tax-for-marketplaces.md#tax-withholding) 1. [Accéder aux rapports Stripe Tax](https://docs.stripe.com/tax/tax-for-marketplaces.md#access-reports) Puisque vos comptes connectés ne collectent ni ne déclarent de taxes : - Les champs relatifs à leur régime fiscal (paramètres du statut juridique, seuil d’imposition et type d’imposition applicable) apparaissent vides dans votre [Dashboard](https://dashboard.stripe.com/connect/accounts/overview). - Nous calculons les taxes en fonction de l’emplacement du siège social de votre plateforme, du code fiscal prédéfini et des immatriculations fiscales. Nous n’utilisons pas les informations du compte connecté à des fins fiscales. ## Configurer votre compte de plateforme pour la collecte des taxes Pour collecter les taxes, vous avez besoin des paramètres fiscaux et des immatriculations du compte de la plateforme. ### Utiliser le Dashboard Stripe [Utilisez le Dashboard Stripe](https://docs.stripe.com/tax/set-up.md) pour indiquer l’adresse de votre siège social, le code de taxe par défaut et les immatriculations fiscales. ### Utiliser l'API Stripe Utilisez l’[API Tax Settings](https://docs.stripe.com/tax/settings-api.md#updating-settings) pour définir l’adresse de votre siège social et les autres valeurs par défaut, et l’[API Tax Registrations](https://docs.stripe.com/tax/registrations-api.md#adding-registration) pour ajouter les immatriculations fiscales associées aux territoires sur lesquels vous avez des obligations fiscales. ## Attribuer des codes de taxe à votre catalogue de produits Pour calculer les taxes, Stripe Tax vous demande de classer les produits dans des codes de taxe. Pour ce faire, vous pouvez fournir un [code de taxe par défaut](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#preset-tax-codes) pour le compte de la plateforme, ce qui peut suffire si vous vendez généralement une seule catégorie d’articles ou de services. De plus, vous pouvez [mapper des codes de taxe à chaque produit](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-code-on-product) pour mieux contrôler la catégorisation des taxes. Vous devrez peut-être mapper chaque produit configuré par un marchand sur votre place de marché. Vous trouverez la liste des codes de taxe pris en charge sur la page [Codes de taxe disponibles](https://docs.stripe.com/tax/tax-codes.md) ; vous pouvez également la récupérer sur [l’API Taxe Code](https://docs.stripe.com/api/tax_codes.md) de Stripe. ## Intégrer le calcul et la collecte des taxes Vous devez intégrer Stripe Tax pour estimer le montant des taxes dans le cadre de votre tunnel de paiement. ### Payment Links ### Payment Links pour les paiements ponctuels Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Payment Links](https://docs.stripe.com/tax/payment-links.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Payment Links : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-automatic_tax-liability) avec `type=self`. - Incluez [transfer_data[destination]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-transfer_data) en spécifiant l’ID du compte connecté. - (Facultatif) Si vous [envoyez automatiquement des factures](https://docs.stripe.com/payment-links/post-payment.md#automatically-send-paid-invoices), incluez [invoice_creation[invoice_data][issuer]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-invoice_creation-invoice_data-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), indiquez [on_behalf_of](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-on_behalf_of) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]=true" \ -d "invoice_creation[invoice_data][issuer][type]=self" ``` #### Paiements et transferts distincts Pour les appels à l’API Payment Links : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-automatic_tax-liability) avec `type=self`. - (Facultatif) Si vous [envoyez automatiquement des factures](https://docs.stripe.com/payment-links/post-payment.md#automatically-send-paid-invoices), incluez [invoice_creation[invoice_data][issuer]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-invoice_creation-invoice_data-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), indiquez [on_behalf_of](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-on_behalf_of) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "invoice_creation[enabled]=true" \ -d "invoice_creation[invoice_data][issuer][type]=self" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent créé par le lien de paiement. - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Payment Links pour les abonnements Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Payment Links](https://docs.stripe.com/tax/payment-links.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Payment Links : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-automatic_tax-liability) avec `type=self`. - Incluez [transfer_data[destination]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-transfer_data) en spécifiant l’ID du compte connecté. - Incluez [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-subscription_data-invoice_settings-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), incluez [subscription_data[on_behalf_of]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-on_behalf_of) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]=self" ``` #### Paiements et transferts distincts Pour les appels à l’API Payment Links : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-automatic_tax-liability) avec `type=self`. - Incluez [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-subscription_data-invoice_settings-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), incluez [subscription_data[on_behalf_of]](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-on_behalf_of) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "subscription_data[invoice_settings][issuer][type]=self" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent créé par le lien de paiement. - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Checkout ### Sessions Checkout pour les paiements ponctuels Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Checkout](https://docs.stripe.com/tax/checkout.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Checkout Sessions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) avec `type=self`. - Incluez [payment_intent_data[transfer_data][destination]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-transfer_data-destination) en spécifiant l’ID du compte connecté. - (Facultatif) Si vous [envoyez automatiquement des factures](https://docs.stripe.com/payments/checkout/receipts.md?payment-ui=stripe-hosted#automatically-send-receipts), incluez [invoice_creation[invoice_data][l’émetteur]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-invoice_creation-invoice_data-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [payment_intent_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-on_behalf_of). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "payment_intent_data[transfer_data][destination]={{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]=true" \ -d "invoice_creation[invoice_data][issuer][type]=self" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### Paiements et transferts distincts Pour les appels à l’API Checkout Sessions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) avec `type=self`. - (Facultatif) Si vous [envoyez automatiquement des factures](https://docs.stripe.com/payments/checkout/receipts.md?payment-ui=stripe-hosted#automatically-send-receipts), incluez [invoice_creation[invoice_data][l’émetteur]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-invoice_creation-invoice_data-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [payment_intent_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-on_behalf_of). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "invoice_creation[enabled]=true" \ -d "invoice_creation[invoice_data][issuer][type]=self" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent créé par la session Checkout. - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Sessions Checkout pour les abonnements Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Checkout](https://docs.stripe.com/tax/checkout.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Checkout Sessions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) avec `type=self`. - Incluez [subscription_data[transfer_data][destination]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-transfer_data-destination) en spécifiant l’ID du compte connecté. - Incluez [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-invoice_settings-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [subscription_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-on_behalf_of). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "subscription_data[transfer_data][destination]={{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]=self" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success" ``` #### Paiements et transferts distincts Pour les appels à l’API Checkout Sessions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) avec `type=self`. - Incluez [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-invoice_settings-issuer) avec `type=self`. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [subscription_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-on_behalf_of). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "subscription_data[invoice_settings][issuer][type]=self" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent créé par la session Checkout. - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Billing ### Abonnements Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Subscriptions](https://docs.stripe.com/tax/subscriptions.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Subscriptions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-automatic_tax-liability) avec `type=self`. - Incluez [transfer_data[destination]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-transfer_data-destination) en spécifiant l’ID du compte connecté. - Incluez [invoice_settings[issuer]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-invoice_settings-issuer) en spécifiant `type=self`. Sur certains territoires comme l’Union européenne, les factures au format PDF sont utilisées comme instrument de taxe et l’émetteur de la facture doit toujours correspondre à l’entité *redevable des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [on_behalf_of](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-on_behalf_of). ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][quantity]=1" \ -d "customer={{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "invoice_settings[issuer][type]=self" ``` #### Paiements et transferts distincts Pour les appels à l’API Subscriptions : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-automatic_tax-liability) avec `type=self`. - Incluez [invoice_settings[issuer]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-invoice_settings-issuer) en spécifiant `type=self`. Sur certains territoires comme l’Union européenne, les factures au format PDF sont utilisées comme instrument de taxe et l’émetteur de la facture doit toujours correspondre à l’entité *redevable des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). - Incluez l’attribut [on_behalf_of](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-on_behalf_of) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][quantity]=1" \ -d "customer={{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "invoice_settings[issuer][type]=self" \ -d "on_behalf_of={{CONNECTEDACCOUNT_ID}}" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert à l’intention de paiement créée par la facture d’abonnement. - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Invoicing Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Invoicing](https://docs.stripe.com/tax/invoicing.md) : #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour les appels à l’API Invoices : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/invoices/create.md#create_invoice-automatic_tax-liability) avec `type=self`. - Incluez [transfer_data[destination]](https://docs.stripe.com/api/invoices/create.md#create_invoice-transfer_data-destination) en spécifiant l’ID du compte connecté. - Incluez [issuer](https://docs.stripe.com/api/invoices/create.md#create_invoice-issuer) en spécifiant `type=self`. Sur certains territoires comme l’Union européenne, les factures au format PDF sont utilisées comme instrument de taxe et l’émetteur de la facture doit toujours correspondre à l’entité *redevable des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [on_behalf_of](https://docs.stripe.com/api/invoices/create.md#create_invoice-on_behalf_of). ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "issuer[type]=self" ``` #### Paiements et transferts distincts Pour les appels à l’API Invoices : - Incluez [automatic_tax[liability]](https://docs.stripe.com/api/invoices/create.md#create_invoice-automatic_tax-liability) avec `type=self`. - Incluez [issuer](https://docs.stripe.com/api/invoices/create.md#create_invoice-issuer) en spécifiant `type=self`. Sur certains territoires comme l’Union européenne, les factures au format PDF sont utilisées comme instrument de taxe et l’émetteur de la facture doit toujours correspondre à l’entité *redevable des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [on_behalf_of](https://docs.stripe.com/api/invoices/create.md#create_invoice-on_behalf_of). ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]=true" \ -d "automatic_tax[liability][type]=self" \ -d "issuer[type]=self" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent créé par la facture - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` ### Flux personnalisés à l’aide de l’API Stripe Tax ### PaymentIntents Choisissez l’un des types de paiement actuellement pris en charge qui permettent à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) avec [l’API Stripe Tax](https://docs.stripe.com/tax/custom.md) : #### Paiements directs Nous vous déconseillons ce type de paiement, car le compte connecté contrôle les remboursements. Le compte connecté doit connaître la stratégie de retenue des taxes afin de vous rembourser, vous et les utilisateurs, du bon montant. #### Paiements indirects Pour les appels à l’API Tax Calculation : ```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={{CUSTOMER_ID}}" ``` Lorsque vous créez un PaymentIntent : - Incluez le [montant](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) avec le `amount_total` renvoyé par le calcul des taxes. - Incluez [metadata[tax_calculation]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-metadata) avec l’`id` renvoyé par le calcul des taxes. - Incluez [transfer_data[destination]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-transfer_data-destination) en spécifiant l’ID du compte connecté. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [on_behalf_of](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-on_behalf_of). ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "customer={{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]={{TAXCALCULATION_ID}}" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" ``` Vous devez également [créer des transactions fiscales](https://docs.stripe.com/tax/custom.md#tax-transaction) pour enregistrer les taxes collectées auprès de vos clients et [prendre en compte les remboursements](https://docs.stripe.com/tax/custom.md#reversals). #### Paiements et transferts distincts Pour les appels à l’API Tax Calculation : ```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={{CUSTOMER_ID}}" ``` Lorsque vous créez un PaymentIntent : - Incluez le [montant](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) avec le `amount_total` renvoyé par le calcul des taxes. - Incluez [metadata[tax_calculation]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-metadata) avec l’`id` renvoyé par le calcul des taxes. - (Facultatif) Si le compte connecté est l’[entité de règlement](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant), spécifiez l’ID du compte connecté dans l’attribut [on_behalf_of](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-on_behalf_of). ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "customer={{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]={{TAXCALCULATION_ID}}" ``` Pour les appels à l’API Transfers : - Incluez [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) pour lier le transfert au PaymentIntent - Incluez la [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) en spécifiant l’ID du compte connecté. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` Vous devez également [créer des transactions fiscales](https://docs.stripe.com/tax/custom.md#tax-transaction) pour enregistrer les taxes collectées auprès de vos clients et [prendre en compte les remboursements](https://docs.stripe.com/tax/custom.md#reversals). ### Paiements externes à Stripe Vérifiez comment procéder à l’intégration à l’aide de l’[API Stripe Tax](https://docs.stripe.com/tax/custom.md) et permettre à votre compte de plateforme d’être *responsable du paiement des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). Dans les appels à l’API Tax Calculation : ```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={{CUSTOMER_ID}}" ``` Vous devez également [créer des transactions fiscales](https://docs.stripe.com/tax/custom.md#tax-transaction) pour enregistrer les taxes collectées auprès de vos clients et [prendre en compte les remboursements](https://docs.stripe.com/tax/custom.md#reversals). Dès l’implémentation terminée, Stripe commence à collecter les taxes en vigueur dans les pays où vous disposez d’une immatriculation active. > Indépendamment des API de paiement, le montant de la transaction est crédité sur le compte connecté. Vous devez retenir le montant des taxes perçues sur la plateforme, car celle-ci est *redevable des taxes* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). ## Retenir le montant des taxes perçues Vous devez vous assurer que la taxe collectée est transférée à votre compte de place de marché, afin de pouvoir ensuite la reverser aux territoires concernés. ### Checkout et Payment Links #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects Pour retenir le montant de la taxe perçue dans le cadre d’une session Checkout ou d’une intégration Payment Link, utilisez une [annulation de transfert](https://docs.stripe.com/api/transfer_reversals.md). Pour l’appel à l’API Transfer Reversal, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à retransférer du compte connecté vers votre plateforme équivalant au [montant total de la taxe](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-total_details-amount_tax) présent dans l’objet Checkout Session. Obtenez l’[ID du transfert](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) de l’objet débit. Si vous ne connaissez pas l’ID du débit, vous pouvez récupérer la session Checkout et [développer](https://docs.stripe.com/expand.md#multiple-properties) l’objet [PaymentIntent](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-payment_intent) en utilisant le champ le [débit le plus récent](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge). ```curl curl https://api.stripe.com/v1/transfers/{{TRANSFER_ID}}/reversals \ -u "<>:" \ -d amount=1000 ``` Pour créer automatiquement une annulation de transfert à l’issue de la session Checkout, créez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) de façon à recevoir les événements [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed). Cette option est particulièrement adaptée aux transactions qui ne nécessitent pas de change de devise. Pour en savoir plus, consultez la page [Annuler des transferts](https://docs.stripe.com/connect/separate-charges-and-transfers.md#reverse-transfers). #### Paiements et transferts distincts Pour l’appel à l’API Transfer, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à transférer vers le compte connecté, à l’exclusion du [montant total de la taxe](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-total_details-amount_tax) présent dans l’objet Checkout Session. La session Checkout doit être terminée. Pour obtenir l’ID de débit, vous pouvez récupérer la session Checkout, [développer](https://docs.stripe.com/expand.md#multiple-properties) l’objet [PaymentIntent](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-payment_intent) et utiliser le champ le [débit le plus](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge) récent. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` En savoir plus sur les [paiements et transferts distincts liés aux sessions Checkout](https://docs.stripe.com/connect/separate-charges-and-transfers.md?platform=web&ui=stripe-hosted). ### Invoicing #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects 1. **Option 1 :** utilisez `transfer_data[amount]` Pour retenir le montant de la taxe perçue sur les paiements indirects, vous pouvez mettre à jour la facture et exclure le montant de la taxe de la valeur `transfer_data[amount]`. Pour l’appel à l’API Invoice Update, incluez [transfer_data[amount]](https://docs.stripe.com/api/invoices/update.md#update_invoice-transfer_data-amount), c’est-à-dire la valeur à transférer vers le compte connecté, à l’exclusion du [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. Vous devez effectuer la mise à jour avant la finalisation de la facture. ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}} \ -u "<>:" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[amount]=1000" ``` 1. **Option 2 :** utilisez `application_fee_amount` Pour retenir le montant de la taxe perçue, vous pouvez également mettre à jour la facture et inclure le montant de la taxe dans la valeur `application_fee_amount`. Pour l’appel à l’API Invoice Update, incluez le montant de la commission de la plateforme [application_fee_amount](https://docs.stripe.com/api/invoices/update.md#update_invoice-application_fee_amount), c’est-à-dire la valeur que votre plateforme doit retenir, y compris le [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. Vous devez effectuer la mise à jour avant la finalisation de la facture. ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}} \ -u "<>:" \ -d application_fee_amount=1000 ``` 1. **Option 3 :** créez une [annulation de transfert](https://docs.stripe.com/api/transfer_reversals.md) Pour l’appel à l’API Transfer Reversal, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à retransférer du compte connecté vers votre plateforme équivalant au [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. La facture doit être payée. Obtenez l’[ID du transfert](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) en [développant](https://docs.stripe.com/expand.md#multiple-properties) l’objet [Charge](https://docs.stripe.com/api/invoices/object.md#invoice_object-charge) présent dans la facture. ```curl curl https://api.stripe.com/v1/transfers/{{TRANSFER_ID}}/reversals \ -u "<>:" \ -d amount=1000 ``` Pour créer automatiquement une annulation de transfert lorsque la facture est payée, créez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) de façon à recevoir les événements [invoice.payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-invoice.payment_succeeded). Cette option est particulièrement adaptée aux transactions qui ne nécessitent pas de change de devise. Pour en savoir plus, consultez la page [Annuler des transferts](https://docs.stripe.com/connect/separate-charges-and-transfers.md#reverse-transfers). #### Paiements et transferts distincts Pour l’appel à l’API Transfer, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à transférer vers le compte connecté, à l’exclusion du [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. La facture doit être payée. Vous pouvez obtenir l’[ID du paiement](https://docs.stripe.com/api/invoices/object.md#invoice_object-charge) à partir de l’objet Invoice. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` Guide connexe : [Paiements et transferts distincts](https://docs.stripe.com/connect/separate-charges-and-transfers.md). ### Abonnements #### Paiements directs Ce type de paiement n’est pas pris en charge pour les cas d’usage impliquant un compte connecté où la plateforme est *redevable de la taxe* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details). #### Paiements indirects 1. **Option 1 :** utilisez `transfer_data[amount_percent]` Pour l’appel à l’API Subscription Create, incluez [transfer_data[amount_percent]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-transfer_data-amount_percent), c’est-à-dire le pourcentage du total de la facture d’abonnement qui sera transféré sur le compte de destination, à l’exclusion du montant de la taxe. Avant de créer l’abonnement, vous pouvez utiliser l’endpoint [create preview invoice](https://docs.stripe.com/api/invoices/create_preview.md) pour récupérer le [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[amount_percent]=65" ``` Pour les cycles de facturation suivants, vous pouvez créer un [webhook](https://docs.stripe.com/billing/subscriptions/webhooks.md#understand) qui écoute l’événement [invoice.created](https://docs.stripe.com/api/events/types.md#event_types-invoice.created), et vous pouvez également mettre à jour la facture en incluant [transfer_data[amount]](https://docs.stripe.com/api/invoices/update.md#update_invoice-transfer_data-amount), c’est-à-dire le montant forfaitaire qui sera transféré sur le compte de destination, à l’exclusion du montant total de la taxe. Vous devez effectuer la mise à jour avant la finalisation de la facture. En savoir plus sur la [finalisation des brouillons de facture](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}} \ -u "<>:" \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[amount]=1000" ``` 1. **Option 2 :** utilisez `application_fee_percent` Pour l’appel à l’API Subscription Create, incluez le pourcentage de commission de la plateforme [application_fee_percent](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-application_fee_percent), c’est-à-dire le pourcentage du total de la facture d’abonnement qui sera retenu par votre plateforme, y compris le montant de la taxe. Avant de créer l’abonnement, vous pouvez utiliser l’endpoint [create preview invoice](https://docs.stripe.com/api/invoices/create_preview.md) pour récupérer le [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’objet Invoice. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d application_fee_percent=35 ``` Pour les cycles de facturation suivants, vous pouvez créer un [webhook](https://docs.stripe.com/billing/subscriptions/webhooks.md#understand) qui écoute l’événement [invoice.created](https://docs.stripe.com/api/events/types.md#event_types-invoice.created), et vous pouvez également mettre à jour la facture en incluant la commission de la plateforme [application_fee_amount](https://docs.stripe.com/api/invoices/update.md#update_invoice-application_fee_amount), c’est-à-dire le montant forfaitaire qui sera retenu par votre plateforme, y compris le montant total de la taxe. Vous devez effectuer la mise à jour avant la finalisation de la facture. En savoir plus sur [les changements d’état et la finalisation de la facture](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}} \ -u "<>:" \ -d application_fee_amount=1000 ``` Consultez la page [frais en pourcentage et frais fixes](https://docs.stripe.com/connect/subscriptions.md#percent-fees-and-flat-fees) pour en savoir plus sur les commissions de plateforme. 1. **Option 3 :** créez une [annulation de transfert](https://docs.stripe.com/api/transfer_reversals.md) Pour l’appel à l’API Transfer Reversal, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à retransférer du compte connecté vers votre plateforme équivalant au [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’attribut [latest Invoice](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-latest_invoice) de l’objet Subscription. Obtenez l’[ID du transfert](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) à partir de l’objet Charge. Si vous ne connaissez pas l’ID du paiement, vous pouvez récupérer l’objet Subscription, [développer](https://docs.stripe.com/expand.md#multiple-properties) l’attribut [latest Invoice](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-latest_invoice) et récupérer l’[ID du paiement](https://docs.stripe.com/api/invoices/object.md#invoice_object-charge) à partir l’objet Invoice. ```curl curl https://api.stripe.com/v1/transfers/{{TRANSFER_ID}}/reversals \ -u "<>:" \ -d amount=1000 ``` Pour créer automatiquement une annulation de transfert lorsque la facture d’abonnement est payée, créez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) de façon à recevoir les événements [invoice.payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-invoice.payment_succeeded). Cette option est particulièrement adaptée aux transactions qui ne nécessitent pas de change de devise. Pour en savoir plus, consultez la page [Annuler des transferts](https://docs.stripe.com/connect/separate-charges-and-transfers.md#reverse-transfers). #### Paiements et transferts distincts Pour l’appel à l’API Transfer, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à transférer vers le compte connecté, à l’exclusion du [montant total de la taxe](https://docs.stripe.com/api/invoices/object.md#invoice_object-total_tax_amounts-amount) présent dans l’attribut [latest Invoice](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-latest_invoice) de l’objet Subscription. Pour obtenir l’ID du paiement, vous pouvez récupérer l’objet Subscription, [développer](https://docs.stripe.com/expand.md#multiple-properties) l’attribut [latest invoice](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-latest_invoice) et récupérer l’[ID du paiement](https://docs.stripe.com/api/invoices/object.md#invoice_object-charge) à partir de l’objet Invoice. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` Consultez la page [Paiements et transferts distincts](https://docs.stripe.com/connect/separate-charges-and-transfers.md). ### PaymentIntents avec l'API Stripe Tax #### Paiements directs Nous vous déconseillons ce type de paiement, car le compte connecté contrôle les remboursements. Le compte connecté doit connaître la stratégie de retenue des taxes afin de vous rembourser, vous et les utilisateurs, du bon montant. #### Paiements indirects 1. **Option 1 :** utilisez `transfer_data[amount]` Lorsque vous créez un PaymentIntent, incluez [transfer_data[amount]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-transfer_data-amount) avec la valeur à transférer vers le compte connecté hors [montant hors taxes](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_exclusive) ou [montant TTC](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_inclusive) présent dans l’objet Tax Calculation. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=10000 \ -d currency=usd \ -d "transfer_data[destination]={{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[amount]=1000" ``` 1. **Option 2 :** utilisez `application_fee_amount` Lorsque vous créez un PaymentIntent, incluez le [application_fee_amount](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-application_fee_amount) avec la valeur qui sera détenue par votre plateforme incluant soit le [montant total taxé hors taxes](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_exclusive) soit le [montant TTC](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_inclusive) présent dans l’objet Taxer Calculation. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=10000 \ -d currency=usd \ -d application_fee_amount=1000 ``` 1. **Option 3 :** créez une [annulation de transfert](https://docs.stripe.com/api/transfer_reversals.md) Pour l’appel à l’API Transfer Reversal, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à retransférer du compte connecté vers votre plateforme équivalant au [montant total HT](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_exclusive) ou au [montant total TTC](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_inclusive) présent dans l’objet Tax Calculation. Obtenez l’[ID de transfert](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) du [dernier débit](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge) [développé](https://docs.stripe.com/expand.md#multiple-properties) présent dans l’objet PaymentIntent. ```curl curl https://api.stripe.com/v1/transfers/{{TRANSFER_ID}}/reversals \ -u "<>:" \ -d amount=1000 ``` Pour créer automatiquement une annulation de transfert lorsque le PaymentIntent aboutit, créez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) de façon à recevoir les événements [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded). Cette option est particulièrement adaptée aux transactions qui ne nécessitent pas de change de devise. Pour en savoir plus, consultez la page [Annuler des transferts](https://docs.stripe.com/connect/separate-charges-and-transfers.md#reverse-transfers). #### Paiements et transferts distincts Pour l’appel à l’API Transfer, indiquez le [montant](https://docs.stripe.com/api/transfers/create.md#create_transfer-amount) à transférer vers le compte connecté, à l’exclusion du [montant total HT](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_exclusive) ou du [montant total TTC](https://docs.stripe.com/api/tax/calculations/object.md#tax_calculation_object-tax_amount_inclusive) présent dans l’objet Tax Calculation. Vous pouvez obtenir l’[ID de débit](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge) de l’objet PaymentIntent. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "source_transaction={{CHARGE_ID}}" \ -d "destination={{CONNECTEDACCOUNT_ID}}" ``` Consultez la page [Paiements et transferts distincts](https://docs.stripe.com/connect/separate-charges-and-transfers.md). ## Accéder aux rapports Stripe Tax ### Utiliser le Dashboard Stripe Vous pouvez vous appuyer sur les [rapports Stripe Tax](https://docs.stripe.com/tax/reports.md) pour déclarer et verser les taxes correctement. Le compte de la plateforme peut accéder aux rapports Stripe Tax à l’aide de la fonctionnalité [Déclarations fiscales](https://docs.stripe.com/tax/reports.md#how-to-access-data-using-exports-and-reports) du Dashboard Stripe. ### Utiliser l'API Stripe Les plateformes peuvent également télécharger les [transactions fiscales détaillées](https://docs.stripe.com/tax/reports.md#itemized-exports) pour lesquelles elles sont redevables de la taxe à l’aide de l’[API Report](https://docs.stripe.com/reports/api.md) avec le type de rapport [tax.transactions.itemized.2](https://docs.stripe.com/reports/report-types/tax.md). Lorsqu’une plateforme exécute la commande suivante, elle télécharge toutes les transactions 2022 pour lesquelles elle est redevable de la taxe de vente : ```curl curl https://api.stripe.com/v1/reporting/report_runs \ -u "<>:" \ -d "report_type=tax.transactions.itemized.2" \ -d "parameters[interval_start]=1641013200" \ -d "parameters[interval_end]=1672549200" ``` ## See also - [Calculer les taxes dans votre tunnel de paiement personnalisé](https://docs.stripe.com/tax/custom.md)