Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
API et SDKAide
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Essentials
SDK
    Présentation
    SDK côté serveur
    Web
    Module ES Stripe.js
    React Stripe.js
    Assistant de test Stripe.js
    Appareils mobiles
    SDK iOS
    SDK Android
    SDK React Native
    Migrate to iOS SDK 25
    Migrate to Android SDK 22
    Terminal
    SDK iOS
    SDK Android
    SDK React Native
    Communauté
    SDK de la communauté
API
Tests
CLI Stripe
Exemples de projets
Outils
Dashboard Stripe
Workbench
Dashboard des développeurs
Shell Stripe
Stripe pour Visual Studio Code
Fonctionnalités
Workflows
Destinations d'événements
Alertes d'intégrité de StripeChargements de fichiers
Solutions d'IA
Boîte à outils des agents
Modèle de protocole contextuelCréer des flux de facturation SaaS avec l’IA agentique
Sécurité et confidentialité
Sécurité
Robot d'exploration Web Stripebot
Confidentialité
Extensions Stripe
Créer des applications Stripe
Utiliser les applications de Stripe
Partenaires
Partner ecosystem
Certification des partenaires
États-Unis
Français (France)
AccueilRessources pour les développeursSDKs

Migrate to Stripe iOS SDK 25

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.

v25

Migration instructions can be found here.

v24

PaymentSheet

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.

ModulesFonctionnalitésFormat compressé
StripePaymentSheetL’interface utilisateur de paiement préconfigurée de Stripe.2,7 Mo
StripeContient tous les frameworks ci-dessous, ainsi que Issuing et l’intégration de base.2,2 Mo
StripePaymentsLiaisons pour l’API Stripe Payments.1,1 Mo
StripePaymentsUILiaisons pour l’API Stripe Payments, STPPaymentCardTextField, STPCardFormView et d’autres éléments d’interface utilisateur.1,7 Mo
StripeApplePayPrise en charge d’Apple Pay, y compris STPApplePayContext.0,4 Mo

Installation de modules

Ajoutez le module sélectionné (p. ex. « StripePaymentSheet ») à la cible de votre application.

PaymentSheet

Pour utiliser PaymentSheet, vous devez explicitement importer le module StripePaymentSheet.

Avant
Après
import Stripe
import StripePaymentSheet

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.

Avant
Après
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

Utilisation avancée du champ carte

Pour accéder directement à STPPaymentMethodCardParams , utilisez .paymentMethodParams.card.

Avant
Après
var cardTextField: STPPaymentCardTextField let cardParams = cardTextField.cardParams
var cardTextField: STPPaymentCardTextField // STPPaymentCardTextField will never return a nil .card 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.

Avant
Après
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.

  • 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] 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) }

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.

Avant
Après
STPPaymentConfiguration.shared.additionalPaymentOptions = [.fpx]
STPPaymentConfiguration.shared.applePayEnabled = false STPPaymentConfiguration.shared.fpxEnabled = true

Gestion des erreurs

Les constantes STPError internationales sont désormais dans la catégorie STPError.

Avant
Après
if (error.userInfo[STPCardErrorCodeKey] == STPInvalidNumber) { return "Invalid card number" }
if (error.userInfo[STPError.cardErrorCodeKey] == STPCardErrorCode.invalidNumber) { return "Invalid card number" }

STPTheme

STPTheme.default() est désormais STPTheme.defaultTheme.

Avant
Après
STPTheme.default().primaryForegroundColor = .systemRed
STPTheme.defaultTheme.primaryForegroundColor = .systemRed
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc