Migrer vers les tokens de confirmation
Utilisez un ConfirmationToken au lieu d'une PaymentMethod pour gérer les paiements
Ce guide explique comment migrer de l’ancienne PaymentMethod vers le ConfirmationToken dans votre intégration mobile.
Vous pouvez utiliser l’objet ConfirmationToken au lieu de PaymentMethod pour :
- Simplifier le code côté serveur : vous n’aurez pas besoin de créer manuellement le paramètre 
mandat_ou de transmettre les paramètresdata return_eturl shippinglorsque vous confirmerez vos intentions. - Gérer les données : cette fonctionnalité inclut automatiquement les informations de livraison et d’autres informations relatives au paiement.
 
| Caractéristique | PaymentMethod (ancienne) | ConfirmationToken | 
|---|---|---|
| Confirmation de paiement | ||
| Configuration d’une utilisation ultérieure | Manuel | Automatique | 
| Informations relatives à la livraison | Manuel | Automatique | 
| Données du mandat | Manuel | Automatique | 
| URL de redirection | Manuel | Automatique | 
| Récupération du CVC côté serveur | 
Avant de commencer
Ce guide part du principe que vous disposez d’une intégration mobile existante utilisant l’ancienne PaymentMethod. Si vous créez une nouvelle intégration, suivez le guide Accepter un paiement, qui utilise les ConfirmationTokens par défaut.
Mettez à jour votre code clientCôté client
Pour accéder aux informations du paiement et les utiliser, transmettez un rappel qui reçoit un confirmationToken :
let intentConfig = PaymentSheet.IntentConfiguration( mode: .payment(amount: 1099, currency: "USD") ) { paymentMethod, shouldSavePaymentMethod, intentCreationCallback in // Make a request to your server, passing paymentMethod.stripeId ) { confirmationToken, intentCreationCallback in // Make a request to your server to create a PaymentIntent and return its client secret. // Optionally pass confirmationToken.stripeId if doing server-side confirmation. let myServerResponse: Result<String, Error> = ... switch myServerResponse { case .success(let clientSecret): intentCreationCallback(.success(clientSecret)) case .failure(let error): intentCreationCallback(.failure(error)) } }
Mettre à jour le code de votre serveurCôté serveur
Lorsque vous acceptez des paiements, vous pouvez choisir où confirmer le PaymentIntent ou le SetupIntent :
Confirmation côté client : votre serveur crée un Intent non confirmé et renvoie sa clé
client_à votre application. Le SDK mobile confirme ensuite directement l’Intent à Stripe.secret Confirmation côté serveur : votre application envoie le ConfirmationToken à votre serveur, qui crée et confirme à la fois l’Intent en un seul appel à l’API en définissant
confirm: true. La confirmation se produit entièrement sur votre serveur lorsque vous appelez l’API Stripe, et vous offre plus de contrôle sur le tunnel de paiement.
Tous les paramètres fournis directement au PaymentIntent ou au SetupIntent lors de la confirmation, tels que shipping, remplacent les propriétés correspondantes au niveau du ConfirmationToken.
Remarque
Si vous avez déjà inspecté l’objet PaymentMethod, vous pouvez désormais accéder aux informations du moyen de paiement via la propriété paymentMethodPreview sur ConfirmationToken.