Migration vers le SDK Stripe iOS 23
Migrez vos applications Swift et Objective-C vers notre SDK Swift modulaire.
Le SDK iOS de Stripe est désormais un ensemble de modules Swift, permettant des offres groupées d’applications plus petites et une meilleure prise en charge des API Swift.
Cette décision a nécessité des modifications de notre interface publique. Xcode vous proposera de mettre à jour automatiquement la majeure partie de votre code, mais vous devrez également apporter quelques modifications vous-même.
Exigences
Le SDK nécessite désormais Xcode 13.2.1 ou une version ultérieure. La cible de déploiement minimale est iOS 13.
PaymentSheet
Pour utiliser PaymentSheet, vous devez explicitement importer le module StripePaymentSheet
.
import StripePaymentSheet
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.
Installation de modules
Champ carte
Le SDK 23 remplace le paramètre .cardParams
de STPPaymentCardTextField
par .paymentMethodParams
, ce qui facilite la collecte du code postal du client.
Dans la plupart des cas, vous pouvez désormais transmettre le paramètre cardTextField.paymentMethodParams
directement à l’API Stripe.
var cardTextField: STPPaymentCardTextField
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)
let cardParams = cardTextField.cardParams
let paymentMethodParams = STPPaymentMethodParams(card: cardParams, billingDetails: nil, metadata: nil)
paymentIntentParams.paymentMethodParams = paymentMethodParams
var cardTextField: STPPaymentCardTextField
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)
paymentIntentParams.paymentMethodParams = cardTextField.paymentMethodParams
Utilisation avancée du champ carte
Pour accéder directement à STPPaymentMethodCardParams , utilisez .paymentMethodParams.card
.
var cardTextField: STPPaymentCardTextField
let cardParams = cardTextField.cardParams
var cardTextField: STPPaymentCardTextField
let 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
.
var cardTextField: STPPaymentCardTextField
cardTextField.cardParams = myCardParams
var cardTextField: STPPaymentCardTextField
let paymentMethodParams = STPPaymentMethodParams(card: myCardParams, billingDetails: nil, metadata: nil)
cardTextField.paymentMethodParams = paymentMethodParams