Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
    Übersicht
    Zahlungsformular
    Payment Element
    Address Element
    Ausgehender Link für In-App-Käufe
    Verwalten der Zahlungsmethoden in den Einstellungen
    Karten in den USA und Kanada
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenBuild an in-app integration

Zahlungsmethoden in den Einstellungen verwalten

Verwenden Sie das Einstellungsformular für Zahlungsmethoden, damit Ihre Kundinnen und Kunden ihre Zahlungsmethoden auf der Seite mit Ihren App-Einstellungen verwalten können.

Notiz

Das Einstellungsformular für Zahlungsmethoden ist für die Verwendung auf einer Seite mit App-Einstellungen vorgesehen. Verwenden Sie für den Bezahlvorgang und Zahlungen In-App Payments, das auch einen integrierten Support zum Speichern und Anzeigen von Zahlungsmethoden bietet und mehr Zahlungsmethoden unterstützt als das Einstellungsformular für Zahlungsmethoden.

Notiz

Im Code wird diese Komponente aus historischen Gründen als CustomerSheet bezeichnet. Wenn Sie CustomerSheet in Codebeispielen sehen, bezieht sich dies in der Dokumentation auf das Einstellungsformular für Zahlungsmethoden.

Das Einstellungsformular für Zahlungsmethoden ist eine Komponente der Nutzeroberfläche, mit der Ihre Kundinnen/Kunden ihre gespeicherten Zahlungsmethoden verwalten können. Sie können die Nutzeroberfläche des Einstellungsformular für Zahlungsmethoden außerhalb eines Bezahlvorgangs verwenden, und das Erscheinungsbild und das Design können an das Erscheinungsbild und die Ästhetik Ihrer App angepasst werden. Kundinnen/Kunden können Zahlungsmethoden, die im Kundenobjekt gespeichert werden, hinzufügen und entfernen und ihre lokal auf dem Gerät gespeicherte Standard-Zahlungsmethode festlegen. Nutzen Sie sowohl In-App Payments als auch das Einstellungsformular für Zahlungsmethoden, um Ihren Kundinnen/Kunden eine einheitliche, umfassende Lösung für gespeicherte Zahlungsmethoden zur Verfügung zu stellen.

Screenshot eines Einstellungsformular für Zahlungsmethoden mit mehreren gespeicherten Zahlungsmethoden in einer iOS-App.

CustomerAdapter verwendet Customer Ephemeral Keys und dient als Übergangslösung, mit der Nutzer/innen von Legacy-Produkten CustomerSheet schneller anwenden können. Wenn Sie eine neue Integration durchführen, empfehlen wir, anstatt CustomerSession lieber Customer Ephemeral Keys anzuwenden.

Stripe einrichten

Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.

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 StripePaymentSheet 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
No results
import UIKit import StripePaymentSheet @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.

Zahlungsmethoden aktivieren

Zeigen Sie Ihre Einstellungen für Zahlungsmethoden an und aktivieren Sie die Zahlungsmethoden, die Sie unterstützen möchten. Sie müssen mindestens eine Zahlungsmethode aktiviert haben, um einen SetupIntent zu erstellen.

Standardmäßig aktiviert Stripe Karten und andere gängige Zahlungsmethoden, mit denen Sie mehr Kundinnen und Kunden erreichen können. Wir empfehlen jedoch, zusätzliche Zahlungsmethoden zu aktivieren, die für Ihr Unternehmen und Ihre Kundschaft relevant sind. Weitere Informationen zur Unterstützung von Produkten und Zahlungsmethoden finden Sie auf der Seite Unterstützte Zahlungsmethoden und der Preisseite für Gebühren.

Notiz

CustomerSheet unterstützt nur Karten, US-Bankkonten und SEPA-Lastschrift.

Kunden-Endpoints hinzufügen
Serverseitig

Erstellen Sie zwei Endpoints auf Ihrem Server: einen zum Abrufen des temporären Schlüssels einer Kundin/eines Kunden und einen zum Erstellen eines SetupIntent zum Speichern einer neuen Zahlungsmethode für die Kundin/den Kunden.

  1. Erstellen Sie einen Endpoint, um eine Kunden-ID und einen zugehörigen temporären Schlüssel zurückzugeben. Die vom SDK verwendete API Version können Sie hier einsehen.
Command Line
curl
Ruby
Python
PHP
Node.js
Java
No results
# Create a Customer (skip this and get the existing Customer ID if this is a returning customer) curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "POST" curl https://api.stripe.com/v1/ephemeral_keys \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "POST" \ -d "customer"="{{CUSTOMER_ID}}" \
  1. Erstellen Sie einen Endpoint, um einen SetupIntent zurückzugeben, der mit der Kunden-ID konfiguriert ist.
Command Line
curl
Ruby
Python
PHP
Node.js
Java
No results
# Create a Customer (skip this and get the existing Customer ID if this is a returning customer) curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "POST" curl https://api.stripe.com/v1/setup_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \

Wenn Sie die Zahlungsmethode nur dann für zukünftige Zahlungen verwenden möchten, wenn Ihre Kundin/Ihr Kunde während des Bezahlvorgangs anwesend ist, setzen Sie den Nutzungsparameter auf on_session, um die Autorisierungsquoten zu verbessern.

Kundenadapter erstellen
Clientseitig

Ein StripeCustomerAdapter ermöglicht einem CustomerSheet die Kommunikation mit Stripe. Konfigurieren Sie auf dem Client einen StripeCustomerAdapter mit Anbietern, die Anfragen an diese Endpoints auf Ihrem Server stellen.

import StripePaymentSheet let customerAdapter = StripeCustomerAdapter(customerEphemeralKeyProvider: { let json = await myBackend.getCustomerEphemeralKey() return CustomerEphemeralKey(customerId: json["customerId"]!, ephemeralKeySecret: json["ephemeralKeySecret"]!) }, setupIntentClientSecretProvider: { let json = await myBackend.getSetupIntentForCustomer() return json["setupIntentClientSecret"]! })

Formular konfigurieren

Konfigurieren Sie als Nächstes das Einstellungsformular für Zahlungsmethoden mithilfe der Klasse CustomerSheet mit Ihrem StripeCustomerAdapter und einer CustomerSheet.Configuration.

var configuration = CustomerSheet.Configuration() // Configure settings for the CustomerSheet here. For example: configuration.headerTextForSelectionScreen = "Manage your payment method" let customerSheet = CustomerSheet(configuration: configuration, customer: customerAdapter)

Formular anzeigen

Zeigen Sie das Einstellungsformular für Zahlungsmethoden mithilfe des CustomerSheet an. Wenn die Kundin/der Kunde das Formular ablehnt, ruft das CustomerSheet den Abschlussblock mit einem CustomerSheet.SheetResult auf.

import StripePaymentSheet customerSheet.present(from: self, completion: { result in switch result { case .canceled(let paymentOption), .selected(let paymentOption): // Configure your UI based on the payment option self.paymentLabel.text = paymentOption?.displayData().label ?? "None" // Optional: Send the selected payment method ID to your backend for advanced use cases // like charging a customer when not present in your app if let paymentOption = paymentOption { switch paymentOption { case .paymentMethod(let paymentMethod, let paymentOptionDisplayData): MyBackend.setDefaultPaymentMethod(paymentMethod.stripeId) case .applePay(paymentOptionDisplayData: let paymentOptionDisplayData): MyBackend.setDefaultPaymentMethodIsApplePay() } } case .error(let error): // Show the error in your UI } })
  • Wenn der Kunde/die Kundin eine Zahlungsmethode auswählt, ist das Ergebnis .selected(PaymentOptionSelection?). Der zugehörige Wert ist die ausgewählte PaymentOptionSelection oder nil, wenn der/die Nutzer/in die zuvor ausgewählte Zahlungsmethode gelöscht hat. Die vollständigen Details zur Zahlungsmethode finden Sie im zugeordneten paymentMethod-Wert der PaymentOptionSelection.
  • Wenn der/die Nutzer/in das Formular abbricht, ist das Ergebnis .canceled. Der zugehörige Wert ist die ursprünglich vor dem Öffnen des Kundenformulars ausgewählte Zahlungsmethode, sofern diese noch verfügbar ist.
  • Wenn ein Fehler auftritt, ist das Ergebnis .error(Error).

Erfahren Sie mehr darüber, wie Sie Apple Pay aktivieren.

OptionalACH-Zahlungen optimieren

So aktivieren Sie ACH-Lastschriftzahlungen:

  1. Fügen Sie StripeFinancialConnections als Abhängigkeit in Ihrer App ein.
  2. Aktivieren Sie in den Einstellungen Ihres Dashboards die Zahlungsmethode für US-Bankkonten.

OptionalAusgewählte Zahlungsmethode abrufen

Um die Standardzahlungsmethode abzurufen, ohne das Einstellungsformular für Zahlungsmethoden anzuzeigen, rufen Sie retrievePaymentOptionSelection() im StripeCustomerAdapter auf.

let paymentMethodOption = try await customerAdapter.retrievePaymentOptionSelection() // Configure your UI based on the payment option self.paymentLabel.text = paymentOption?.displayData().label ?? "None" // Send the selected payment method ID to your backend switch paymentOption { case .paymentMethod(paymentMethod: let paymentMethod, paymentOptionDisplayData: let paymentOptionDisplayData): try await MyBackend.setDefaultPaymentMethod(paymentMethod.stripeId) case .applePay(paymentOptionDisplayData: let paymentOptionDisplayData): try await MyBackend.setDefaultPaymentMethodIsApplePay() }

OptionalFormular anpassen

Erscheinungsbild

Passen Sie mit der Appearance API die Farben, Schriftarten und andere Darstellungsattribute an das Erscheinungsbild Ihrer App an.

Verhalten

Um ein benutzerdefiniertes Verhalten zum Anhängen, Trennen und Auflisten gespeicherter Zahlungsmethoden hinzuzufügen, erstellen Sie eine Unterklasse StripeCustomerAdapter oder implementieren Sie Ihren eigenen Adapter, der CustomerAdapter entspricht.

class MyCustomerAdapter: StripeCustomerAdapter { override func fetchPaymentMethods() async throws -> [STPPaymentMethod] { let pms = try await super.fetchPaymentMethods() // Only return debit cards return pms.filter { $0.card?.funding == "debit" } } }

Notiz

fetchPaymentMethods kann gespeicherte Zahlungsmethoden herausfiltern und nicht anzeigen, hat aber keinen Einfluss auf die Art der Zahlungsmethoden, die hinzugefügt werden können.

Standardabrechnungsdetails

Um Standardwerte für die im Zahlungsformular erfassten Rechnungsdetails festzulegen, konfigurieren Sie die Eigenschaft defaultBillingDetails. Die Felder von CustomerSheet werden vorab mit den von Ihnen angegebenen Werten ausgefüllt.

var configuration = CustomerSheet.Configuration() configuration.defaultBillingDetails.address.country = "US" configuration.defaultBillingDetails.email = "foo@bar.com"

Erfassung der Rechnungsdetails

Verwenden Sie billingDetailsCollectionConfiguration, um anzugeben, wie Sie Rechnungsdetails im Zahlungsformular erfassen möchten.

Sie können den Namen, die E-Mail-Adresse, die Telefonnummer und die Adresse Ihrer Kundinnen und Kunden erfassen.

Um Werte zuzuordnen, die nicht von CustomerSheet erfasst werden, fügen Sie diese der Eigenschaft defaultBillingDetails hinzu und legen billingDetailsCollectionConfiguration.attachDefaultsToPaymentMethod auf true fest. Schließen Sie diesen Schritt unbedingt ab, wenn Sie nicht beabsichtigen, für die Zahlungsmethode erforderliche Werte zu erfassen.

var configuration = CustomerSheet.Configuration() configuration.defaultBillingDetails.email = "foo@bar.com" configuration.billingDetailsCollectionConfiguration.name = .always configuration.billingDetailsCollectionConfiguration.email = .never configuration.billingDetailsCollectionConfiguration.address = .full configuration.billingDetailsCollectionConfiguration.attachDefaultsToPaymentMethod = true

Notiz

Wenden Sie sich an Ihre Rechtsabteilung bezüglich der Gesetze, die für das Erfassen von Informationen gelten. Erfassen Sie Telefonnummern nur, wenn Sie diese für die Transaktionsabwicklung benötigen.

War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc