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_ im Rechnungsobjekt hinzu, um die Verwendung des Payment Elements besser zu unterstützen.
Warum ist dies eine wichtige Änderung?
- Die Felder
payment_,intent charge,paidundpaid_wurden aus demout_ of_ band Invoice-Objekt entfernt. - Das Feld
Rechnungaus den Objekten PaymentIntent und Zahlung entfernt. - Die Felder
application_undfee_ amount transfer_wurden aus demdata Invoice-Objekt entfernt. Für Zahlungen, die über Stripe erfolgen, sind diese Felder nun über das zugrunde liegende PaymentIntent-Objekt zugänglich, indem Siepayments.imdata. payment. payment_ intent Invoice-Objekt erweitern. - Das Feld
Rückerstattungfür das Objekt Stornorechnung wurde verworfen und durch ein Array fürRückerstattungenersetzt. - Das Feld
amount_im Objektpaid Invoicegibt 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. bei der Interaktion mit dem Rechnungs-Objekt prüfen, indem Sie die Eigenschaft Zahlungen erweitern:
Das Array invoice. 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:
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. oder latest_ beruhten, können Sie jetzt das neue Feld invoice. im Rechnungsobjekt verwenden, indem Sie confirmation_ erweitern:
Auf application_fee_amount und transfer_data über PaymentIntents zugreifen
Mit dem Entfernen der Felder application_ und transfer_ 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., wenn Sie die Rechnung abrufen:
Sie können dann über das erweiterte PaymentIntent-Objekt auf invoice. und invoice. zugreifen. Diese Felder sind nur für Zahlungen verfügbar, die über Stripe abgewickelt werden, wenn der Zahlungstyp payment_ ist.
Rechnungen mit Out-of-Band-Zahlungen identifizieren
Nach dem Entfernen des Felds paid_ 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_ größer als 0 und die Summe der Zahlungen vom Typ PaymentIntent im Array invoice. kleiner als der amount_paid ist.
Änderungen
Upgrade
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