Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Versionierung
Änderungsprotokoll
    Übersicht
    Clover
    Basil
    Acacia
    Vorherige Versionen
Aktualisieren Sie Ihre API-Version
Ihre SDK-Version aktualisieren
Essentials
SDKs
API
Tests
Stripe-CLI
Beispiel-Projekte
Tools
Stripe Dashboard
Workbench
Entwickler-Dashboard
Stripe Shell
Stripe für Visual Studio Code
Funktionen
Arbeitsabläufe
Ereignisziele
Stripe-StatuswarnungenHochgeladene Dateien
KI-Lösungen
Agent-Toolkit
Model Context ProtocolAgentische KI-SaaS-Billing-Workflows aufbauen
Sicherheit und Datenschutz
Sicherheit
Stripebot-Webcrawler
Datenschutz
Stripe erweitern
Erstellen Sie Stripe-Apps
Verwenden Sie Apps von Stripe
Partner
Partner-Ecosystem
Partner-Zertifizierung
Vereinigte Staaten
Deutsch
StartseiteEntwicklerressourcenChangelogBasil2025-03-31.basil

Fügt Unterstützung für mehrere (Teil-)Zahlungen auf Rechnungen hinzuWichtige Änderungen

Das ändert sich

Wir unterstützen jetzt mehrere (teilweise) Zahlungen für Rechnungen und Stornorechnungen. Rechnungen unterstützen jetzt auch Überzahlungen und können außerbandmäßige Zahlungen nachverfolgen. Darüber hinaus fügen wir das Feld confirmation_secret im Rechnungsobjekt hinzu, um die Verwendung des Payment Elements besser zu unterstützen.

Warum ist dies eine wichtige Änderung?

  • Die Felder payment_intent, charge, paid und paid_out_of_band wurden aus dem Invoice-Objekt entfernt.
  • Das Feld Rechnung aus den Objekten PaymentIntent und Zahlung entfernt.
  • Die Felder application_fee_amount und transfer_data wurden aus dem Invoice-Objekt entfernt. Für Zahlungen, die über Stripe erfolgen, sind diese Felder nun über das zugrunde liegende PaymentIntent-Objekt zugänglich, indem Sie payments.data.payment.payment_intent im Invoice-Objekt erweitern.
  • Das Feld Rückerstattung für das Objekt Stornorechnung wurde verworfen und durch ein Array für Rückerstattungen ersetzt.
  • Das Feld amount_paid im Objekt Invoice gibt nun Out-of-Band-Zahlungen wieder.

Ergebnis

Wir haben das Objekt Rechnungszahlung eingeführt, um den Zusammenhang zwischen Zahlungen und Rechnungen darzustellen und frühere Rechnungen und Zahlungen für relevante Objekte entfernt. Stellen Sie sicher, dass Sie Ihre Integration so aktualisieren, dass nicht mehr davon ausgegangen wird, dass eine einzelne Rechnung von einer einzelnen Zahlung beglichen werden muss und verwenden Sie das neue Rechnungszahlung-Objekt, um die Verbindung zwischen Zahlungen und Rechnungen nachzuvollziehen.

Informationen zur Zahlung im Array invoice.payments] prüfen

Sie können invoice.payments bei der Interaktion mit dem Rechnungs-Objekt prüfen, indem Sie die Eigenschaft Zahlungen erweitern:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/invoices/{INVOICE_ID} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=payments

Das Array invoice.payments enthält eine Liste aller mit der Rechnung verbundenen Zahlungen sowie deren jeweiligen Zuordnungs- und Zahlungsstatus.

Verwenden Sie die neuen Rechnungszahlung-Endpoints für Zahlungen und die Verknüpfung mit Rechnungen.

Um den Zusammenhang zwischen einem Payment Intent und Rechnungsobjekt zu verstehen, können Sie den EndpointRechnungszahlung auflisten verwenden:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/invoice_payments \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment[type]"=payment_intent \ -d "payment[payment_intent]"={PAYMENT_INTENT_ID}

confirmation_secret für Payment Element-Integrationen verwenden

Für Payment Element-Integrationen, insbesondere für Abonnement-Integrationen, die bisher auf der Erweiterung von invoice.payment_intent.client_secret oder latest_invoice.payments.data.payment.payment_intent.client_secret beruhten, können Sie jetzt das neue Feld invoice.confirmation_secret.client_secret im Rechnungsobjekt verwenden, indem Sie confirmation_secret erweitern:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/invoices/{INVOICE_ID} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=confirmation_secret

Auf application_fee_amount und transfer_data über PaymentIntents zugreifen

Mit dem Entfernen der Felder application_fee_amount und transfer_data aus dem Invoice-Objekt können Sie für über Stripe abgewickelte Zahlungen nun über das zugrunde liegende PaymentIntent-Objekt auf diese Felder zugreifen. Erweitern Sie dazu payments.data.payment.payment_intent, wenn Sie die Rechnung abrufen:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/invoices/{INVOICE_ID} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"="payments.data.payment.payment_intent"

Sie können dann über das erweiterte PaymentIntent-Objekt auf invoice.payments.data[i].payment.payment_intent.application_fee_amount und invoice.payments.data[i].payment.payment_intent.transfer_data zugreifen. Diese Felder sind nur für Zahlungen verfügbar, die über Stripe abgewickelt werden, wenn der Zahlungstyp payment_intent ist.

Rechnungen mit Out-of-Band-Zahlungen identifizieren

Nach dem Entfernen des Felds paid_out_of_band können Sie jetzt Rechnungen mit Out-of-Band-Zahlungen mit der Eigenschaft invoice.payments identifizieren.

Um zu überprüfen, ob eine Rechnung vollständig außerhalb von Stripe bezahlt wurde, überprüfen Sie, ob der Rechnungsstatus bezahlt, der amount_due größer als 0 und die Summe der Zahlungen vom Typ PaymentIntent im Array invoice.payments gleich 0 ist.

Um zu überprüfen, ob eine Rechnung teilweise außerhalb von Stripe bezahlt wird, überprüfen Sie, ob der amount_due größer als 0 und die Summe der Zahlungen vom Typ PaymentIntent im Array invoice.payments kleiner als der amount_paid ist.

Änderungen

ÄndernRessource
Hinzugefügt
InvoicePayment
Endpoints ÄndernRessource
retrievelistHinzugefügt
InvoicePayment
ParameterÄndernRessourcen oder Endpoints
chargepayment_intenttransfer_datapaidapplication_fee_amountpaid_out_of_bandEntfernt
Invoice
refundsHinzugefügt
CreditNoteCreditNote#createCreditNote#preview_lines
 + 1 weitere
CreditNote#preview
refundEntfernt
CreditNoteCreditNote#createCreditNote#preview_lines
 + 1 weitere
CreditNote#preview
amount_overpaidpaymentsconfirmation_secretHinzugefügt
Invoice
invoiceEntfernt
PaymentIntentCharge
WertÄndernAufzählungen
invoice.overpaidHinzugefügt
WebhookEndpoint#create.enabled_eventsWebhookEndpoint#update.enabled_eventsEvent.type

Upgrade

  1. Zeigen Sie Ihre aktuelle API-Version in Workbench an.
  2. Wenn Sie ein SDK verwenden, aktualisieren Sie auf die entsprechende SDK-Version für diese API-Version.
    • Wenn Sie kein SDK verwenden, aktualisieren Sie Ihre API-Anfragen auf Stripe-Version: 2025-03-31.basil
  3. Aktualisieren Sie die für Webhook-Endpoints verwendete API-Version.
  4. Testen Sie Ihre Integration mit der neuen Version.
  5. Wenn Sie Connect verwenden, testen Sie Ihre Connect-Integration.
  6. Führen Sie das Upgrade in Workbench durch. Sie können die Version für 72 Stunden zurücksetzen.

Erfahren Sie mehr über Stripe-API-Upgrades.

Zugehörige Änderungen

  • Ersetzt die Preisfelder der obersten Ebene durch eine verbesserte Preismodellierung für Rechnungsposten und Rechnungseinzelposten
  • Ersetzt steuerbezogene Eigenschaften der obersten Ebene durch eine verbesserte Steuermodellierung für Rechnungen, Rechnungsposten und Stornorechnungsposten
  • Fügt Zuständigkeitsebene und Grund für die Besteuerung zu manuellen Steuerbeträgen auf Rechnungen hinzu
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc