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
Versionierung
Änderungsprotokoll
Aktualisieren Sie Ihre API-Version
Ihre SDK-Version aktualisieren
Essentials
SDKs
    Übersicht
    Serverseitige SDKs
    Internet
    ES-Modul Stripe.js
    React Stripe.js
    Stripe.js-Test-Assistent
    Mobil
    iOS SDK
    Android SDK
    React Native SDK
    Migrate to iOS SDK 25
    Migrate to Android SDK 22
    Terminal
    iOS SDK
    Android SDK
    React Native SDK
    Gemeinde
    Community-SDKs
API
Tests
Stripe-CLI
Beispiel-Projekte
Tools
Stripe Dashboard
Workbench
Entwickler-Dashboard
Stripe Shell
Stripe für Visual Studio Code
Funktionen
Arbeitsabläufe
Ereignisziele
Stripe-StatuswarnungenHochgeladene Dateien
KI-Lösungen
Agent-Toolkit
Model Context ProtocolAgentische KI-SaaS-Billing-Workflows aufbauen
Sicherheit und Datenschutz
Sicherheit
Stripebot-Webcrawler
Datenschutz
Extend Stripe
Erstellen Sie Stripe-Apps
Verwenden Sie Apps von Stripe
Partner
Partner-Ecosystem
Partner-Zertifizierung
Vereinigte Staaten
Deutsch
StartseiteEntwicklerressourcenSDKs

Migrate to Stripe iOS SDK 25

Migrieren Sie Ihre Swift- und Objective-C-Apps zu unserer neuesten iOS SDK-Hauptversion.

This migration guide helps you update your iOS app to use the latest Stripe SDK. It’s especially helpful if you’re coming from old (pre v21) SDK versions.

Anforderungen

  • The latest SDK requires Xcode 15 or later. The minimum deployment target is iOS 13.

v25

Migration instructions can be found here.

v24

PaymentSheet

PaymentSheet zeigt Zahlungsmethoden entweder in einem vertikalen oder horizontalen Layout an. Vor dieser Hauptversion wurde für PaymentSheet standardmäßig ein horizontales Layout verwendet. Jetzt optimiert Stripe das Layout automatisch. Um stattdessen ein bestimmtes Layout festzulegen, legen Sie die Eigenschaft PaymentSheet.Configuration.paymentMethodLayout entweder auf .horizontal oder .vertical fest.

Mit diesem Beispielcode wird das Layout auf horizontal, den vorherigen Standardwert, zurückgesetzt.

var configuration = PaymentSheet.Configuration() configuration.paymentMethodLayout = .horizontal

Basisintegration

Wir unterstützen unsere ältere Basisintegration nicht mehr für das Einziehen von Kreditkarten- und Wallet-Zahlungen.

Wenn Ihre App auf einer der folgenden APIs basiert, verwendet sie die Basisintegration. Befolgen Sie diesen Migrationsleitfaden, um zum Mobile Payment Element zu migrieren.

  • STPCustomerContext
  • STPPaymentContext
  • STPPaymentOptionsViewController
  • STPAddCardViewController
  • STPShippingAddressViewController

v23

Module

Das SDK ist jetzt in separate Module aufgeteilt. Sie können die Paketgröße Ihrer App reduzieren, indem Sie nur die Module aufnehmen, die Sie benötigen.

ModulFunktionenKomprimierte Größe
StripePaymentSheetVorgefertigte Zahlungsnutzeroberfläche von Stripe.2,7 MB
** Stripe**Enthält alle unten aufgeführten Frameworks sowie Issuing und die Basisintegration.2,2 MB
StripePaymentsBindings für die Stripe Payments API.1,1 MB
StripePaymentsUIBindings für die Stripe Payments API, STPPaymentCardTextField, STPCardFormView und andere Nutzeroberflächenelemente.1,7 MB
StripeApplePayUnterstützung von Apple Pay, einschließlich STPApplePayContext.0,4 MB

Modulinstallation

Fügen Sie das ausgewählte Modul (z. B. „StripePaymentSheet“) zum Ziel Ihrer App hinzu.

PaymentSheet

Um PaymentSheet zu verwenden, müssen Sie das Modul StripePaymentSheet explizit importieren.

Vorher
Nachher
import Stripe
import StripePaymentSheet

Kartenfeld

SDK 23 ersetzt den Parameter .cardParams von STPPaymentCardTextField durch .paymentMethodParams, wodurch die Postleitzahl der Kundinnen und Kunden einfacher erfasst werden kann.

In den meisten Fällen können Sie jetzt cardTextField.paymentMethodParams direkt an die Stripe API übergeben.

Vorher
Nachher
var cardTextField: STPPaymentCardTextField // Collect card details let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) let cardParams = cardTextField.cardParams let paymentMethodParams = STPPaymentMethodParams(card: cardParams, billingDetails: nil, metadata: nil) paymentIntentParams.paymentMethodParams = paymentMethodParams
var cardTextField: STPPaymentCardTextField // Collect card details let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) paymentIntentParams.paymentMethodParams = cardTextField.paymentMethodParams

Erweiterte Kartenfeldnutzung

Um direkt auf die STPPaymentMethodCardParams zuzugreifen, verwenden Sie .paymentMethodParams.card.

Vorher
Nachher
var cardTextField: STPPaymentCardTextField let cardParams = cardTextField.cardParams
var cardTextField: STPPaymentCardTextField // STPPaymentCardTextField will never return a nil .card let cardParams = cardTextField.paymentMethodParams.card!

cardTextField.paymentMethodParams gibt eine Kopie zurück. Legen Sie cardTextField.paymentMethodParams.card niemals direkt fest. Wenn Sie die Karteninformationen festlegen müssen, legen Sie cardTextField.paymentMethodParams auf eine neue Instanz von STPPaymentMethodParams fest.

Vorher
Nachher
var cardTextField: STPPaymentCardTextField cardTextField.cardParams = myCardParams
var cardTextField: STPPaymentCardTextField let paymentMethodParams = STPPaymentMethodParams(card: myCardParams, billingDetails: nil, metadata: nil) cardTextField.paymentMethodParams = paymentMethodParams

v22

The minimum iOS deployment target was changed to iOS 12 in this version.

v21

The SDK was re-written in Swift, and some manual changes are required.

  • Nutzer/innen von Cocoapods müssen auf Cocoapods 1.10 oder neuer aktualisieren.

Stripe-Klasse

Die Klasse Stripe hat jetzt die Bezeichnung StripeAPI.

Vorher
Nachher
Stripe.setDefaultPublishableKey(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) Stripe.additionalEnabledApplePayNetworks = [.JCB] func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { return Stripe.handleURLCallback(with: url) }
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
StripeAPI.additionalEnabledApplePayNetworks = [.JCB] func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { return StripeAPI.handleURLCallback(with: url) }

Eigenschaften

Einige setX()-Funktionen sind jetzt Eigenschaften in Swift.

Vorher
Nachher
Stripe.setDefaultPublishableKey(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
)
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"

STPPaymentConfiguration

Bei der Einstellung additionalPaymentOptions von STPPaymentConfiguration handelt es sich jetzt um zwei boolesche Werte: applePayEnabled und fpxEnabled.

Vorher
Nachher
STPPaymentConfiguration.shared.additionalPaymentOptions = [.fpx]
STPPaymentConfiguration.shared.applePayEnabled = false STPPaymentConfiguration.shared.fpxEnabled = true

Fehlerbehebung

Globale STPError-Konstanten befinden sich jetzt in der Klasse STPError.

Vorher
Nachher
if (error.userInfo[STPCardErrorCodeKey] == STPInvalidNumber) { return "Invalid card number" }
if (error.userInfo[STPError.cardErrorCodeKey] == STPCardErrorCode.invalidNumber) { return "Invalid card number" }

STPTheme

STPTheme.default() ist jetzt STPTheme.defaultTheme.

Vorher
Nachher
STPTheme.default().primaryForegroundColor = .systemRed
STPTheme.defaultTheme.primaryForegroundColor = .systemRed
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