# Migrer de l'intégration de base vers la Payment Sheet Mettez à jour l'intégration de votre ancien SDK mobile avant que nous ne le supprimions du SDK. À compter du 4 novembre 2024, le [SDK iOS](https://github.com/stripe/stripe-ios), le [SDK Android](https://github.com/stripe/stripe-android) et le [SDK React Native](https://github.com/stripe/stripe-react-native) de Stripe ne prennent plus en charge notre ancienne intégration de base pour la collecte des paiements par carte de crédit et par portefeuille. - Pour utiliser les versions du SDK publiées après le 4 novembre 2024, vous devez supprimer les références du code de l’intégration de base dans votre application et effectuer une mise à niveau vers la Payment Sheet. - Vous pouvez toujours traiter les paiements avec les anciennes versions du SDK, mais vous risquez de ne pas obtenir les améliorations de sécurité essentielles et les nouvelles fonctionnalités. La mise à niveau vers la Payment Sheet vous donne accès à : - Plus de 100 moyens de paiement internationaux, y compris [Link](https://docs.stripe.com/payments/link/mobile-payment-element-link.md), le système de paiement accéléré de Stripe - La possibilité d’afficher les moyens de paiement enregistrés des acheteurs lors de leurs futurs achats - L’[API Appearance](https://docs.stripe.com/elements/appearance-api/mobile.md?platform=ios), qui vous permet de personnaliser l’apparence afin qu’elle corresponde à celle de votre application. ![Exemple d'avantages obtenus lors de la migration de l'intégration de base vers la Payment Sheet](https://b.stripecdn.com/docs-statics-srv/assets/mobile-bi-migration-to-mpe.df130554a0f82a3a3c84a6602944f823.png) Sur iOS, l’intégration de base inclut : - `STPCustomerContext` - `STPPaymentContext` - `STPPaymentOptionsViewController` - `STPAddCardViewController` - `STPShippingAddressViewController` Sur Android, l’intégration de base inclut : - `CustomerSession` - `PaymentSession` - `PaymentMethodsActivity` - `AddPaymentMethodActivity` - `PaymentFlowActivity` ## Migrer vers la Payment Sheet L’intégration de base est généralement utilisée de deux manières : 1. **Page de paiement** : les utilisateurs saisissent leur carte bancaire, puis cliquent sur un bouton dans votre application pour finaliser leur achat. 1. **Portefeuille** : les utilisateurs ajoutent une carte bancaire à votre application, puis utilisent cette carte bancaire pour payer plus tard dans un autre flux. Sélectionnez l’onglet ci-dessous correspondant à votre cas d’usage, soit la page de paiement, soit un portefeuille : #### Page de paiement Utilisez les guides d’intégration suivants pour implémenter la Payment Sheet sur une page de paiement dans vos applications : - [intégration iOS](https://docs.stripe.com/payments/accept-a-payment-deferred.md?platform=ios&type=payment&integration=paymentsheet-flowcontroller) - [Intégration Android](https://docs.stripe.com/payments/accept-a-payment-deferred.md?platform=android&type=payment&integration=paymentsheet-flowcontroller) Les guides d’intégration dont les liens figurent ci-dessus diffèrent du [guide d’intégration](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=mobile&platform=ios) par défaut de la Payment Sheet sur quelques points importants. ### Contrôleur de flux La Payment Sheet possède une variante appelée « contrôleur de flux » (importée du SDK sous la forme `PaymentSheet.FlowController`). Comme pour l’intégration de base, le contrôleur de flux vous permet de collecter les détails du paiement dans la feuille, puis de traiter le paiement lorsque l’utilisateur appuie sur un bouton de paiement final dans votre système de paiement. ### Heure de création de l’Intent Lors de la migration de l’intégration de base vers la Payment Sheet, créez l’intention après avoir rendu la feuille de paiement en indiquant l’objet `PaymentSheet.IntentConfiguration` pour la `PaymentSheet`. Configurez la propriété `mode` de votre objet `PaymentSheet.IntentConfiguration` sur `payment`, et indiquez le montant et la devise de la transaction. ### Configuration pour une utilisation ultérieure L’intégration de base permet aux utilisateurs d’ajouter des cartes bancaires à leur compte dans votre application mobile. Pour obtenir le même comportement à partir de `PaymentSheet.FlowController`, définissez le paramètre `setupFutureUsage` de votre objet `PaymentSheet.IntentConfiguration` sur `onSession`. #### Portefeuille Utilisez les guides d’intégration suivants pour implémenter la Payment Sheet dans un contexte de wallet dans vos applications : - [intégration iOS](https://docs.stripe.com/payments/accept-a-payment-deferred.md?platform=ios&type=setup&integration=paymentsheet) - [Intégration Android](https://docs.stripe.com/payments/accept-a-payment-deferred.md?platform=android&type=setup&integration=paymentsheet) Les guides d’intégration dont les liens figurent ci-dessus diffèrent du [guide d’intégration](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=mobile&platform=ios) par défaut de la Payment Sheet sur quelques points importants. ### Heure de création de l’Intent Lors de la migration de l’intégration de base vers la Payment Sheet, créez l’intention après avoir rendu la feuille de paiement en indiquant l’objet `PaymentSheet.IntentConfiguration` sur la `PaymentSheet`. Définissez la propriété `mode` de votre objet `PaymentSheet.IntentConfiguration` sur `setup`, et indiquez le montant et la devise de la transaction. ### Mode de configuration La Payment Sheet est configurée en mode configuration, de sorte que les cartes bancaires sont sauvegardées automatiquement, ce qui correspond au comportement de l’intégration de base. ## Vérifier la présence d'autres dépendances héritées La mise à niveau vers la Payment Sheet nécessite la mise à jour d’autres dépendances au sein de votre intégration mobile. Vérifiez les sections suivantes pour vous assurer que votre migration est complète. ### Migration depuis l’API Charges Si votre intégration utilise encore l’API Charges avec des tokens, vous devez migrer vers l’API Intents. Le guide d’intégration de la Payment Sheet dont le lien figure ci-dessus explique en détail comment utiliser Intents. Vous pouvez également vérifier [Migrer vers l’API Payment Intents](https://docs.stripe.com/payments/payment-intents/migration.md) pour plus de détails. ### Convertir votre configuration L’intégration de base utilise un objet de configuration pour personnaliser votre intégration (`STPPaymentConfiguration` pour iOS, et `PaymentSessionConfig` pour Android). Convertissez votre configuration de l’intégration de base en un objet de configuration `PaymentSheet.Configuration` pour personnaliser la Payment Sheet.