Recopila las direcciones físicas y los números de teléfono
Aprende a recopilar direcciones de clientes y números de teléfono en tu aplicación móvil con Address Element.
A fin de recopilar direcciones completas para facturación o envío, utiliza Address Element
También puedes utilizar el Address Element para:
- Recopila números de teléfono de clientes
- Habilita la función de autocompletar
- Completa automáticamente los datos de facturación en el Payment Element introduciendo una dirección de envío
Stripe combina la información de la dirección recopilada y el método de pago para crear un PaymentIntent.

Configura StripeLado del servidorLado del cliente
Primero, necesitas una cuenta de Stripe. Inscríbete ahora.
El SDK para Android de Stripe es de código abierto y está completamente documentado.
Para instalar el SDK, agrega stripe-android al bloque dependencies de tu archivo app/build.gradle:
Nota
Para conocer detalles de la última versión y de versiones anteriores del SDK, consulta la página Versiones en GitHub. Para recibir una notificación cuando se publique una nueva versión, mira las versiones del repositorio.
Configura el SDK con tu clave publicable de Stripe para que pueda hacer solicitudes a la API de Stripe, así como en tu subclase Application:
Nota
Usa las claves de prueba durante las pruebas y el desarrollo, y tus claves para modo activo cuando publiques tu aplicación.
Configura las sugerencias para autocompletar direcciones
El Address Element utiliza el SDK de Google Places para obtener sugerencias de direcciones que se completen automáticamente. Para habilitar las sugerencias para autocompletar, debes incluir la dependencia del SDK de Google Places en el build. de tu aplicación.
Las sugerencias para autocompletar direcciones requieren una clave de API de Google Places. Sigue la guía de configuración del SDK de Google Places para generar tu clave API.
Configura el Address Element
Puedes configurar el Address Element con detalles como mostrar valores predeterminados, establecer países permitidos, personalizar el aspecto, etc. Consulta AddressLauncher.Configuration para obtener la lista completa de opciones de configuración.
val addressConfiguration = AddressLauncher.Configuration( additionalFields: AddressLauncher.AdditionalFieldsConfiguration( phone: AdditionalFieldsConfiguration.FieldConfiguration.Required ), allowedCountries: setOf("US", "CA", "GB"), title: "Shipping Address", googlePlacesApiKey = "(optional) YOUR KEY HERE" )
Recupera los datos de la dirección
Recupera los datos de la dirección creando una instancia de AddressLauncher en el método del ciclo de vida onCreate de tu Activity o Fragment y creando un método de devolución de llamada que implemente la interfaz AddressLauncherResultCallback.
private lateinit var addressLauncher: AddressLauncher private var shippingDetails: AddressDetails? = null override fun onCreate(savedInstanceState: Bundle?) { addressLauncher = AddressLauncher(this, ::onAddressLauncherResult) } private fun onAddressLauncherResult(result: AddressLauncherResult) { // TODO: Handle result and update your UI when (result) { is AddressLauncherResult.Succeeded -> { shippingDetails = result.address } is AddressLauncherResult.Canceled -> { // TODO: Handle cancel } } }
El AddressLauncherResult puede ser Succeeded o Canceled. Consulta más detalles de implementación.
Nota
Stripe requiere que crees una instancia de AddressLauncher durante el evento del ciclo de vida onCreate, y no después. De lo contrario, la devolución de llamada no se puede registrar correctamente y la aplicación se bloqueará.
Presenta el Address Element
Presenta el address element mediante “address launcher” y la configuración de los pasos anteriores.
addressLauncher.present( publishableKey = publishableKey, configuration = addressConfiguration )
OpcionalCompleta automáticamente las direcciones de envío en el Payment Element
Si usas Payment Element para dispositivos móviles, establece PaymentSheet.Configuration.shippingDetails en la dirección recopilada por el elemento de dirección. Cuando se completan los shippingDetails, los usuarios tienen su dirección de facturación completada previamente y ven una casilla de verificación La dirección de facturación es la misma que la de envío. Los PaymentIntent confirmados con shippingDetails completados también tienen la propiedad shipping intent completada cuando se confirma el PaymentIntent
val configuration = PaymentSheet.Configuration.Builder("Example, Inc.") // ... .shippingDetails(shippingDetails) .build()
OpcionalPersonalizar el aspecto
Ahora que has agregado el Address Element a tu aplicación, puedes personalizar el aspecto para que se adapte al diseño del resto de tu aplicación. Puedes configurar la apariencia con la API Appearance mediante AddressLauncher.Configuration.appearance.
OpcionalEstablecer datos de facturación predeterminados
Para establecer los valores predeterminados para los datos de facturación recopilados en la hoja de pago, configura la propiedad defaultBillingDetails. Los campos de la PaymentSheet se rellenan automáticamente con los valores que proporcionas.
OpcionalPersonaliza la recopilación de datos de cobro
Configura la recopilación de datos de facturación
Usa BillingDetailsCollectionConfiguration para especificar cómo deseas recopilar los datos de facturación en la PaymentSheet.
Puedes recopilar el nombre, el correo electrónico, el número de teléfono y la dirección del cliente.
Si quieres adjuntar datos de facturación predeterminados al objeto PaymentMethod aun cuando esos campos no se hayan recopilado en la interfaz de usuario, establece billingDetailsCollectionConfiguration. en true.
Nota
Pregúntale a tu asesor legal sobre las leyes que se aplican a la recopilación de información. Solicita los números de teléfono solo si los necesitas para la transacción.