# Changements et finalisation des états Comprendre les changements et la finalisation des états des factures. Le graphique suivant illustre les changements possibles entre les différents états d’une facture : ![](https://b.stripecdn.com/docs-statics-srv/assets/invoice_states_diagram_simplified.6990197f2efb082ee5885ae3afb40fda.svg) Changements et finalisation des états ## Changements et endpoints Le tableau suivant présente les transitions d’état et leurs endpoints. Il répertorie également les *webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) émis pa l’endpoint, ainsi que l’état résultant pour chacun d’eux : | État | Endpoint d’API | Webhook émis | État final | | --------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------ | --------------- | | `draft` | [DELETE /v1/invoices/:id](https://docs.stripe.com/api/invoices/delete.md) | `invoice.deleted` | (Supprimé) | | `draft` | [POST /v1/invoices/:id/finalize](https://docs.stripe.com/api/invoices/finalize.md) | `invoice.finalized` | `open` | | `open` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.paid` | `paid` | | `open` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.payment_failed` | `open` | | `open` | [POST /v1/invoices/:id/send](https://docs.stripe.com/api/invoices/send.md) | `invoice.sent` | `open` | | `open` | [POST /v1/invoices/:id/void](https://docs.stripe.com/api/invoices/void.md) | `invoice.voided` | `void` | | `open` | [POST /v1/invoices/:id/mark_uncollectible](https://docs.stripe.com/api/invoices/mark_uncollectible.md) | `invoice.marked_uncollectible` | `uncollectible` | | `uncollectible` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.paid` | `paid` | | `uncollectible` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.payment_failed` | `uncollectible` | | `uncollectible` | [POST /v1/invoices/:id/void](https://docs.stripe.com/api/invoices/void.md) | `invoice.voided` | `void` | ## Finaliser des brouillons de facture Lorsque vous activez l’[encaissement automatique](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md), Stripe finalise automatiquement la [facture](https://docs.stripe.com/billing/invoices/subscription.md) et commence son encaissement automatique. Nous attendons 1 heure après réception d’une réponse positive à l’événement `invoice.created` de la part de tous les webhooks en écoute avant de tenter le paiement. Si nous ne recevons aucune réponse de réussite dans les 72 heures, nous tentons de finaliser la facture et de l’envoyer. [Vous pouvez fixer un délai plus long](https://docs.stripe.com/billing/subscriptions/usage-based/configure-grace-period.md). Les factures sont initialement créées avec `status=draft`, et vous ne pouvez les modifier que lorsqu’elles sont dans cet état. Lorsqu’une facture est prête à être payée, finalisez-la. La finalisation d’une facture lui applique `status=open`. Vous pouvez finaliser manuellement une facture dans le [Dashboard](https://docs.stripe.com/invoicing/dashboard.md) ou en utilisant l’endpoint [Finalize](https://docs.stripe.com/api/invoices/finalize.md). Si vous avez configuré des endpoints de [webhook](https://docs.stripe.com/webhooks.md), vous recevez un événement `invoice.finalized` lorsqu’une facture est finalisée. ```curl curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \ -u "<>:" ``` En mode production, si votre endpoint de webhook ne renvoie pas de [réponse correcte](https://docs.stripe.com/webhooks.md), Stripe continue de tenter la notification de webhook pendant 3 jours au maximum, avec un allongement exponentiel des délais. Dans un *environnement de test* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes), nous procédons à trois tentatives sur une période de quelques heures. Pendant ce temps, nous ne tenterons pas de débiter le client tant que nous n’aurons pas reçu une réponse positive. Nous vous enverrons également un e-mail en cas d’échec du webhook. Ce comportement s’applique à tous les endpoints de webhook définis sur votre compte, y compris les cas où une [application Stripe Connect](https://stripe.com/works-with) ou un service tiers rencontre des problèmes pour gérer les webhooks entrants. ## Post-finalisation La finalisation d’une facture : - Permet le paiement de la facture. - Garantit la présence d’un numéro de facture. - Rend certaines propriétés [immuables](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#immutable) sur la facture. - Crée un Payment Intent incomplet pour la facture. - Génère une URL unique permettant au client de payer la facture et un lien pour télécharger la [facture au format PDF](https://docs.stripe.com/api/invoices/object.md#invoice_object-invoice_pdf). > Si une facture n’est pas finalisée, vous ne pouvez pas percevoir le paiement. ### Restrictions relatives aux factures finalisées Après la finalisation d’une facture, certains champs relatifs au montant et au client ne sont plus modifiables. Cette restriction vise à satisfaire à l’exigence courante en matière de conformité fiscale selon laquelle les factures finalisées doivent être conservées telles qu’elles ont été finalisées pendant une période minimale requise par la loi. Dans certaines juridictions, le fait de corriger des champs qui modifient le montant total dû sur une facture peut rendre cette dernière invalide. Il s’agit généralement des champs associés au compte, au client, aux postes ou aux taxes. Il vous incombe de vous assurer que les factures que vous créez sont conformes à toutes les réglementations en vigueur. Si vous avez besoin de mettre à jour le montant de la facture après sa finalisation, utilisez des [avoirs](https://docs.stripe.com/invoicing/dashboard/credit-notes.md). Ces derniers vous permettent de modifier le montant de la facture en spécifiant un réajustement de l’argent dû par le client. Vous pouvez émettre des avoirs pour chaque facture se trouvant à l’état `open` ou `paid`. La finalisation de la facture entraîne la copie des champs client suivants et les rend immuables : - [invoice.customer_address](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_address) - [invoice.customer_email](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_email) - [invoice.customer_name](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_name) - [invoice.customer_phone](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_phone) - [invoice.customer_shipping](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_shipping) - [invoice.customer_tax_exempt](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_tax_exempt) - [invoice.customer_tax_ids](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_tax_ids) Si vous souhaitez modifier une propriété relative au client sur une facture : 1. Annulez la facture existante. 1. [Dupliquez](https://docs.stripe.com/invoicing/dashboard.md#modify-invoice) la facture annulée. 1. Mettez à jour les informations du client sur la nouvelle facture. ### E-mails après la finalisation Par défaut, Stripe envoie automatiquement des factures lorsque vous définissez la [collection_method](https://docs.stripe.com/api/invoices/object.md#invoice_object-collection_method) sur `send_invoice`. Stripe n’envoie pas les factures par e-mail dans les cas suivants : - Lors de la [facturation automatique](https://docs.stripe.com/invoicing/automatic-charging.md). - Lorsque l’[encaissement automatique](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) est désactivé pour la facture. - Lorsque l’option [Envoyer les factures finalisées aux clients par e-mail](https://dashboard.stripe.com/settings/billing/automatic) est désactivée. > Si vous désactivez l’option **Envoyer les factures finalisées aux clients par e-mail**, la facture ne sera pas envoyée au client après sa finalisation (automatique ou manuelle). ## Paiements asynchrones Pour en savoir plus sur l’utilisation de l’*API Payment Intents* (The Payment Intents API tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods) pour la mise en place d’un processus d’authentification *3D Secure* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments), consultez le [guide 3D Secure](https://docs.stripe.com/payments/3d-secure/authentication-flow.md#when-to-use-3d-secure). Certains moyens de paiement requièrent une interaction de la part du client pour la finalisation du paiement. Par exemple, une carte bancaire ou un virement bancaire européen peut nécessiter une *authentification forte du client* (Strong Customer Authentication (SCA) is a regulatory requirement in effect as of September 14, 2019, that impacts many European online payments. It requires customers to use two-factor authentication like 3D Secure to verify their purchase) (SCA). Utilisez le paramètre [payment_intent](https://docs.stripe.com/api/invoices/object.md#invoice_object-payment_intent) de la facture pour déterminer comment traiter la réponse à la tentative de paiement, qui peut être soit `success` ou `requires_action`. Lorsque l’état de PaymentIntent est `requires_action`, votre utilisateur doit compléter une [authentification 3D Secure](https://docs.stripe.com/strong-customer-authentication.md) pour compléter le paiement. Si vous le souhaitez, Stripe peut s’en occuper pour vous. Dans le Dashboard, [activez les e-mails de rappel](https://dashboard.stripe.com/settings/billing/automatic) pour permettre à Stripe d’envoyer automatiquement des e-mails à vos clients lorsque `requires_action` a lieu. Ces e-mails incluent un lien vers la [page de facture hébergée](https://docs.stripe.com/invoicing/hosted-invoice-page.md) sur laquelle les clients peuvent réaliser toutes les actions nécessaires au paiement de la facture. Pour en savoir plus sur ces e-mails et sur leurs options de personnalisation, consultez la page relative à l’[envoi d’e-mails de rappel](https://docs.stripe.com/invoicing/send-email.md).