Integration mit der Invoicing API
Erfahren Sie, wie Sie mithilfe von Code eine Rechnung erstellen und senden.
Am häufigsten werden Rechnungen über das Dashboard erstellt. Wenn Sie die Rechnungserstellung automatisieren möchten, können Sie die API integrieren. Erstellen Sie eine vollständige, funktionierende Invoicing-Integration mit unserer Beispielintegration.
Notiz
Sie müssen keine Integration mit der Payments API vornehmen, um eine Integration mit der Invoicing API vorzunehmen.
Stripe einrichten
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API:
Produkt erstellen
Geben Sie den Namen eines Produkts ein, um es zu erstellen:
Preis erstellen
Anhand von Preisen wird festgelegt, wie viel und wie oft für Produkte bezahlt werden muss. Dies umfasst den Preis des Produkts, die zu verwendende Währung und das Abrechnungsintervall (wenn der Preis für ein Abonnement gilt). Wenn Sie nur einige wenige Preise haben, sollten Sie diese wie bei Produkten im Dashboard verwalten. Verwenden Sie den Betrag für Einheiten, um die Preise in der kleinsten Einheit der Währung auszudrücken – in diesem Fall in Cent (10 USD entsprechen 1.000 Cent, der Betrag für Einheiten ist also 1000).
Notiz
Wenn Sie keinen Preis für Ihr Produkt erstellen müssen, können Sie alternativ den Parameter amount bei der Erstellung des Rechnungspostens verwenden.
Um einen Preis zu erstellen und ihn dem Produkt zuzuweisen, übermitteln Sie die Produkt-ID, den Betrag pro Einheit und die Währung. Im folgenden Beispiel beträgt der Preis für das Produkt „Gold Special“ 10 USD:
Kundin/Kunde erstellen
Das Customer-Objekt stellt den Kunden/die Kundin, der/die Ihr Produkt kauft, und ist für die Erstellung einer Rechnung erforderlich. Um einen Kunden/eine Kundin mit name
, email
und description
zu erstellen, fügen Sie den folgenden Code hinzu und ersetzen Sie die Werte durch Ihre eigenen:
Speichern Sie nach dem Erstellen des/der Kund/in die id
des/der Kund/in zur späteren Verwendung in Ihrer Datenbank. Im nächsten Schritt wird zum Beispiel die Kunden-ID zum Erstellen einer Rechnung verwendet.
Notiz
Zusätzliche Parameter finden Sie unter Kundin/Kunden erstellen.
Rechnung erstellen
Legen Sie das Attribut collection_method auf send_
fest. Damit Stripe eine Rechnung als überfällig kennzeichnet, müssen Sie den Parameter days_until_due hinzufügen. Wenn Sie eine Rechnung senden, sendet Stripe die Rechnung per E-Mail mit Zahlungsanweisungen an den Kunden/die Kundin.
Erstellen Sie dann einen Rechnungsposten, indem Sie die id
des/der Kund/in, den price
des Produkts und die Rechnungs-ID der invoice
übergeben.
Die maximale Anzahl von Rechnungsposten ist 250.
Wenn Sie auto_
auf false
festlegen, können Sie die Rechnung bis zu ihrer Finalisierung weiter bearbeiten. Finalisieren Sie einen Rechnungsentwurf über das Dashboard, übermitteln Sie ihn an den Kunden/die Kundin oder begleichen Sie die Rechnung. Sie können auch die Finalize API verwenden:
Notiz
Wenn Sie die Rechnung versehentlich erstellt haben, stornieren Sie sie. Sie können eine Rechnung auch als uneinbringlich kennzeichnen.
Ereignisse nach Zahlung verarbeiten
Stripe sendet ein Ereignis des Typs invoice.paid, wenn eine Rechnungszahlung abgeschlossen wird. Überwachen Sie dieses Ereignis, um eine zuverlässige Ausführung zu gewährleisten. Wenn sich Ihre Integration nur auf einen clientseitigen Callback stützt, könnte es bei Kundinnen/Kunden zu einer Unterbrechung der Verbindung kommen, bevor der Callback ausgeführt wird. Dies würde dazu führen, dass das Kundenkonto belastet wird, ohne dass Ihr Server benachrichtigt wird. Wenn Sie Ihre Integration so einrichten, dass sie asynchrone Ereignisse überwacht, können Sie auch verschiedene Arten von Zahlungsmethoden mit einer einzigen Integration akzeptieren.
Notiz
Erfolgreiche Rechnungszahlungen lösen das Ereignis invoice.paid und das Ereignis invoice.payment_succeeded aus. Beide Ereignistypen enthalten die gleichen Rechnungsdaten. Es muss daher nur eines der Ereignisse überwacht werden, um über erfolgreiche Rechnungszahlungen informiert zu werden. Der Unterschied besteht darin, dass das Ereignis invoice.
für erfolgreiche Rechnungszahlungen gesendet wird, nicht jedoch, wenn Sie eine Rechnung als paid_out_of_band markieren. Ereignisse des Typs invoice.
hingegen werden sowohl bei erfolgreichen Zahlungen als auch bei Out-of-Band-Zahlungen ausgelöst. Da invoice.
beide Szenarien abdeckt, empfehlen wir in der Regel das Ereignis invoice.
zu überwachen und nicht invoice.
.
Verwenden Sie das Webhook-Tool im Dashboard oder folgen Sie dem QuickStart für Webhooks, um diese Ereignisse zu empfangen und Aktionen auszuführen. Dazu zählen beispielsweise der Versand von Bestellbestätigungen per E-Mail, das Protokollieren des Verkaufs in der Datenbank und die Einführung eines Versand-Workflows.
Neben der Abwicklung des Ereignisses invoice.
empfehlen wir die Abwicklung von zwei weiteren Ereignissen, wenn Sie Zahlungen mit dem Payment Element erfassen:
Ereignis | Beschreibung | Aktion |
---|---|---|
payment_intent.processing | Wird gesendet, wenn eine/e Kund/in eine Zahlung erfolgreich veranlasst hat, die Zahlung aber noch nicht abgeschlossen ist. Dieses Ereignis wird am häufigsten gesendet, wenn eine Bankabbuchung veranlasst wurde. In Zukunft folgt darauf das Ereignis invoice. oder invoice. . | Senden Sie eine Bestellbestätigung an die Kund/innen, in der angegeben ist, dass die Zahlung noch aussteht. Bei digitalen Waren können Sie die Bestellung abwickeln, bevor Sie darauf warten, dass die Zahlung erfolgt. |
invoice.payment_failed | Wird gesendet, wenn Kund/innen versuchen, eine Zahlung für eine Rechnung durchzuführen, die Zahlung aber fehlgeschlagen ist. | Wenn eine Zahlung von processing zu payment_ übergegangen ist, bieten Sie den Kund/innen einen weiteren Zahlungsversuch an. |