Calculer les taxes dans vos tunnels de paiement personnalisés.
Découvrez comment intégrer les taxes avec les API Stripe Tax et Payment Intents.
L’API Stripe Tax vous permet de calculer les taxes dans vos tunnels de paiement personnalisés. Si vous utilisez l’API Payment Intents, Stripe peut transmettre des transactions fiscales dans le cadre du cycle de vie du paiement.
Calculer la taxe
Le calcul des taxes nécessite généralement la localisation de votre client. Vous pouvez :
- Utilisez l’Address Element pour tirer parti des fonctionnalités de saisie automatique et de localisation et recueillir l’adresse complète de votre client. Cela permet de garantir un calcul des taxes le plus précis possible.
- Estimez la taxe en fonction de l’adresse IP du client.
- Recueillez l’adresse à l’aide de votre propre formulaire personnalisé.
Transmettez les détails de la transaction et les informations relatives à l’adresse du client à l’API de calcul des taxes pour obtenir un nouvel objet Calculation des taxes.
Associer le calcul des taxes au PaymentIntent
Créez ou modifiez un PaymentIntent pour y inclure l’identifiant de Calculation des taxes et définissez le amount comme étant le amount_ du Calculation.
Endpoints pris en charge
Les endpoints suivants prennent en charge la définition d’un calcul sur un PaymentIntent.
- Création : /v1/payment_intents
- Mise à jour : /v1/payment_intents/:id
- Confirmation : /v1/payment_intents/:id/confirm
- Capture : /v1/payment_intents/:id/capture
Limitations
- Vous ne pouvez associer de nouveaux calculs à un PaymentIntent que jusqu’à ce qu’il passe à l’état
succeeded. - Un calcul de taxe ne peut donner lieu qu’à une seule
Transaction. Si plusieurs PaymentIntents passent à un étatsucceededavec le même calcul lié, la comptabilité ne reflète que le premier.
Actions Stripe résultantes
Si le PaymentIntent est correctement associé à l’objet Tax Calculation, Stripe procède automatiquement :
- à la création d’une transaction fiscale à partir du calcul une fois que le PaymentIntent passe à l’état
succeeded - Procède à l’annulation de la taxe applicable à une transaction fiscale en cas de remboursement (créés avec l’API ou le Dashboard) lié au PaymentIntent
- à la création d’une annulation de la taxe en cas d’annulation, si un remboursement n’a pas abouti
- Comprend les informations fiscales totales dans les reçus
PaymentIntent
Stripe :
- ne modifiera pas le montant du PaymentIntent en fonction du calcul de taxe associé
- ne modifiera pas le montant de la transaction fiscale en fonction du montant capturé dans le PaymentIntent
- ne créera automatiquement aucune annulation de taxe en cas de litige
Intégrer les taxes pour votre plateforme Connect avec les API Stripe Tax et Payment Intents
L’API Payment Intents fonctionne avec les comptes connectés sur votre plateforme Connect. Par conséquent, si vous calculez la taxe à l’aide d’un compte connecté, vous pouvez lier le calcul de la taxe à un PaymentIntent créé à l’aide de ce compte connecté.
FacultatifRécupérer les transactions fiscales engagées automatiquement
Utilisez l’endpoint /v1/tax/associations/find pour récupérer des informations sur les transactions fiscales que Stripe a créées (ou n’a pas pu créer) en lien avec un PaymentIntent. Vous pourrez ainsi vérifier que votre intégration fonctionne comme prévu, traiter des dossiers de litige liés à des cartes bancaires ou examiner ce qui a été automatiquement créé.
Si votre PaymentIntent aboutit et qu’il est ensuite remboursé, vous pouvez recevoir la réponse suivante.
Mise en garde
Les annulations de taxes ne sont enregistrées et n’apparaissent dans l’objet Tax Association qu’au bout de quelques minutes.
// TaxAssociation find response { "id": "taxa_1PXmsbE5ebw4kUHWxtSTF08x", "object": "tax.association", "calculation": "taxcalc_1PXmsRE5ebw4kUHW9SOln70o", "payment_intent": "pi_1PXmsSE5ebw4kUHWK7FIhQlS", "tax_transaction_attempts": [ { "source": "pi_1PXmsSE5ebw4kUHWK7FIhQlS", "status": "committed", "committed": { "transaction": "tax_1PXmsRE5ebw4kUHWLyVEiMis", } }, { "source": "re_1PXmsSE5ebw4kUHWK7FIhQlS", "status": "committed", "committed": { "transaction": "tax_1PXmsgE5ebw4kUHW7Gg8jvpX", } } ] }