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.
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.
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
importStripe
importStripePaymentSheet
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 detailslet paymentIntentParams =STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)let cardParams = cardTextField.cardParams
let paymentMethodParams =STPPaymentMethodParams(card: cardParams, billingDetails:nil, metadata:nil)
paymentIntentParams.paymentMethodParams = paymentMethodParams
Um direkt auf die STPPaymentMethodCardParams zuzugreifen, verwenden Sie .paymentMethodParams.card.
Vorher
Nachher
var cardTextField:STPPaymentCardTextFieldlet cardParams = cardTextField.cardParams
var cardTextField:STPPaymentCardTextField// STPPaymentCardTextField will never return a nil .cardlet 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:STPPaymentCardTextFieldlet 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]funcapplication(_ app:UIApplication, open url:URL, options:[UIApplication.OpenURLOptionsKey:Any]=[:])->Bool{returnStripe.handleURLCallback(with: url)}
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
StripeAPI.additionalEnabledApplePayNetworks =[.JCB]funcapplication(_ app:UIApplication, open url:URL, options:[UIApplication.OpenURLOptionsKey:Any]=[:])->Bool{returnStripeAPI.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.