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
Billing
PrésentationÀ propos des API Billing
Abonnements
Invoicing
    Présentation
    Fonctionnement de la facturation
    Guide de démarrage rapide sur l'API
    Intégration via l'API
    Facturation sans code
    Cycle de vie des factures
    Prévisualisation des factures
    Modifier des factures
    Programmer la finalisation des factures
    Changements et finalisation des états
    Envoyer des e-mails aux clients
    Générer des avoirs
    Facturer les clients
    Clients
    Solde créditeur du client
    Numéros fiscaux des clients
    Paiements sur facture
    Page de facture hébergée
    Créer des échéanciers pour les factures
    Accepter les paiements partiels
    Moyens de paiement pour les factures
    Encaissements automatisés
    Personnalisation des factures
    Personnaliser des factures
    Modèles de rendu pour les factures
    Grouper des sous-postes de facture
    Récapituler les postes
    Facturation mondiale
    Bonnes pratiques
    Clients multi-devises
    Autres fonctionnalités de facturation
    Produits et tarifs
    Gérer les sous-postes de facture groupés
    Taxes
Facturation à la consommation
Devis
Gestion des clients
Facturation avec d'autres produits
Recouvrement de revenus
Automatisations
Tester votre intégration
Tax
Présentation
Utiliser Stripe Tax
Gérer la conformité
Rapports
Présentation
Sélectionner un rapport
Configurer des rapports
API de rapport
Rapports sur plusieurs comptes
Comptabilisation des revenus
Données
PrésentationSchéma
Rapports personnalisés
Data Pipeline
Gestion des données
AccueilRevenusInvoicing

Effectuer l'intégration avec l'API Invoicing

Apprenez à coder pour créer et envoyer une facture au client.

Le Dashboard est le moyen le plus courant de créer des factures. Si vous souhaitez automatiser la création des factures, vous pouvez intégrer l’API. Créez une intégration Invoicing complète et fonctionnelle à l’aide de notre exemple d’intégration.

Remarque

Vous n’avez pas besoin d’intégrer l’API Payments pour intégrer l’API Invoicing.

Configurer Stripe

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer un produit

Pour créer un produit, saisissez son nom :

Command Line
cURL
curl https://api.stripe.com/v1/products \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Gold Special"

Créer un tarif

L’API Prices définit le montant et la fréquence de facturation des produits. Dans le cadre d’un abonnement, elle détermine notamment le coût du produit, la devise à utiliser et la période de facturation. De même que pour les produits, si vous n’avez défini que quelques tarifs, il est préférable de les gérer dans le Dashboard. Utilisez le montant unitaire pour exprimer les tarifs dans l’unité la plus faible de la devise, en l’occurrence les centimes (10 USD correspondant à 1 000 centimes, le montant unitaire est 1 000).

Remarque

Si vous n’avez pas besoin de créer un tarif pour votre produit, vous pouvez également utiliser le paramètre amount lors de la création du poste de facture.

Pour créer un tarif et l’associer au produit, transmettez l’ID du produit, le montant unitaire et la devise. Dans l’exemple suivant, le tarif du produit « Gold Special » est fixé à 10 USD :

Command Line
cURL
curl https://api.stripe.com/v1/prices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d product=
{{PRODUCT_ID}}
\ -d unit_amount=1000 \ -d currency=usd

Créer un client

L’objet Customer représente le client qui achète votre produit. Il est obligatoire pour créer une facture. Pour créer un client avec un name, email et description, ajoutez le code suivant en remplaçant les valeurs par les vôtres :

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Jenny Rosen" \ --data-urlencode email="jenny.rosen@example.com" \ -d description="My first customer"

Après avoir créé le client, enregistrez la valeur id du client dans votre base de données pour pouvoir la réutiliser ultérieurement. Par exemple, l’étape suivante utilise l’ID du client pour créer une facture.

Remarque

Consultez Créer un client pour accéder à des paramètres supplémentaires.

Créer une facture

Définissez l’attribut collection_method sur send_invoice. Pour que Stripe soit en mesure de marquer une facture comme étant en retard, renseignez le paramètre days_until_due. Stripe envoie au client la facture et des instructions de paiement par e-mail.

Command Line
cURL
curl https://api.stripe.com/v1/invoices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d collection_method=send_invoice \ -d days_until_due=30

Ensuite, créez un poste de facture en transmettant l’id du client, le price du produit et la invoice de l’ID de la facture.

Le nombre maximal de postes de facture est de 250.

Command Line
cURL
curl https://api.stripe.com/v1/invoiceitems \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "pricing[price]"=
{{PRICE_ID}}
\ -d invoice=
{{INVOICE_ID}}

Lorsque vous définissez auto_advance sur false, vous pouvez continuer à modifier la facture jusqu’à sa finalisation. Pour finaliser un brouillon de facture, utilisez le Dashboard, envoyez la facture au client ou déclenchez son règlement. Vous pouvez également utiliser l’API Finalize :

Remarque

Si vous avez créé la facture par erreur, annulez-la. Vous pouvez également marquer la facture comme irrécouvrable.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/invoices/
{{INVOICE_ID}}
/finalize
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Accepter le paiement de la facture

Envoyez la facture à l’adresse e-mail associée au client. Stripe finalise la facture dès que vous l’envoyez. De nombreuses juridictions considèrent les factures finalisées comme des documents juridiques, ce qui rend impossible la modification de certains champs. Si vous envoyez des factures qui ont déjà été payées, l’e-mail ne fait pas référence au paiement.

Remarque

L’e-mail ne contient pas de référence au paiement lorsque vous envoyez une facture qui a déjà été payée. Stripe envoie les factures à l’adresse e-mail associée au client.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/invoices/
{{INVOICE_ID}}
/send
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Gérer les événements post-paiement

Stripe envoie un événement invoice.paid à chaque règlement de facture. Écoutez cet événement pour garantir le bon traitement de la commande. Si votre intégration s’appuie sur un rappel côté client, il est possible que l’utilisateur perde la connexion avant l’exécution du rappel. Le client serait client alors facturé sans que votre serveur n’en soit informé. Le fait de configurer votre intégration de manière à ce qu’elle écoute les événements asynchrones vous permet également d’accepter différents types de méthodes de paiement avec une seule intégration.

Remarque

Les paiements de factures déclenchent les événements invoice.paid et invoice.payment_succeeded. Chacun de ces deux types d’événements contiennent les mêmes données de facturation. C’est pourquoi vous n’avez besoin que d’écouter l’un des deux pour être notifié des paiements de factures réussis. La différence est que les événements invoice.payment_succeeded sont envoyés pour les paiements de factures réussis, mais ne sont pas envoyés lorsque vous marquez une facture comme paid_out_of_band. Les événements invoice.paid, quant à eux, sont déclenchés à la fois pour les paiements réussis et pour les paiements hors bande. Comme invoice.paid couvre les deux scénarios, nous recommandons généralement d’écouter invoice.paid plutôt que invoice.payment_succeeded.

Utilisez l’outil de webhook du Dashboard ou suivez le Quickstart consacré aux webhooks pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un flux de livraison.

En plus de l’événement invoice.paid, nous vous recommandons de gérer deux autres événements lorsque vous encaissez des paiements à l’aide de l’Element Payment :

ÉvénementDescriptiondu client
payment_intent.processingEnvoyé lorsqu’un client a initié un paiement, mais qu’il ne l’a pas encore finalisé. Dans la plupart des cas, cet événement est envoyé lorsqu’un prélèvement a été effectué. Il est suivi par un événement invoice.paid ou invoice.payment_failed.Envoyez au client une confirmation de commande qui indique que son paiement est en attente. Pour des marchandises dématérialisées, vous pourrez traiter la commande sans attendre que le paiement soit effectué.
invoice.payment_failedEnvoyé lorsqu’un client a tenté de régler une facture, mais que le paiement a échoué.Si un paiement passe de l’état processing à payment_failed, proposez au client de retenter le paiement.

FacultatifPersonnaliser une facture

Voir aussi

  • Post-finalisation
  • Utiliser les webhooks entrants pour être informé des mises à jour en temps réel
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
Code quickstart
Guides connexes
Fonctionnement de la facturation
API Invoicing
Page de facture hébergée
Produits utilisés
Invoicing