Collecter les adresses physiques et les numéros de téléphone
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 :
- Collectez les numéros de téléphone des clients
- Utiliser la saisie semi-automatique (activée par défaut dans iOS)
- Remplissez automatiquement des informations de facturation dans Payment Element en transmettant une adresse de livraison
Stripe combine les informations d’adresse collectées et le moyen de paiement pour créer un PaymentIntent.

Configurer StripeCôté serveurCôté client
Tout d’abord, il vous faut un compte Stripe. Inscrivez-vous.
La trousse SDK iOS de Stripe est à code source libre et possède une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.
Remarques
Pour plus de détails sur la version la plus récente de la trousse SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir des notifications lors de la publication d’une nouvelle version, suivez les versions du référentiel.
Configurez la trousse SDK avec votre clé publique Stripe au démarrage de l’application. Cela permet à votre application d’envoyer des requêtes à l’API Stripe.
Remarques
Utilisez vos clés de test lors de vos activités de test et de développement et vos clés de production pour la publication de votre application.
Configurer les suggestions de saisie semi-automatique des adresses
La saisie semi-automatique est activée par défaut sur iOS.
Configurer l'Address Element
Vous pouvez configurer l’Element Address avec 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 nulle.
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 de l’adresse et le délégué des é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)
FacultatifRemplissez automatiquement les adresses de livraison dans le Payment Element
Si vous utilisez le Mobile Payment Element pour mobile, définissez PaymentSheet.Configuration.shippingDetails à l’adresse collectée par l’Address Element. Lorsque le champ shippingDetails
est rempli, l’adresse de facturation de l’utilisateur est remplie automatiquement et la case à cocher L’adresse de facturation et l’adresse de livraison sont les mêmes est affichée. La propriété d’intention shipping est remplie pour les PaymentIntents confirmés dont shippingDetails
est rempli.
var configuration = PaymentSheet.Configuration() // ... configuration.shippingDetails = { [weak self] in return self?.addressDetails }
FacultatifPersonnaliser l'apparence
Maintenant que vous avez ajouté l’Element Address à votre application, vous pouvez personnaliser son apparence pour qu’il s’intègre harmonieusement à 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
Pour définir des valeurs par défaut pour les informations de facturation collectées dans la feuille de paiement, configurez la propriété defaultBillingDetails
. PaymentSheet
pré-remplit ses 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 données de facturation
Utilisez billingDetailsCollectionConfiguration
pour spécifier la façon dont vous souhaitez collecter les informations de facturation dans le formulaire de paiement.
Vous pouvez recueillir le nom, l’adresse de courriel, 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 mode de paiement, définissez billingDetailsCollectionConfiguration.
à true. Dans ce cas, le paramètre PaymentSheet.
est défini comme les informations de facturation du mode de paiement.
Si vous souhaitez collecter des informations de facturation supplémentaires qui ne sont pas nécessairement requises pour le moyen de paiement, définissez billingDetailsCollectionConfiguration.
sur false. Dans ce cas, les informations de facturation collectées via 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
Remarques
Consultez votre conseiller juridique au sujet des lois qui s’appliquent à la collecte de renseignements. Ne collectez les numéros de téléphone que si vous en avez besoin pour la transaction.