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
Entwickler-Tools
Ü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
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
    Übersicht
    Zahlungen für bestehende Kundinnen/Kunden
    Eine Zahlung separat autorisieren und einziehen
    Zweistufiges Bestätigungsverfahren erstellen
    Zahlungsdetails erfassen, bevor Sie einen Intent erstellen
    Zahlungen auf dem Server abschließen
    Bestellungen per Post und Telefon entgegennehmen (MOTO)
    Karten in den USA und Kanada
      Karten ohne Authentifizierung speichern
      Upgrade für die Authentifizierungsverarbeitung
    Kartenangaben an API-Endpoints von Drittanbietern weiterleiten
    Zahlungsposten
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenCustom payment flowsUS and Canadian cards

Basisintegration für Karten migrieren

Migrieren Sie zu einer Integration, die Bankanfragen zur Kartenauthentifizierung verarbeiten kann.

Seite kopieren

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

Auf GitHub finden Sie ein vollständiges Code-Beispiel dieser Integration.

Prüfen, ob die Zahlung eine Authentifizierung erfordert
Serverseitig

Sie müssen auf Ihrem Server zwei Ä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 anzugeben, dass Sie die Zahlung auf dem Server explizit (manuell) erneut bestätigen möchten, nachdem Authentifizierungsanfragen bearbeitet wurden.
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 clientseitigen Code, damit Stripe ein Modal anzeigt, wenn sich Ihre Kund/innen authentifizieren müssen.

Nutzen Sie stripe.handleCardAction, wenn ein PaymentIntent den Status requires_action hat. Bei Erfolg erhält der PaymentIntent den Status requires_confirmation. Sie müssen dann den PaymentIntent erneut auf Ihrem Server bestätigen, um die Zahlung abzuschließen.

const handleServerResponse = async (responseJson) => { if (responseJson.error) { // Show error from server on payment form } else if (responseJson.requiresAction) { // Use Stripe.js to handle the required card action const { error: errorAction, paymentIntent } = await stripe.handleCardAction(responseJson.clientSecret); if (errorAction) { // Show error from Stripe.js in payment form } else { // The card action has been handled // The PaymentIntent can be confirmed again on the server const serverResponse = await fetch('/pay', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ payment_intent_id: paymentIntent.id }) }); handleServerResponse(await serverResponse.json()); } } else { // Show success message } }

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