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

Eine Karte ohne Bankauthentifizierung speichern

Erfassen Sie Kartendaten in Ihrer mobilen App und belasten Sie Ihren Kunden/Ihre Kundin zu einem späteren Zeitpunkt.

Mit Stripe haben Sie die Möglichkeit, Kartendaten Ihrer Kund/innen vorab zu erfassen und die Belastung zu einem späteren Zeitpunkt durchzuführen. In einigen Regionen erfordern Banken eine zweite Authentifizierungsmethode, z. B. die Eingabe eines Codes über ein Mobilgerät. Der zusätzliche Schritt wirkt sich negativ auf die Konversionsrate auf, wenn Kund/innen Ihre Website oder Anwendung nicht aktiv nutzen und den Kauf nicht direkt authentifizieren können.

Wenn Sie überwiegend in den USA und Kanada tätig sind, erfordern die Banken keine Authentifizierung und Sie können diese einfachere Integration verwenden. Diese Integration ist in Ländern, die eine Authentifizierung für das Speichern von Karten erfordern (z. B. Indien), nicht konform und hat zur Folge, dass für eine Expansion in andere Länder oder für zusätzliche Zahlungsmethoden grundlegende Änderungen an der Integration notwendig sind. Hier erfahren Sie, wie Sie Karten speichern, die eine Authentifizierung erfordern.

Konformität

Sie sind für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich, wenn Sie die Zahlungsdaten eines Kunden/einer Kundin speichern. Zum Beispiel für den Fall, dass Sie seine/ihre Zahlungsmethode für die zukünftige Nutzung speichern möchten, wenn er/sie Ihre Website oder App nicht aktiv nutzt. Fügen Sie Ihrer Website oder App Bedingungen hinzu, die angeben, wie Sie die Details zur Zahlungsmethode speichern und Kund/innen die Möglichkeit geben, sich anzumelden. Wenn Sie Zahlungen offline vornehmen möchten, stellen Sie sicher, dass Ihre Bedingungen Folgendes enthalten:

  • Die kundenseitige Zustimmung, eine Zahlung oder mehrere Zahlungen für bestimmte Transaktionen in deren Namen einzuleiten.
  • Der erwartete Zeitpunkt und die voraussichtliche Häufigkeit von Zahlungen (z. B. Zahlungen für geplante Raten- oder Abonnementzahlungen oder für außerplanmäßige Aufstockungen).
  • Wie Sie den Zahlbetrag ermitteln.
  • Ihre Stornorichtlinie, wenn die Zahlungsmethode für einen Abonnementdienst ist.

Dokumentieren Sie unbedingt die schriftliche Zustimmung Ihrer Kundinnen und Kunden zu diesen Bedingungen.

Stripe einrichten
Serverseitig
Clientseitig

Zunächst benötigen Sie ein Stripe-Konto. Jetzt regristrieren.

Richten Sie das iOS- und das Server-Stripe-SDK ein, bevor Sie mit der Integration beginnen.

Serverseitig

Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken:

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 Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.

Führen Sie zur Installation des SDK die folgenden Schritte aus:

  1. Wählen Sie in Xcode Datei > Add Package Dependencies (Paketabhängigkeiten hinzufügen) aus und geben Sie als Repository-URL https://github.com/stripe/stripe-ios-spm ein.
  2. Wählen auf unserer Veröffentlichungsseite die neueste Version aus.
  3. Fügen Sie das Produkt StripePaymentsUI zum Ziel Ihrer App hinzu.

Notiz

Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository.

Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe, um es beim Start der App auszuführen. Dadurch kann Ihre App Anfragen an die Stripe-API senden.

AppDelegate.swift
Swift
import UIKit import StripePaymentsUI @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
// do any other necessary launch configuration return true } }

Notiz

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

Kartendaten erfassen
Clientseitig

Zeigen Sie Ihren Kundinnen und Kunden zunächst ein Zahlungsformular an. Erfassen Sie ihre Kartendaten mit STPPaymentCardTextField, einer Drop-In-Komponente der Nutzeroberfläche aus dem SDK, die die Kartennummer, das Ablaufdatum, die Prüfziffer (CVC) und die Postleitzahl erfasst.

STPPaymentCardTextField führt Validierung und Formatierung dynamisch aus.

Übergeben Sie die Kartendaten an [createPaymentMethod(https://stripe.dev/stripe-ios/stripe-payments/Classes/STPAPIClient.html#/c:@CM@StripePayments@StripeCore@objc(cs)STPAPIClient(im)createPaymentMethodWithPayment:completion:), um eine PaymentMethod] zu erstellen.

CheckoutViewController.swift
Swift
class CheckoutViewController: UIViewController { lazy var cardTextField: STPPaymentCardTextField = { let cardTextField = STPPaymentCardTextField() return cardTextField }() @objc func pay() { // Collect card details on the client STPAPIClient.shared.createPaymentMethod(with: cardTextField.paymentMethodParams) { [weak self] paymentMethod, error in guard let paymentMethod = paymentMethod else { // Display the error to the user return } let paymentMethodId = paymentMethod.stripeId // Send paymentMethodId to your server for the next steps } } }

Schicken Sie die daraus resultierende PaymentMethod-ID an Ihren Server und befolgen Sie die restlichen Schritte, um die Karte bei einem Kunden zu speichern und künftig diese Karte zu belasten.

Karte speichern
Serverseitig

Speichern Sie die Karte, indem Sie die PaymentMethod einem Kunden/einer Kundin zuordnen. Sie können das Customer-Objekt verwenden, um weitere Informationen über Ihre Kundinnen/Kunden zu speichern, z. B. Versanddaten und E-Mail-Adresse.

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

Wenn bereits ein Kunde besteht, können Sie die PaymentMethod stattdessen an dieses Objekt anhängen.

Command Line
cURL
curl https://api.stripe.com/v1/payment_methods/{{PAYMENT_METHOD_ID}}/attach \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}

Verknüpfen Sie anschließend die ID des Customer-Objekts und die ID der PaymentMethod mit Ihrer eigenen Kundenrepräsentation, falls vorhanden.

Die gespeicherte Karte belasten
Serverseitig

Wenn Sie eine Kundenzahlung verarbeiten möchten, suchen Sie nach der PaymentMethod-ID, die Sie belasten möchten. Dies können Sie entweder durch Speichern der IDs beider Objekte in Ihrer Datenbank tun oder indem Sie anhand der Kunden-ID nach allen für das Customer-Objekt verfügbaren PaymentMethods suchen.

Command Line
cURL
curl -G https://api.stripe.com/v1/payment_methods \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d type=card

Verwenden Sie die PaymentMethod-ID und die Kunden-ID, um einen neuen PaymentIntent zu erstellen. Legen Sie den Wert error_on_requires_action auf „true“ fest, um Zahlungen abzulehnen, die weitere Aktionen von Ihren Kundinnen/Kunden erfordern, wie z. B. die Zwei-Faktor-Authentifizierung.

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 customer=
{{CUSTOMER_ID}}
\ -d payment_method={{PAYMENT_METHOD_ID}} \ -d error_on_requires_action=true \ -d confirm=true

Schlägt ein Zahlungsversuch fehl, schlägt auch die Anfrage mit einem HTTP-Statuscode 402 fehl und Stripe gibt eine Fehlermeldung aus. Sie müssen Ihre Kundinnen/Kunden auffordern, zu Ihrer Anwendung zurückzukehren (z. B. indem Sie eine In-App-Benachrichtigung senden), um die Zahlung abzuschließen. Überprüfen Sie den Code des von der Stripe API Library ausgelösten Fehlers oder überprüfen Sie den last_payment_error.decline_code auf dem PaymentIntent, um zu erfahren, warum der Kartenaussteller die Zahlung abgelehnt hat.

Umgang mit Kartenfehlern

Benachrichtigen Sie Ihren Kunden/Ihre Kundin, dass die Zahlung fehlgeschlagen ist und verweisen Sie sie/ihn auf das Bezahlformular, das Sie in Schritt 1 erstellt haben. Dort kann er/sie seine Kartendaten neu eingeben. Senden Sie die neue PaymentMethod-ID an Ihren Server, um sie an das Kundenobjekt anzufügen und die Zahlung erneut durchzuführen.

Alternativ können Sie in einem einzigen API-Aufruf eine PaymentIntent erstellen und eine Karte speichern, wenn Sie bereits einen Kunden/eine Kundin erstellt haben.

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 customer=
{{CUSTOMER_ID}}
\ -d payment_method={{PAYMENT_METHOD_ID}} \ -d error_on_requires_action=true \ -d confirm=true \ -d setup_future_usage=on_session

Indem setup_future_usage auf on_session gesetzt wird, erhält Stripe die Nachricht, dass Sie die Karte für später speichern möchten, ohne dass eine unnötige Authentifizierung eingeleitet wird.

Integration testen

Stripe stellt Testkarten bereit, die Sie in einer Sandbox verwenden können, um das Verhalten verschiedener Karten zu simulieren. Die Karten können Sie mit beliebigen Prüfziffern/CVCs, Postleitzahlen und Ablaufterminen in der Zukunft verwenden.

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 mit dem Code authentication_required führt.

OptionalCVC erneut erfassen

Upgrade Ihrer Integration zur Authentifizierung von Karten

Diese Integration lehnt Karten ab, die während der Zahlung eine Authentifizierung erfordern. Wenn viele Zahlungen im Dashboard als Failed angezeigt werden, ist es an der Zeit, Ihre Integration zu aktualisieren. Die globale Integration von Stripe verarbeitet diese Zahlungen, statt sie automatisch abzulehnen.

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