Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
ÜbersichtAlle Produkte ansehen
Beginnen Sie mit der Entwicklung
Entwicklung starten
Beispiel-Projekte
Informationen zu APIs
    API-Tour
    Payment Intents API
    Setup Intents API
    Zahlungsmethoden
    Ältere API
      Zahlungen
        Auf die neuen APIs umstellen
        Kartenzahlung akzeptieren
        Karte speichern
        Karte zurückstellen
        Abbuchungen mit Connect
      Quellen
    Veröffentlichungsphase
Aufbau mit LLMs
Stripe verwenden, ohne Code zu erstellen
Stripe einrichten
Konto erstellen
Produkte und Preise
Web-Dashboard
Mobiles Dashboard
Auf Stripe umsteigen
Kundendaten migrieren
Zahlungsdaten migrieren
Abonnements migrieren
Betrugsrisiko verwalten
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Regulatorische Unterstützung
StartseiteJetzt startenAbout the APIsOlder APIsCharges

Auf die Payment Intents API umstellen

Seite kopieren

Möchten Sie Stripe Billing, Tax, Rabatte, Versand oder Währungsumrechnung nutzen?

Wir entwickeln derzeit eine Payment Element-Integration, die Abonnements, Steuern, Rabatte, Versand und Währungsumrechnung verwaltet. Lesen Sie den Leitfaden „Bezahlseite erstellen“, um mehr zu erfahren.

Erfahren Sie, wie Sie Ihre vorhandenen Karten und die Charges-API-Integration umstellen

Die Migration Ihres Zahlungsstroms kann eine große Herausforderung sein. Eine sichere Methode besteht darin, die Payment Intents API schrittweise zu implementieren und sie parallel mit der Charges API zu nutzen. Um dies zu tun, können Sie die Migration in die folgenden Schritte aufteilen:

  1. Aktualisieren Sie Ihre API-Version und Ihre Client-Bibliothek.
  2. Gegebenenfalls: Migrieren Sie den Code, der Daten aus den Charge-Eigenschaften ausliest, damit Sie einen konsistenten Lesepfad zwischen durch die Charges API erstellten Buchungen und durch die Payment Intents API erstellten Buchungen einrichten können. So wird eine leseseitige Integration sichergestellt, die sowohl für Ihre alten als auch für Ihre neuen Zahlungsintegrationen funktioniert.
  3. Stellen Sie Ihre bestehende Charges API-Integration auf Web, iOS und Android um, um die Payment Intents API nutzen zu können.
  4. Migrieren Sie Ihre Integration zur Speicherung von Karten in Customer-Objekten.
  5. Führen Sie einen Test mit vorgeschriebenen Testkarten durch, um sicherzustellen, dass Ihre Integration nach dem Upgrade die Authentifizierung korrekt abwickelt.

Ihre API-Version und Client-Bibliothek aktualisieren

Die Payment Intents API funktioniert zwar in allen API-Versionen, aber wir empfehlen ein Upgrade auf die aktuelle API-Version. Wenn Sie eine API-Version verwenden, die älter ist als die auf den 11.02.2019 datierte Version, beachten Sie bitte die folgenden beiden Änderungen, wenn Sie die Codebeispiele bearbeiten:

  • requires_source wurde in requires_payment_method umbenannt
  • requires_source_action wurde in requires_action umbenannt

In addition, if you use one of our SDKs, upgrade to the latest version of the library to use the Payment Intents API.

Stellen Sie Zahlungsabläufe für Einmalzahlungen um

Eine mit Stripe.js entwickelte Integration umfasst folgende Schritte:

  1. Registrieren Sie Ihre Absicht, Zahlungen auf Server-Seite einzuziehen
  2. Erfassen Sie die Zahlungsdetails auf Client-Seite
  3. Veranlassen Sie die Erstellung einer Zahlung
  4. Wickeln Sie die Bestellung des/der Kund/in auf Server-Seite ab

Schritt 1: Registrieren Sie Ihre Absicht, Zahlungen auf Server-Seite einzuziehen

Erstellen Sie einen PaymentIntent auf Ihrem Server und ermöglichen Sie den Zugriff darauf auf Client-Seite.

Vorher
Nachher

Vorher nicht möglich

Command Line
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd"

Schritt 2: Erfassen Sie die Zahlungsdetails auf Client-Seite

Verwenden Sie die Funktion confirmCardPayment, die Zahlungsinformationen erfasst und diese direkt an Stripe weitergibt.

Vorher
Nachher
stripe.createToken( cardElement ).then(function(token) { // Send token to server });
stripe.confirmCardPayment( INTENT_SECRET_FROM_STEP_1, { payment_method: {card: cardElement} } ).then(function(result) { if (result.error) { // Display error.message in your UI. } else { // The payment has succeeded // Display a success message } });

Schritt 3: Veranlassen Sie die Erstellung einer Zahlung

In Ihrer vorhandenen Integration besteht der letzte Schritt darin, mithilfe von tokenisierten Zahlungsinformationen eine Zahlung auf Ihrem Server zu erstellen. Dies ist nicht mehr erforderlich, da die im vorherigen Schritt aufgerufene Funktion confirmCardPayment die Erstellung der Zahlung veranlasst.

Vorher
Nachher
Command Line
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{FROM_PREVIOUS_STEP}}" \ -d "amount"=1099 \ -d "currency"="usd"

Im vorherigen Schritt abgeschlossen

Schritt 4: Wickeln Sie die Bestellung des/der Kund/in ab

Bei der automatischen Bestätigung wird die Zahlung für Sie asynchron basierend auf Kundenaktionen auf der Client-Seite erstellt. Sie müssen daher Webhooks überwachen, um zu ermitteln, wann die Zahlung erfolgreich abgeschlossen wurde. Um Schritte wie die Auftragsabwicklung nach erfolgreicher Zahlung eines Kunden/einer Kundin auszuführen, unterstützen Sie Webhooks und überwachen Sie das Ereignis payment_intent.succeeded.

Vorher
Nachher

Bei erfolgreicher Zahlung abwickeln.

Abonnieren Sie den Webhook payment_intent.succeeded und führen Sie die Abwicklung im Webhook-Handler aus.

Nachdem Sie Ihre Umstellung abgeschlossen haben, nutzen Sie die Testkarten im folgenden Abschnitt, um zu verifizieren, dass Ihre aktualisierte Integration die 3D-Secure-Authentifizierung verarbeiten kann.

Migrieren Sie Ihre Integration zur Speicherung von Karten in Customer-Objekten

Eine Payment Intents API-Integration, die Karteninformationen im Bezahlvorgang erfasst, umfasst folgende Schritte:

  1. Registrieren Sie Ihre Absicht, Zahlungen auf Server-Seite einzuziehen
  2. Erfassen Sie die Zahlungsdetails auf Client-Seite
  3. Veranlassen Sie die Erstellung einer Zahlung
  4. Wickeln Sie die Bestellung des/der Kund/in auf Server-Seite ab

Schritt 1: Registrieren Sie Ihre Absicht, Zahlungen auf Server-Seite einzuziehen

Erstellen Sie einen PaymentIntent auf Ihrem Server. Legen Sie diese Option setup_future_usage auf off_session fest, wenn Sie planen, die Konten der Nutzer/innen vorwiegend zu belasten, wenn sie sich außerhalb Ihrer Anwendung befinden, oder auf on_session, wenn Sie planen, sie in der Anwendung zu belasten. Wenn Sie die Karte sowohl für On-Session- als auch Off-Session-Zahlungen verwenden möchten, verwenden Sie off_session. Durch Angabe des Parameters setup_future_usage zusammen mit einer Kunden-ID wird die resultierende PaymentMethod für diese Kundin/diesen Kunden gespeichert, nachdem der PaymentIntent bestätigt und alle erforderlichen Aktionen seitens des Kunden/der Kundin abgeschlossen wurden. Machen Sie als Nächstes den Zugriff auf den PaymentIntent auf der Client-Seite möglich.

Vorher
Nachher

Vorher nicht möglich

Command Line
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "setup_future_usage"="off_session" \ -d "amount"=1099 \ -d "currency"="usd"

Schritt 2: Erfassen Sie die Zahlungsdetails auf Client-Seite

Verwenden Sie die Funktion confirmCardPayment, die Zahlungsinformationen erfasst und diese direkt an Stripe weitergibt.

Vorher
Nachher
stripe.createToken( // or stripe.createSource cardElement ).then(function(token) { // Send token to server });
stripe.confirmCardPayment( '{{INTENT_SECRET_FROM_STEP_1}}', { payment_method: {card: cardElement}, } ).then(function(result) { if (result.error) { // Display error.message in your UI. } else { // The payment has succeeded // Display a success message } });

Hängen Sie schließlich die Zahlungsmethode (paymentIntent.payment_method) an den Kunden/die Kundin an.

Vorher
Nachher
Command Line
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}}/sources \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{TOKEN_OR_SOURCE}}"
Command Line
curl https://api.stripe.com/v1/payment_method/{{PAYMENT_METHOD_ID}}/attach \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}"

Schritt 3: Veranlassen Sie die Erstellung einer Zahlung

In Ihrer vorhandenen Integration besteht der letzte Schritt darin, mithilfe von tokenisierten Zahlungsinformationen eine Zahlung auf Ihrem Server zu erstellen. Dies ist nicht mehr erforderlich, da die im vorherigen Schritt aufgerufene Funktion confirmCardPayment die Erstellung der Zahlung veranlasst.

Vorher
Nachher
Command Line
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{FROM_PREVIOUS_STEP}}" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "amount"=1099 \ -d "currency"="usd"

Im vorherigen Schritt abgeschlossen

Schritt 4: Wickeln Sie die Bestellung des/der Kund/in ab

Bei der automatischen Bestätigung wird die Zahlung für Sie asynchron basierend auf Kundenaktionen auf der Client-Seite erstellt. Sie müssen daher Webhooks überwachen, um zu ermitteln, wann die Zahlung erfolgreich abgeschlossen wurde. Um Schritte wie die Auftragsabwicklung nach erfolgreicher Zahlung eines Kunden/einer Kundin auszuführen, unterstützen Sie Webhooks und überwachen Sie das Ereignis payment_intent.succeeded.

Vorher
Nachher

Bei erfolgreicher Zahlung abwickeln.

Abonnieren Sie den Webhook payment_intent.succeeded und führen Sie die Abwicklung im Webhook-Handler aus.

Nachdem Sie Ihre Umstellung abgeschlossen haben, nutzen Sie die Testkarten im folgenden Abschnitt, um zu verifizieren, dass Ihre aktualisierte Integration die 3D-Secure-Authentifizierung verarbeiten kann.

Greifen Sie auf gespeicherte Zahlungsmethoden zu

Um zuvor gespeicherte Karten, Zahlungsquellen und PaymentMethods des Kunden/der Kundin anzuzeigen, können Sie die Zahlungsmethoden auflisten lassen, anstatt die Eigenschaft sources des Kundenobjekts auszulesen. Dies ist erforderlich, weil einer Kundin/einem Kunden hinzugefügte neue PaymentMethods nicht in der Eigenschaft „sources“ des Kundenobjekts dupliziert werden.

Vorher
Nachher
Command Line
customer.sources
Command Line
curl https://api.stripe.com/v1/payment_methods?customer={{CUSTOMER_ID}}&type=card \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:

Integration testen

Es ist wichtig, dass Sie Ihre Integration sorgfältig testen, um sicherzustellen, dass sowohl die Karten korrekt verarbeitet werden, für die eine zusätzliche Authentifizierung erforderlich ist, als auch solche, für die das nicht gilt. Verwenden Sie diese Kartennummern in einer Sandbox mit beliebigem Ablaufdatum in der Zukunft und jedem dreistelligen CVC-Code, um Ihre Integration zu validieren, wenn eine Authentifizierung erforderlich ist und wenn sie nicht erforderlich ist.

NummerAuthentifizierungBeschreibung
Bei Einrichtung oder der ersten Transaktion erforderlichBei dieser Testkarte ist eine Authentifizierung für Einmalzahlungen erforderlich. Wenn Sie die Karte jedoch mit der Setup Intents API einrichten und die gespeicherte Karte für künftige Zahlungen nutzen, ist keine weitere Authentifizierung erforderlich.
PflichtfeldDiese Testkarte erfordert bei allen Transaktionen eine Authentifizierung.
PflichtfeldDiese Testkarte erfordert eine Authentifizierung, Zahlungen werden nach einer fehlgeschlagenen Authentifizierung allerdings mit dem Fehlercode insufficient_funds abgelehnt.
UnterstütztThis test card supports authentication through 3D Secure 2, but does not require it. Payments using this card do not require additional authentication in a sandbox unless your sandbox Radar rules request authentication.

Nutzen Sie diese Karte in Ihrer Anwendung oder der Zahlungsdemo, um verschiedene Verhaltensweisen zu sehen.

Siehe auch

  • Payment Intents unter iOS
  • Payment Intents unter Android
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