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
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
Billing
    Présentation
    À propos des API Billing
    Abonnements
    Invoicing
      Présentation
      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
    Connect et Billing
    Tax et Billing
    Devis
    Recouvrement de revenus
    Automatisations
    Scripts
    Comptabilisation des revenus
    Gestion des clients
    Droits d'accès
    Tester votre intégration
Tax
Rapports
Données
Constitution de start-up
AccueilAutomatisation des opérations financièresBillingInvoicing

Effectuer l'intégration avec l'API Invoicing

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

Copier la page

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

Send the invoice to the email address associated with the customer. Stripe finalizes the invoice as soon as you send it. Many jurisdictions consider finalized invoices a legal document making certain fields unalterable. If you send invoices that have already been paid, there’s no reference to the payment in the email.

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