Migrez vos applications Swift et Objective-C vers notre dernière version majeure du SDK iOS.
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.
Exigences
The latest SDK requires Xcode 15 or later. The minimum deployment target is iOS 13.
PaymentSheet affiche les moyens de paiement dans une mise en page verticale ou horizontale. Avant cette version majeure, PaymentSheet adoptait par défaut une mise en page horizontale. Désormais, Stripe optimise automatiquement la mise en page. Pour plutôt définir une mise en page spécifique, définissez la propriété PaymentSheet.Configuration.paymentMethodLayout sur .horizontal ou .vertical.
Cet exemple de code rétablit la mise en page horizontale, celle par défaut précédente.
var configuration =PaymentSheet.Configuration()
configuration.paymentMethodLayout =.horizontal
Intégration de base
Nous ne prenons plus en charge notre ancienne intégration de base pour la collecte des paiements par carte et par wallet.
Si votre application repose sur l’une des API suivantes, elle utilise l’intégration de base. Migrez vers le Mobile Payment Element en suivant la procédure décrite dans le guide de migration.
STPCustomerContext
STPPaymentContext
STPPaymentOptionsViewController
STPAddCardViewController
STPShippingAddressViewController
v23
Modules
Le SDK est désormais scindé en modules distincts. Vous pouvez réduire la taille de l’offre groupée de votre application en n’incluant que les modules dont vous avez besoin.
Pour accéder directement à STPPaymentMethodCardParams , utilisez .paymentMethodParams.card.
Avant
Après
var cardTextField:STPPaymentCardTextFieldlet cardParams = cardTextField.cardParams
var cardTextField:STPPaymentCardTextField// STPPaymentCardTextField will never return a nil .cardlet cardParams = cardTextField.paymentMethodParams.card!
cardTextField.paymentMethodParams renvoie une copie. Ne définissez jamais cardTextField.paymentMethodParams.card directement. Si vous devez définir les informations de carte bancaire, définissez cardTextField.paymentMethodParams sur une nouvelle instance de STPPaymentMethodParams.
Avant
Après
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.
Les utilisateurs de Cocoapods doivent effectuer la mise à jour vers Cocoapods 1.10 ou une version ultérieure.
Catégorie de Stripe
La catégorie Stripe est désormais intitulée StripeAPI.
Avant
Après
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)}
Propriétés
Certaines fonctions setX() sont désormais des propriétés dans Swift.
Avant
Après
Stripe.setDefaultPublishableKey(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
)
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
STPPaymentConfiguration
Le paramètre additionalPaymentOptions de STPPaymentConfiguration est désormais défini sur deux valeurs booléennes : applePayEnabled et fpxEnabled.