Collecter les adresses physiques et les numéros de téléphone
Découvrez comment collecter des adresses et des numéros de téléphone dans votre application mobile.
Pour collecter des adresses complètes à des fins de facturation ou de livraison, utilisez l’Address Element.
Vous pouvez également utiliser l’Address Element pour :
- Collecter les numéros de téléphone des clients
- Utiliser l’autocomplétion (activée par défaut sous iOS)
- Préremplir les informations de facturation dans le Payment Element en transmettant une adresse de livraison
Stripe combine les informations recueillies sur l’adresse et le moyen de paiement pour créer un PaymentIntent.

Configurer StripeCôté serveurCôté client
Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.
Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.
Remarque
Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.
Configurez le SDK avec votre clé publiable Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe.
Remarque
Utilisez vos clés de test lors de vos activités de test et de développement et vos clés du mode production pour la publication de votre application.
Configurer des suggestions de remplissage automatique de l'adresse
L’autocomplétion est activée par défaut sous iOS.
Configurer l'Address Element
Vous pouvez configurer l’Address Element en ajoutant des détails tels que l’affichage des valeurs par défaut, la définition des pays autorisés, la personnalisation de l’apparence, etc. Reportez-vous à AddressViewController.Configuration pour consulter la liste complète des options de configuration.
let addressConfiguration = AddressViewController.Configuration( additionalFields: .init(phone: .required), allowedCountries: ["US", "CA", "GB"], title: "Shipping Address" )
Récupérer les informations de l'adresse
Récupérez les détails de l’adresse en vous conformant à AddressViewControllerDelegate
, puis en utilisant addressViewControllerDidFinish pour fermer le contrôleur d’affichage. La valeur de l’adresse est une adresse valide ou nil.
extension MyViewController: AddressViewControllerDelegate { func addressViewControllerDidFinish(_ addressViewController: AddressViewController, with address: AddressViewController.AddressDetails?) { addressViewController.dismiss(animated: true) self.addressDetails = address } }
Présenter l'Address Element
Créez un AddressViewController à l’aide de la configuration d’adresse et déléguez depuis les étapes précédentes. Vous pouvez le présenter dans un contrôleur de navigation ou le pousser sur un contrôleur de navigation.
self.addressViewController = AddressViewController(configuration: addressConfiguration, delegate: self) let navigationController = UINavigationController(rootViewController: addressViewController) present(navigationController, animated: true)
FacultatifPréremplir les adresses de livraison dans le composant Payment Element
Si vous utilisez le composant Element Payment mobile, définissez PaymentSheet.Configuration.shippingDetails sur l’adresse collectée par le composant Element Address. Lorsque shippingDetails
est renseigné, les utilisateurs voient leur adresse de facturation préremplie et ils voient une case à cocher L’adresse de facturation est identique à l’adresse de livraison. Les PaymentIntents confirmés avec shippingDetails
renseignés ont également la propriété shipping intent renseigné lorsque le PaymentIntent est confirmé.
var configuration = PaymentSheet.Configuration() // ... configuration.shippingDetails = { [weak self] in return self?.addressDetails }
FacultatifPersonnaliser l’apparence
Maintenant que vous avez ajouté l’Address Element à votre application, vous pouvez personnaliser son apparence pour l’adapter au design du reste de votre application. Vous pouvez configurer l’apparence à l’aide de l’API Appearance via AddressViewController.Configuration.appearance.
FacultatifDéfinir les informations de facturation par défaut
Si vous souhaitez définir des valeurs par défaut pour les informations de facturation collectées dans le formulaire de paiement, configurez la propriété defaultBillingDetails
. Le PaymentSheet
préremplit les champs avec les valeurs que vous fournissez.
var configuration = PaymentSheet.Configuration() configuration.defaultBillingDetails.address.country = "US" configuration.defaultBillingDetails.email = "foo@bar.com"
FacultatifPersonnaliser la collecte des informations de facturation
Utilisez billingDetailsCollectionConfiguration
pour spécifier la manière dont vous souhaitez collecter les informations de facturation dans le Payment Sheet.
Vous pouvez collecter le nom, l’adresse e-mail, le numéro de téléphone et l’adresse de votre client.
Si vous souhaitez uniquement indiquer les informations de facturation requises par le moyen de paiement, définissez la valeur de billingDetailsCollectionConfiguration.
sur « true ». Dans ce cas, les PaymentSheet.
sont définis comme les informations de facturation du moyen de paiement.
Si vous souhaitez collecter des informations de facturation supplémentaires qui ne sont pas nécessairement requises par le moyen de paiement, définissez la valeur de billingDetailsCollectionConfiguration.
sur false. Dans ce cas, les informations de facturation collectées depuis la PaymentSheet
sont définies comme les informations de facturation du moyen de paiement.
var configuration = PaymentSheet.Configuration() configuration.defaultBillingDetails.email = "foo@bar.com" configuration.billingDetailsCollectionConfiguration.name = .always configuration.billingDetailsCollectionConfiguration.email = .never configuration.billingDetailsCollectionConfiguration.address = .full configuration.billingDetailsCollectionConfiguration.attachDefaultsToPaymentMethod = true
Remarque
Consultez votre conseiller juridique au sujet des lois qui s’appliquent à la collecte d’informations. Ne collectez les numéros de téléphone que si vous en avez besoin pour la transaction.