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
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
    Übersicht
    Zahlungsformular
    Embedded Payment Element
    Ausgehender Link für In-App-Käufe
    Adressen erfassen
    Karten in den USA und Kanada
      Karten ohne Authentifizierung speichern
      Upgrade für die Authentifizierungsverarbeitung
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
StartseiteZahlungenBuild an in-app integrationUS and Canadian cards

Basisintegration für Karten migrieren

Migrieren Sie Ihre Mobil-App 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_action_not_handled in der API kommt, sollten Sie Ihre Basis-Integration entsprechend erweitern, damit solche Zahlungen abgewickelt und nicht mehr pauschal abgelehnt werden.

Dashboard mit einer fehlgeschlagenen Zahlung, aus der hervorgeht, dass diese Bank für diese Zahlung eine Authentifizierung verlangt

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 erfordert
Serverseitig

Sie müssen auf Ihrem Server drei Änderungen am Endpoint vornehmen, der den PaymentIntent erstellt:

  1. 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_action gesetzt.
  2. Fügen Sie den Parameter confirmation_method hinzu, um anzugebenn, dass Sie die Zahlung auf dem Server explizit (manuell) erneut bestätigen möchten, nachdem Authentifizierungsanfragen bearbeitet wurden.
  3. Fügen Sie den Parameter use_stripe_sdk hinzu, um es Ihrem mobilen Client zu ermöglichen, die zusätzlichen Authentifizierungsschritte abzuwickeln.
Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d amount=1099 \ -d currency=usd \ -d payment_method_types[]=card \ -d confirm=true \ -d error_on_requires_action=true \ -d payment_method="{{PAYMENT_METHOD_ID}}" \ -d confirmation_method=manual

Aktualisieren Sie anschließend Ihre Funktion „Antwort generieren“, sodass sie den Status requires_action verarbeitet, statt eine Fehlermeldung auszugeben:

Command Line
curl
# If the request succeeds, check the # PaymentIntent's `status` and handle # its `next_action`.

Kund/innen sich authentifizieren lassen
Clientseitig

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_action hat. Bei erfolgreicher Ausführung erhält der PaymentIntent den Status requires_confirmation und Sie müssen den PaymentIntent erneut auf Ihrem Server bestätigen, um die Zahlung abzuschließen.

Objective C
- (void)handleResponse:(NSDictionary *)json { if (json[@"error"] != nil) { // Display the error to the customer } else if (json[@"requiresAction"]) { // Payment requires additional actions NSString *clientSecret = json[@"clientSecret"]; STPPaymentHandler *paymentHandler = [STPPaymentHandler sharedHandler]; [paymentHandler handleNextActionForPayment:clientSecret withAuthenticationContext:self returnURL:nil completion:^(STPPaymentHandlerActionStatus status, STPPaymentIntent *paymentIntent, NSError *handleActionError) { switch (status) { case STPPaymentHandlerActionStatusFailed: { // Display handleActionError to the customer break; } case STPPaymentHandlerActionStatusCanceled: { // Canceled break; } case STPPaymentHandlerActionStatusSucceeded: { // The card action has been handled // Send the PaymentIntent ID to your server and confirm it again break; } default: break; } }]; } else { // Display success message } } # pragma mark STPAuthenticationContext - (UIViewController *)authenticationPresentingViewController { return self; }

PaymentIntent erneut bestätigen
Serverseitig

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_payment_method zurückgesetzt, sofern die Zahlung nicht innerhalb einer Stunde erneut bestätigt wird.

Command Line
Curl
curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/confirm \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "POST"

Integration testen

Verwenden Sie unsere Testkarten in einer Sandbox, um zu überprüfen, ob Ihre Integration korrekt aktualisiert wurde. Stripe zeigt innerhalb des Modals in einer Sandbox an eine gefälschte Authentifizierungsseite an, mit der Sie einen erfolgreichen oder fehlgeschlagenen Authentifizierungsversuch simulieren können. Im Live-Modus steuert die Bank die Nutzeroberfläche dessen, was innerhalb des Modals angezeigt wird.

NummerBeschreibung
Bei Erfolg sofortige Verarbeitung der Zahlung.
Schlägt stets mit dem Ablehnungscode insufficient_funds fehl.
Erfordert eine Authentifizierung, die in dieser Integration zu einem Fehler führt. Der Ablehnungscode lautet dann authentication_not_handled.
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