Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Billing
ÜbersichtÜber die Billing APIs
Abonnements
Invoicing
    Übersicht
    Rechnungsstellung: Ein genauer Blick auf den Prozess
    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
Angebote
Kundenverwaltung
Abrechnung mit anderen Produkten
Umsatzsicherung
Automatisierungen
Integration testen
Steuer
Übersicht
Stripe Tax verwenden
Compliance-Management
Berichte
Übersicht
Bericht auswählen
Berichte konfigurieren
API für Berichte
Berichte für mehrere Konten
Umsatzrealisierung
Daten
ÜbersichtSchema
Nutzerspezifische Berichte
Data Pipeline
Datenverwaltung
StartseiteUmsatzInvoicing

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:

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

Senden Sie die Rechnung an die mit dem Kunden/der Kundin verknüpfte E-Mail-Adresse. Stripe finalisiert die Rechnung, sobald Sie sie senden. In vielen Zuständigkeitsbereichen gelten finalisierte Rechnungen als rechtliches Dokument, sodass bestimmte Felder nicht geändert werden können. Wenn Sie Rechnungen versenden, die bereits bezahlt wurden, gibt es in der E-Mail keinen Hinweis auf die Zahlung.

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