Basisintegration für Karten migrieren
Migrieren Sie zu einer Integration, die Bankanfragen zur Kartenauthentifizierung verarbeiten kann.
Wenn Sie den Leitfaden Kartenzahlungen ohne Bankauthentifizierung befolgt haben, erstellt Ihre Integration Zahlungen, die abgelehnt werden, wenn eine Bank den Kunden/die Kundin um eine Authentifizierung des Kaufs bittet.
Falls es vermehrt zu fehlgeschlagenen Zahlungen wie im Dashboard unten oder mit dem Fehlercode requires_
in der API kommt, sollten Sie Ihre Basis-Integration entsprechend erweitern, damit solche Zahlungen abgewickelt und nicht mehr pauschal abgelehnt werden.
In diesem Leitfaden erfahren Sie, wie Sie die im vorherigen Leitfaden erstellte Integration aktualisieren, um Server- und Client-Code hinzuzufügen, mit dem die Kund/innen aufgefordert werden, die Zahlung durch Anzeige eines Modals zu authentifizieren.
Notiz
Ein vollständiges Beispiel dieser Integration finden Sie auf GitHub.
Prüfen, ob die Zahlung eine Authentifizierung erfordertServerseitig
Sie müssen auf Ihrem Server drei Änderungen am Endpoint vornehmen, der den PaymentIntent erstellt:
- Entfernen Sie den Parameter error_on_requires_action, damit Zahlungen, die eine Authentifizierung erfordern, nicht mehr abgelehnt werden. Stattdessen wird der PaymentIntent-Status auf
requires_
gesetzt.action - Fügen Sie den Parameter
confirmation_
hinzu, um anzugebenn, dass Sie die Zahlung auf dem Server explizit (manuell) erneut bestätigen möchten, nachdem Authentifizierungsanfragen bearbeitet wurden.method - Fügen Sie den Parameter use_stripe_sdk hinzu, um es Ihrem mobilen Client zu ermöglichen, die zusätzlichen Authentifizierungsschritte abzuwickeln.
Aktualisieren Sie anschließend Ihre Funktion „Antwort generieren“, sodass sie den Status requires_
verarbeitet, statt eine Fehlermeldung auszugeben:
Kund/innen sich authentifizieren lassenClientseitig
Aktualisieren Sie nun Ihren iOS-Code, um Stripe mitzuteilen, dass ein Modal angezeigt werden soll, wenn sich die Kundin/der Kunde authentifizieren muss.
Verwenden Sie handleNextActionForPayment
, wenn ein PaymentIntent den Status requires_
hat. Bei erfolgreicher Ausführung erhält der PaymentIntent den Status requires_
und Sie müssen den PaymentIntent erneut auf Ihrem Server bestätigen, um die Zahlung abzuschließen.
PaymentIntent erneut bestätigenServerseitig
Bestätigen Sie PaymentIntent erneut mit demselben Endpunkt, den Sie in zuvor angelegt haben, um die Zahlung abzuschließen und die Bestellung festzuschreiben. Der Zahlungsversuch schlägt fehl und wird auf requires_
zurückgesetzt, sofern die Zahlung nicht innerhalb einer Stunde erneut bestätigt wird.
Integration testen
Nutzen Sie unsere Testkarten im Testmodus, um sicherzustellen, dass Ihre Integration korrekt aktualisiert wurde. Stripe zeigt im Testmodus eine künstliche Authentifizierungsseite an, mit der Sie sowohl erfolgreiche als auch fehlgeschlagene Zahlungen simulieren können. Im Live-Modus kontrolliert die Bank, was innerhalb des Modals in der UI angezeigt wird.
Nummer | Beschreibung |
---|---|
Bei Erfolg sofortige Verarbeitung der Zahlung. | |
Schlägt stets mit dem Ablehnungscode insufficient_ fehl. | |
Erfordert eine Authentifizierung, die in dieser Integration zu einem Fehler führt. Der Ablehnungscode lautet dann authentication_ . |