Raccogliere gli indirizzi fisici e i numeri di telefono
Come raccogliere indirizzi e numeri di telefono nell'app mobile
To collect complete addresses for billing or shipping, use the Address Element.
Puoi utilizzare Address Element anche per:
- Raccogliere i numeri di telefono dei clienti
- Utilizzare il completamento automatico (abilitato per impostazione predefinita in iOS)
- Precompilare i dati di fatturazione in Payment Element specificando un indirizzo di spedizione
Stripe combina le informazioni raccolte sull’indirizzo e sul metodo di pagamento per creare un PaymentIntent.

Configura StripeLato serverLato client
Innanzitutto, devi creare un account Stripe. Registrati ora.
L’SDK per iOS di Stripe è open source, completamente documentato e compatibile con le app che supportano iOS 13 o versioni successive.
Nota
Per ulteriori informazioni sulla versione più recente e su quelle precedenti dell’SDK, consulta la pagina Versioni su GitHub. Per ricevere notifiche quando viene pubblicata una nuova versione, guarda le versioni del repository.
Configura l’SDK con la tua chiave pubblicabile di Stripe all’avvio dell’app. In questo modo l’app può inviare le richieste all’API Stripe.
Nota
Usa le chiavi di test durante i test e le chiavi della modalità live quando pubblichi l’app.
Impostare i suggerimenti di completamento automatico dell'indirizzo
Il completamento automatico è abilitato per impostazione predefinita in iOS.
Configurare Address Element
Puoi configurare Address Element con informazioni quali la visualizzazione dei valori predefiniti, l’impostazione dei Paesi consentiti, la personalizzazione dell’aspetto e così via. Per l’elenco completo delle opzioni di configurazione, fare riferimento a AddressViewController.Configuration.
let addressConfiguration = AddressViewController.Configuration( additionalFields: .init(phone: .required), allowedCountries: ["US", "CA", "GB"], title: "Shipping Address" )
Recuperare i dati relativi all'indirizzo
Recupera i dettagli dell’indirizzo eseguendo la conformità a AddressViewControllerDelegate e quindi usando addressViewControllerDidFinish per chiudere il controller di visualizzazione. Il valore dell’indirizzo è un indirizzo valido o nullo.
extension MyViewController: AddressViewControllerDelegate { func addressViewControllerDidFinish(_ addressViewController: AddressViewController, with address: AddressViewController.AddressDetails?) { addressViewController.dismiss(animated: true) self.addressDetails = address } }
Presentare Address Element
Crea un AddressViewController utilizzando la configurazione dell’indirizzo e delega dai passaggi precedenti. Puoi presentarlo in un controller di navigazione o inserirlo in un controller di navigazione.
self.addressViewController = AddressViewController(configuration: addressConfiguration, delegate: self) let navigationController = UINavigationController(rootViewController: addressViewController) present(navigationController, animated: true)
FacoltativoPrecompilare gli indirizzi di spedizione in Payment Element
Se utilizzi Payment Element su dispositivo mobile, imposta PaymentSheet.Configuration.shippingDetails sull’indirizzo raccolto dall’elemento indirizzo. Quando shippingDetails è compilato, l’indirizzo di fatturazione viene pre-compilato per gli utenti e vedono una casella di controllo L’indirizzo di fatturazione è lo stesso dell’indirizzo di spedizione. I PaymentIntents confermati con shippingDetails compilato hanno anche la proprietà shipping intent compilata quando il PaymentIntent è confermato.
var configuration = PaymentSheet.Configuration() // ... configuration.shippingDetails = { [weak self] in return self?.addressDetails }
FacoltativoPersonalizza l'aspetto
Ora che hai aggiunto il componente Address Element alla tua app, puoi personalizzarne l’aspetto per adattarlo al design del resto della tua app. Puoi configurare l’aspetto con l’API Appearance utilizzando AddressViewController.Configuration.appearance.
FacoltativoImpostare i dati di fatturazione predefiniti
Per impostare i valori predefiniti per i dettagli di addebito raccolti nella scheda di pagamento, configura la proprietà defaultBillingDetails. PaymentSheet precompila i campi della scheda con i valori che fornisci.
var configuration = PaymentSheet.Configuration() configuration.defaultBillingDetails.address.country = "US" configuration.defaultBillingDetails.email = "foo@bar.com"
FacoltativoPersonalizzare la raccolta dei dati per gli addebiti
Utilizza billingDetailsCollectionConfiguration per specificare la modalità di raccolta dei dati per gli addebiti nel Payment Sheet.
Puoi acquisire il nome, l’indirizzo email, il numero di telefono e l’indirizzo del cliente.
Se vuoi raccogliere solo i dati di fatturazione richiesti dal metodo di pagamento, imposta billingDetailsCollectionConfiguration.su true. In tal caso, i PaymentSheet. vengono impostati come dati di fatturazione del metodo di pagamento.
Se desideri raccogliere ulteriori dettagli di fatturazione che non sono necessariamente richiesti dalla modalità di pagamento, imposta billingDetailsCollectionConfiguration. su false. In tal caso, i dettagli di fatturazione raccolti tramite il PaymentSheet vengono impostati come dettagli di fatturazione della modalità di pagamento.
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
Nota
Rivolgiti al tuo consulente legale per sapere quali sono le leggi applicabili alla raccolta di informazioni. Richiedi i numeri di telefono solo se necessari per la transazione.