Verhindert die Wiederverwendung von Client-Geheimnissen für Intents in bestimmten Zuständen bei der Initialisierung von ElementsWichtige Änderungen
Das ändert sich
Führt eine Validierung ein, um die Wiederverwendung von Client-Geheimnissen aus Payment Intents oder Setup Intents zu verhindern, die sich beim Erstellen einer Elements-Instanz im Status succeeded, canceled, processing, requires_ oder requires_ mit nicht abtrennbaren Zahlungsmethoden (Boleto, knet, Oxxo, us_cash_voucher) befinden.
Warum ist dies eine wichtige Änderung?
Bisher konnten Sie mit Elements eine Instanz mit einem beliebigen gültigen Client-Geheimnis initialisieren, unabhängig vom Status des zugehörigen PaymentIntent oder SetupIntent.
Elements überprüft nun, ob sich der Intent in einem geeigneten Zustand befindet, bevor die Instanz erstellt werden kann. Wenn Sie Client-Geheimnisse von PaymentIntents oder SetupIntents wiederverwenden, die bereits abgeschlossen sind oder verarbeitet werden, erzeugen sie jetzt Validierungsfehler.
Auswirkungen
Durch diese Änderung wird verhindert, dass Elements Zahlungsformulare in einem fehlerhaften Zustand darstellt. Dadurch wird sichergestellt, dass Ihrer Kundschaft keine fehlerhaften Formulare auf Ihrer Bezahlseite angezeigt werden.
Bisher konnten Sie zwar eine Elements-Instanz mit einem Client-Geheimnis aus einem Intent erstellten, das bereits abgeschlossenen ist oder verarbeitet wird, doch alle Zahlungsversuche Ihrer Kundinnen und Kunden würden fehlschlagen. Nun validiert Elements den Intent-Status und gibt einen Fehler an Ihre Integration zurück, anstatt ein nicht funktionierendes Zahlungsformular zu rendern.
Damit Ihre Integration weiterhin funktioniert:
- Umgang mit den neuen Validierungsfehlern: Aktualisieren Sie Ihre Fehlerbehandlung, um diese Validierungsfehler beim Erstellen einer Elements-Instanz zu erkennen.
- Neue PaymentIntents oder SetupIntents erstellen: Wenn Sie einen Validierungsfehler erhalten, erstellen Sie einen neuen PaymentIntent oder SetupIntent und verwenden Sie dessen Client-Geheimnis, um Elements zu initialisieren.
- Wiederverwendung von Client-Geheimnissen vermeiden: Verwenden Sie immer neue Client-Geheimnisse für neue Zahlungen oder überprüfen Sie, ob sich der zugehörige Intent in einem gültigen Zustand befindet (in der Regel
requires_oderpayment_ method requires_).confirmation
Diese Validierung gilt nur bei Verwendung der API Version 2025-09-30. oder höher, sodass bestehende Integrationen in früheren API Versionen nicht betroffen sind.