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
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Krypto
    Lastschriften
      ACH Direct Debit
        Zahlung annehmen
        Bankverbindung speichern
        Migration von der Charges API
        Migration von einem anderen Zahlungsabwickler
        Gesperrte Bankkonten
        SEC-Codes
      BACS-Lastschriftverfahren
      Vorab autorisierte Lastschriften in Kanada
      BECS-Lastschriftverfahren (Australien)
      BECS-Lastschriftverfahren in Neuseeland
      SEPA-Lastschrift
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
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
StartseiteZahlungenAdd payment methodsBank debitsACH Direct Debit

Details für zukünftige Zahlungen per ACH-Lastschrift speichern

So speichern Sie die Angaben zur Zahlungsmethode für zukünftige SEPA-Lastschriftzahlungen.

Sie können der Setup Intents API verwenden, um die Details der Zahlungsmethode im Voraus zu erfassen, wobei der endgültige Betrag oder das Zahlungsdatum später festgelegt wird. Dies ist nützlich für Folgendes:

  • Speichern von Zahlungsmethoden in einer Wallet, um zukünftige Einkäufe zu optimieren
  • Einziehen von Zuschlägen nach Abwicklung einer Dienstleistung
  • Kostenlosen Testzeitraum für ein Abonnement starten

Notiz

Bei ACH Direct Debit handelt es sich um eine Zahlungsmethode mit verzögerter Benachrichtigung. Dies bedeutet, dass Gelder nicht sofort nach der Zahlung verfügbar sind. Eine Zahlung benötigt in der Regel 4 Werktage bis zum Eingang auf Ihrem Konto.

Stripe einrichten
Serverseitig
Clientseitig

Serverseitig

Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Clientseitig

Das React Native SDK ist Open Source und vollständig dokumentiert. Intern werden native iOS und Android SDKs verwendet. Um das React Native SDK von Stripe zu installieren, führen Sie einen der folgenden Befehle im Verzeichnis Ihres Projekts aus (je nachdem, welchen Paket-Manager Sie verwenden):

Command Line
yarn add @stripe/stripe-react-native

Installieren Sie als Nächstes einige weitere erforderliche Abhängigkeiten:

  • Navigieren Sie für iOS zum Verzeichnis ios und führen Sie pod install aus, um sicherzustellen, dass Sie auch die erforderlichen nativen Abhängigkeiten installieren.
  • Für Android müssen keine Abhängigkeiten mehr installiert werden.

Notiz

We recommend following the official TypeScript guide to add TypeScript support.

Stripe Initialisierung

Um Stripe in Ihrer React Native-App zu initialisieren, umschließen Sie entweder Ihren Zahlungsbildschirm mit der Komponente StripeProvider oder verwenden Sie die Initialisierungsmethode initStripe. Nur der veröffentlichbare API-Schlüssel in publishableKey ist erforderlich. Das folgende Beispiel zeigt, wie Stripe mithilfe der Komponente StripeProvider initialisiert wird.

import { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > {/* Your app code here */} </StripeProvider> ); }

Notiz

Verwenden Sie Ihre API-Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.

Kundinnen/Kunden erstellen oder abrufen
Empfohlen
Serverseitig

Erstellen Sie ein Kundenobjekt, wenn Ihr/e Nutzer/in ein Konto bei Ihrem Unternehmen erstellt, oder rufen Sie einen bestehenden Kunden/eine bestehende Kundin ab, der/die diesem Nutzer/dieser Nutzerin zugeordnet ist. Wenn Sie die ID des Kundenobjekts mit Ihrer eigenen Darstellung eines Kunden/einer Kundin verknüpfen, können Sie die gespeicherten Angaben zur Zahlungsmethode später abrufen und verwenden. Geben Sie eine E-Mail-Adresse an, um die Optimierung für wiederkehrende Nutzer/innen von Financial Connections zu aktivieren.

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d email={{CUSTOMER_EMAIL}}

SetupIntent erstellen
Serverseitig

Ein SetupIntent ist ein Objekt, mit dem Sie eine Zahlungsmethode eines Kunden/einer Kundin für zukünftige Zahlungen einrichten können. Der SetupIntent verfolgt die Schritte dieses Einrichtungsvorgangs.

Erstellen Sie einen SetupIntent auf Ihrem Server. Setzen Sie dabei payment_method_types auf us_bank_account und geben Sie die id der Kundin/des Kunden an.

Serverseitig

Erstellen Sie einen SetupIntent auf Ihrem Server. Setzen Sie dabei payment_method_types auf us_bank_account und geben Sie die id der Kundin/des Kunden an.

Weitere Informationen zu den Gebühren für Financial Connections finden Sie unter Preisdetails.

Bei der Erfassung von Zahlungsinformationen für Bankkonten wird standardmäßig Financial Connections verwendet, um das Konto Ihres Kunden/Ihrer Kundin sofort zu verifizieren, mit einer Ausweichoption für die manuelle Eingabe der Kontonummer und die Verifizierung von Testeinzahlungen. In der Financial Connections-Dokumentation erfahren Sie, wie Sie Financial Connections konfigurieren und auf zusätzliche Kontodaten zugreifen, um Ihre ACH-Integration zu optimieren. Beispielsweise können Sie Financial Connections verwenden, um den Kontostand zu prüfen, bevor Sie die ACH-Zahlung veranlassen.

Notiz

Um den Zugriff auf zusätzliche Daten auszudehnen, nachdem ein/e Kund/in sein/ihr Konto authentifiziert hat, muss er/sie das Konto mit erweiterten Berechtigungen erneut verknüpfen.

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=us_bank_account \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=payment_method \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=balances

Clientseitig

Ein SetupIntent enthält ein Client-Geheimnis. Sie können das Client-Geheimnis in Ihrer React Native-App verwenden, um den Zahlungsvorgang sicher abzuschließen, anstatt das gesamte SetupIntent-Objekt zurückzugeben. Fordern Sie in Ihrer App einen SetupIntent von Ihrem Server an und speichern Sie dessen Client-Geheimnis.

function PaymentScreen() { // ... const fetchIntentClientSecret = async () => { const response = await fetch(`${API_URL}/create-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ // This is an example request body, the parameters you pass are up to you customer: '<CUSTOMER_ID>', }), }); const {clientSecret} = await response.json(); return clientSecret; }; return <View>...</View>; }

Angaben zur Zahlungsmethode erfassen
Clientseitig

Anstatt das gesamte SetupIntent-Objekt an den Client zu übermitteln, verwenden Sie dessen Client-Geheimnis aus dem vorherigen Schritt. Dieses unterscheidet sich von Ihren API-Schlüsseln, mit denen Anfragen der Stripe API authentifiziert werden.

Gehen Sie sorgfältig mit dem Client-Geheimnis um, denn es kann die Zahlung abschließen. Protokollieren Sie es nicht, betten Sie es nicht in URLs ein und geben Sie es nur dem/der Kund/in preis.

Verwenden Sie collectBankAccountForSetup, um Bankkontodaten zu erfassen, eine PaymentMethod zu erstellen und diese PaymentMethod dem SetupIntent hinzuzufügen. Sie müssen den Namen des Kontoinhabers/der Kontoinhaberin im Parameter billingDetails angeben, um eine PaymentMethod vom Typ ACH Direct Debit zu erstellen.

import {collectBankAccountForSetup} from '@stripe/stripe-react-native'; export default function MyPaymentScreen() { const [name, setName] = useState(''); const handleCollectBankAccountPress = async () => { // Fetch the intent client secret from the backend. // See `fetchIntentClientSecret()`'s implementation above. const {clientSecret} = await fetchIntentClientSecret(); const {setupIntent, error} = await collectBankAccountForSetup( clientSecret, { paymentMethodType: 'USBankAccount', paymentMethodData: { billingDetails: { name: "John Doe", }, }, }, ); if (error) { Alert.alert(`Error code: ${error.code}`, error.message); } else if (setupIntent) { Alert.alert('Setup status:', setupIntent.status); if (setupIntent.status === SetupIntents.Status.RequiresConfirmation) { // The next step is to call `confirmSetup` } else if (setupIntent.status === SetupIntents.Status.RequiresAction) { // The next step is to call `verifyMicrodepositsForSetup` } } }; return ( <PaymentScreen> <TextInput placeholder="Name" onChange={(value) => setName(value.nativeEvent.text)} /> <Button onPress={handleCollectBankAccountPress} title="Collect bank account" /> </PaymentScreen> ); }

Dadurch wird ein Nutzeroberflächen-Modal geladen, das die Erfassung und Überprüfung der Bankkontodaten abwickelt. Wenn dies abgeschlossen ist, wird die PaymentMethod automatisch an den SetupIntent angehängt.

Rückgabe-URL einrichten (nur für iOS)
Clientseitig

When a customer exits your app (for example to authenticate in Safari or their banking app), provide a way for them to automatically return to your app. Many payment method types require a return URL. If you don’t provide one, we can’t present payment methods that require a return URL to your users, even if you’ve enabled them.

So geben Sie eine Rückgabe-URL an:

  1. Registrieren Sie eine benutzerdefinierte URL. Universelle Links werden nicht unterstützt.
  2. Konfigurieren Sie Ihre benutzerdefinierte URL.
  3. Richten Sie Ihre Root-Komponente so ein, dass sie die URL an das Stripe SDK weitergibt, wie unten gezeigt.

Notiz

Wenn Sie Expo verwenden, stellen Sie Ihr Schema in der Datei app.json ein.

App.tsx
import { useEffect, useCallback } from 'react'; import { Linking } from 'react-native'; import { useStripe } from '@stripe/stripe-react-native'; export default function MyApp() { const { handleURLCallback } = useStripe(); const handleDeepLink = useCallback( async (url: string | null) => { if (url) { const stripeHandled = await handleURLCallback(url); if (stripeHandled) { // This was a Stripe URL - you can return or add extra handling here as you see fit } else { // This was NOT a Stripe URL – handle as you normally would } } }, [handleURLCallback] ); useEffect(() => { const getUrlAsync = async () => { const initialUrl = await Linking.getInitialURL(); handleDeepLink(initialUrl); }; getUrlAsync(); const deepLinkListener = Linking.addEventListener( 'url', (event: { url: string }) => { handleDeepLink(event.url); } ); return () => deepLinkListener.remove(); }, [handleDeepLink]); return ( <View> <AwesomeAppComponent /> </View> ); }

Weitere Informationen zu nativen URL-Schemen finden Sie in der Dokumentation für Android und iOS.

OptionalAuf Daten für ein Financial Connections-Bankkonto zugreifen
Serverseitig

Mandatsbestätigung einziehen und übermitteln
Clientseitig

Bevor Sie den SetupIntent abschließen und die Zahlungsmethodendetails für den/die Kund/in speichern können, müssen Sie eine Zahlungsautorisierung einholen, indem Sie Mandatsbedingungen anzeigen, denen er/sie zustimmen muss.

Um die Nacha-Regeln einzuhalten, müssen Sie eine Autorisierung von Ihrem Kunden/Ihrer Kundin einholen, bevor Sie die Zahlung veranlassen können. Dies tun Sie durch Anzeigen von Mandatskonditionen, denen der Kunde/die Kundin zustimmen muss. Weitere Informationen finden Sie unter Mandate.

Wenn der/die Kund/in den Mandatskonditionen zustimmt, müssen Sie den SetupIntent bestätigen. Verwenden Sie confirmSetup, um den Intent zu bestätigen.

import {confirmSetup} from '@stripe/stripe-react-native'; export default function MyPaymentScreen() { const [name, setName] = useState(''); const handleCollectBankAccountPress = async () => { // See above }; const handlePayPress = async () => { // use the same clientSecret as earlier, see above const {error, setupIntent} = await confirmSetup(clientSecret, { type: 'USBankAccount', }); if (error) { Alert.alert(`Error code: ${error.code}`, error.message); } else if (setupIntent) { if (setupIntent.status === SetupIntents.Status.Processing) { // The debit has been successfully submitted and is now processing } else if ( setupIntent.status === SetupIntents.Status.RequiresAction && setupIntent?.nextAction?.type === 'verifyWithMicrodeposits' ) { // The payment must be verified with `verifyMicrodepositsForPayment` } else { Alert.alert('Payment status:', setupIntent.status); } } }; return ( <PaymentScreen> <TextInput placeholder="Name" onChange={(value) => setName(value.nativeEvent.text)} /> <Button onPress={handleCollectBankAccountPress} title="Collect bank account" /> <Button onPress={handlePayPress} title="Pay" /> </PaymentScreen> ); }

Bei erfolgreicher Ausführung gibt Stripe ein SetupIntent-Objekt mit einem der folgenden möglichen Status zurück:

StatusBeschreibungNächste Schritte
SucceededDas Bankkonto wurde sofort verifiziert oder eine Verifizierung war nicht notwendig.Keine Aktion erforderlich
RequiresActionDie Überprüfung des Bankkontos erfordert weitere Maßnahmen.Schritt 6: Bankkonten mit Testeinzahlungen verifizieren

Nach erfolgreicher Bestätigung des SetupIntent muss eine E-Mail-Bestätigung des Mandats und der erfassten Bankkontodaten an Ihren Kunden/Ihre Kundin gesendet werden. Stripe kümmert sich standardmäßig darum, aber Sie können auch nutzerdefinierte Benachrichtigungen senden, wenn Sie dies vorziehen.

Bankkonto mit Testeinzahlungen verifizieren
Clientseitig

Nicht alle Kund/innen können ihr Bankkonto sofort verifizieren. In diesen Fällen sendet Stripe eine Testeinzahlung an das Bankkonto. Es kann bis zu 1–2 Werktage dauern, bis diese Testeinzahlung auf dem Online-Kontoauszug des/der Kund/in angezeigt wird. Diese Einzahlung kann eine der beiden folgenden Formen haben:

  • Code der Zahlungsbeschreibung. Stripe sendet eine einzelne Mikroeinzahlung über 0,01 USD an das Bankkonto des/der Kund/in mit einem einmaligen, 6-stelligen descriptorCode, der mit SM beginnt. Ihr/e Kund/in verwendet diese Zeichenfolge, um sein/ihr Bankkonto zu verifizieren.
  • Betrag: Stripe sendet zwei nicht eindeutige Testeinzahlungen an das Kundenbankkonto, wobei ACCTVERIFY als Zahlungsbeschreibung in der Abrechnung angegeben ist. Ihre Kundin/Ihr Kunde verwendet die Einzahlungsbeträge zur Verifizierung des Bankkontos.

Das Ergebnis des Aufrufs der Methode confirmSetup im vorhergehenden Schritt ist ein SetupIntent mit dem Status requiresAction. Der SetupIntent enthält das Feld next_action, das einige nützliche Informationen zum Abschließen der Verifizierung enthält.

nextAction: { type: 'verifyWithMicrodeposits'; redirectUrl: "https://payments.stripe.com/…", microdepositType: "descriptor_code"; arrivalDate: "1647586800"; }

Wenn Sie eine E-Mail-Adresse für die Rechnungsstellungl angegeben haben, verwendet Stripe diese E-Mail-Adresse, um Ihren Kunden/Ihre Kundin zu benachrichtigen, wann wir den Eingang der Einzahlungen erwarten. Die E-Mail enthält einen Link zu einer von Stripe gehosteten Verifizierungsseite, auf der der Kunde/die Kundin die Beträge der Einzahlungen bestätigen und die Verifizierung abschließen kann.

Achtung

Verifizierungsversuche dürfen für beschreibungsbasierte Testeinzahlungen bis zu 10 mal und für betragsbasierte bis zu 3 mal fehlschlagen. Wenn Sie dieses Limit überschreiten, können wir das Bankkonto nicht mehr verifizieren. Darüber hinaus gilt für Verifizierungen von Testeinzahlungen eine Zeitüberschreitung von 10 Tagen. Werden Testeinzahlungen nicht innerhalb dieser Zeit verifiziert, fordert der PaymentIntent wieder neue Angaben zur Zahlungsmethode an. Wenn Sie Ihren Kund/innen genau erläutern, was Testeinzahlungen sind und wie sie verwendet werden, können Sie Probleme bei der Verifizierung vermeiden.

Wenn Sie wissen, dass sich die Zahlung im Zustand requiresAction befindet und nextAction den Typ verifyWithMicrodeposits aufweist, können Sie die Verifizierung des Bankkontos auf zwei Arten abschließen:

  1. Überprüfen Sie die Einzahlungen direkt in Ihrer App, indem Sie verifyMicrodepositsForSetup aufrufen, nachdem Sie entweder den Beschreibungscode oder die Beträge erfasst haben.
import { verifyMicrodepositsForSetup } from '@stripe/stripe-react-native'; export default function MyPaymentScreen() { const [verificationText, setVerificationText] = useState(''); return ( <TextInput placeholder="Descriptor code or comma-separated amounts" onChange={(value) => setVerificationText(value.nativeEvent.text)} // Validate and store your user's verification input /> <Button title="Verify microdeposit" onPress={async () => { const { paymentIntent, error } = await verifyMicrodepositsForSetup(secret, { // Provide either the descriptorCode OR amounts, not both descriptorCode: verificationText, amounts: verificationText, }); if (error) { Alert.alert(`Error code: ${error.code}`, error.message); } else if (paymentIntent) { Alert.alert('Payment status:', paymentIntent.status); } }} /> ); }
  1. Verwenden Sie die von Stripe gehostete Verifizierungsseite, die wir automatisch für Sie bereitstellen. Verwenden Sie dazu die URL nextAction[redirectUrl] im Objekt nextAction (siehe oben), um Ihre Kund/inn zum Abschluss des Verifizierungsprozesses zu leiten.
const {error, setupIntent} = await confirmSetup(clientSecret, { type: 'USBankAccount', }); if (error) { Alert.alert(`Error code: ${error.code}`, error.message); } else if (setupIntent) { if ( setupIntent.status === SetupIntents.Status.RequiresAction && setupIntent?.nextAction?.type === 'verifyWithMicrodeposits' ) { // Open the Stripe-hosted verification page Linking.openURL(setupIntent.nextAction.redirectUrl); } else { Alert.alert('Payment status:', setupIntent.status); } }

Wenn das Bankkonto erfolgreich verifiziert wurde, gibt Stripe das SetupIntent-Objekt mit dem status Succeeded zurück und übermittelt das Webhook-Ereignis setup_intent.succeeded.

Die Verifizierung kann aus unterschiedlichen Gründen fehlschlagen. Der Fehler kann synchron als direkte Fehlermeldung oder asynchron über das Webhook-Ereignis setup_intent.setup_failed auftreten (wie in den folgenden Beispielen dargestellt).

{ "error": { "code": "payment_method_microdeposit_verification_amounts_mismatch", "message": "The amounts provided do not match the amounts that were sent to the bank account. You have {attempts_remaining} verification attempts remaining.", "type": "invalid_request_error" } }
FehlercodeSynchron oder asynchronNachrichtÄnderung des Status
payment_method_microdeposit_failedSynchron oder asynchron über ein Webhook-EreignisDie Testeinzahlungen sind fehlgeschlagen. Bitte überprüfen Sie die Kontonummer, die Finanzinstitutsnummer und die bereitgestellte Transitnummer.status ist requires_payment_method, und last_setup_error ist festgelegt.
payment_method_microdeposit_verification_amounts_mismatchSynchronDie angegebenen Beträge stimmen nicht mit den Beträgen überein, die auf das Bankkonto eingezahlt wurden. Sie haben noch {attempts_remaining} Verifizierungsversuche.Unverändert
payment_method_microdeposit_verification_attempts_exceededSynchron oder asynchron über ein Webhook-EreignisAnzahl zulässiger Verifizierungsversuche wurde überschrittenstatus ist requires_payment_method, und last_setup_error ist festgelegt.
payment_method_microdeposit_verification_timeoutAsynchron über ein Webhook-EreignisFrist für Testeinzahlung abgelaufen. Der/die Kund/in hat das Bankkonto nicht innerhalb der Frist von 10 Tagen verifiziert.status ist requires_payment_method, und last_setup_error ist festgelegt.

Integration testen

Erfahren Sie, wie Sie Szenarien mit sofortigen Verifizierungen mithilfe von Financial Connections testen können.

Transaktions-E-Mails in einer Sandbox senden

Nachdem Sie die Bankkontodetails erfasst und ein Mandat akzeptiert haben, senden Sie die Mandatsbestätigung und die Verifizierungs-E-Mails mit Testeinzahlungen in einer Sandbox.

If your domain is {domain} and your username is {username}, use the the following email format to send test transaction emails: {username}+test_email@{domain}.

For example, if your domain is example.com and your username is info, use the format info+test_email@example.com for testing ACH Direct Debit payments. This format ensures that emails route correctly. If you don’t include the +test_email suffix, we won’t send the email.

Häufiger Fehler

Sie müssen Ihr Stripe-Konto aktivieren, bevor Sie diese E-Mails beim Testen auslösen können.

Testkontonummern

Stripe stellt mehrere Testkontonummern und dazugehörige Token zur Verfügung, um sicherzustellen, dass Ihre Integration für Bankkonten mit manueller Eingabe für den Einsatz in einer Produktionsumgebung bereit ist.

KontonummerTokenBankleitzahlVerhalten
000123456789pm_usBankAccount_success110000000Die Zahlung ist erfolgreich.
000111111113pm_usBankAccount_accountClosed110000000Die Zahlung schlägt fehl, weil das Konto geschlossen ist.
000000004954pm_usBankAccount_riskLevelHighest110000000Die Zahlung wird von Radar aufgrund eines hohen Betrugsrisikos blockiert.
000111111116pm_usBankAccount_noAccount110000000Die Zahlung schlägt fehl, weil kein Konto gefunden wird.
000222222227pm_usBankAccount_insufficientFunds110000000Die Zahlung schlägt aufgrund unzureichender Deckung fehl.
000333333335pm_usBankAccount_debitNotAuthorized110000000Die Zahlung schlägt fehl, weil die Lastschriften nicht autorisiert sind.
000444444440pm_usBankAccount_invalidCurrency110000000Die Zahlung schlägt aufgrund einer ungültigen Währung fehl.
000666666661pm_usBankAccount_failMicrodeposits110000000Die Zahlung sendet keine Testeinzahlungen.
000555555559pm_usBankAccount_dispute110000000Die Zahlung löst eine Zahlungsanfechtung aus.
000000000009pm_usBankAccount_processing110000000Die Zahlung bleibt auf unbestimmte Zeit in Bearbeitung. Dies ist hilfreich beim Testen von PaymentIntent-Stornierungen.
000777777771pm_usBankAccount_weeklyLimitExceeded110000000Die Zahlung schlägt aufgrund des Zahlungsbetrags fehl, wodurch das Konto sein wöchentliches Zahlungsvolumenlimit überschreitet.

Bevor Testtransaktionen abgeschlossen werden können, müssen Sie alle Testkonten verifizieren, auf denen die Zahlung automatisch erfolgreich war oder fehlschlagen ist. Verwenden Sie dazu die nachstehenden Test-Mikroeinzahlungsbeträge oder Beschreibungscodes.

Testen von Mikroeinzahlungen und Beschreibungscodes

Um verschiedene Szenarien zu imitieren, verwenden Sie diese Mikroeinzahlungsbeträge oder 0,01 Beschreibungscodewerte.

Testeinzahlungswerte0.01 BeschreibungscodewerteSzenario
32 und 45SM11AASimuliert die Verifizierung des Kontos.
10 und 11SM33CCSimuliert das Überschreiten der Anzahl zulässiger Verifizierungsversuche.
40 und 41SM44DDSimuliert ein Testeinzahlungs-Timeout.

Abwicklungsverhalten testen

Testtransaktionen werden sofort abgewickelt und Ihrem verfügbaren Testguthaben hinzugefügt. Dieses Verhalten unterscheidet sich vom Live-Modus, bei dem es mehrere Tage dauern kann, bis Transaktionen Ihrem verfügbaren Guthaben gutgeschrieben werden.

Künftige Zahlungen annehmen
Serverseitig

Ist der SetupIntent erfolgreich, wird eine neue PaymentMethod erstellt, die an den/die Kunden/Kundin angehängt ist. Damit können künftige Zahlungen eingeleitet werden, ohne dass der Kunde/die Kundin das Bankkonto erneut angeben muss.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method"="{{PAYMENT_METHOD_ID}}" \ -d "payment_method_types[]"="us_bank_account" \ -d "confirm"="true"

OptionalNur Sofortverifizierung
Serverseitig

OptionalVerifizierung ausschließlich durch Testeinzahlung
Serverseitig

OptionalStandard-Zahlungsmethode aktualisieren
Serverseitig

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