Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Übersicht
Billing
    Übersicht
    Über die Billing APIs
    Abonnements
    Invoicing
      Übersicht
      API-Quickstart
      Integration mit der API
      Rechnungsstellung ohne Code
      Lebenszyklus einer Rechnung
      Rechnungsvorschau
      Rechnungen bearbeiten
      Rechnungsfinalisierung planen
      Statusübergänge und Finalisierung
      Kunden-E-Mails senden
      Erstellen Sie Gutschriften
      Den Kundinnen/Kunden Rechnungen stellen
      Kund/innen
      Kundenguthaben
      Steuer-IDs von Kund/innen
      Bezahlung von Rechnungen
      Gehostete Rechnungsseite
      Zahlungspläne für Rechnungen erstellen
      Teilzahlungen akzeptieren
      Zahlungsmethoden für Rechnungen
      Automatisierte Sammlungen
      Anpassung von Rechnungen
      Rechnungen anpassen
      Vorlagen zum Darstellen von Rechnungen
      Rechnungsposten gruppieren
      Einzelposten zusammenfassen
      Rechnungsstellung weltweit
      Best Practices
      Kund/innen mit mehreren Währungen
      Sonstige Rechnungsfunktionen
      Produkte und Preise
      Mehrere Rechnungsposten auf einmal verwalten
      Steuern
    Nutzungsbasierte Abrechnung
    Connect und Billing
    Tax und Billing
    Angebote
    Umsatzsicherung
    Automatisierungen
    Skripte
    Umsatzrealisierung
    Kundenverwaltung
    Berechtigungen
    Integration testen
Steuer
Berichte
Daten
Start-up-Gründung
StartseiteFinanzautomatisierungBillingInvoicing

Integration mit der Invoicing API

Erfahren Sie, wie Sie mithilfe von Code eine Rechnung erstellen und senden.

Seite kopieren

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:

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'

Produkt erstellen

Geben Sie den Namen eines Produkts ein, um es zu erstellen:

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

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:

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

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:

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"

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_invoice 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.

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

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.

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}}

Wenn Sie auto_advance 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.

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

Rechnungszahlung akzeptieren

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.

Notiz

Wenn Sie bereits bezahlte Rechnungen versenden, enthält die E-Mail keinen Hinweis auf die Zahlung. (Stripe sendet Rechnungen an die mit dem/der Kund/in verknüpfte E-Mail-Adresse.)

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

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.payment_succeeded für erfolgreiche Rechnungszahlungen gesendet wird, nicht jedoch, wenn Sie eine Rechnung als paid_out_of_band markieren. Ereignisse des Typs invoice.paid hingegen werden sowohl bei erfolgreichen Zahlungen als auch bei Out-of-Band-Zahlungen ausgelöst. Da invoice.paid beide Szenarien abdeckt, empfehlen wir in der Regel das Ereignis invoice.paid zu überwachen und nicht invoice.payment_succeeded.

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.paid empfehlen wir die Abwicklung von zwei weiteren Ereignissen, wenn Sie Zahlungen mit dem Payment Element erfassen:

EreignisBeschreibungAktion
payment_intent.processingWird 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.paid oder invoice.payment_failed.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_failedWird 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_failed übergegangen ist, bieten Sie den Kund/innen einen weiteren Zahlungsversuch an.

OptionalEine Rechnung anpassen

Siehe auch

  • Nach der Finalisierung
  • Verwenden Sie eingehende Webhooks, um Updates in Echtzeit zu erhalten
War diese Seite hilfreich?
JaNein
Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc
Code quickstart
Ähnliche Leitfäden
So funktioniert Invoicing
Invoicing API
Gehostete Rechnungsseite
Verwendete Produkte
Invoicing