收集物理地址和电话号码
了解如何在移动应用中收集地址和电话号码。
要收集完整的账单地址或收货地址,请使用 Address Element。
还可以使用 Address Element 执行以下作:
Stripe 将收集的地址信息和支付方式合在一起来创建 PaymentIntent。

设置 Stripe服务器端客户端
首先,您需要有 Stripe 账户。立即注册。
Stripe Android SDK 是开源的,且有完整的文档。
安装 SDK 时,将 stripe-android
添加到您的 app/build.gradle 文件的 dependencies
块中:
用您的 Stripe 公钥配置 SDK,以便它可以向 Stripe API 发送请求,例如在您的 Application
子类中:
设置地址自动完成建议
Address Element 使用 Google Places SDK 来获取地址自动完成建议。要启用自动完成建议,您需要在应用的 build.
中包含 Google Places SDK 依赖项。
地址自动完成建议需要 Google Places API 密钥。请按照 Google Places SDK 设置指南生成您的 API 密钥。
配置 Address Element
可以使用显示默认值、设置允许的国家/地区、自定义外观等详细信息来配置 Address Element。有关配置选项的完整列表,请参阅 AddressLauncher.Configuration。
val addressConfiguration = AddressLauncher.Configuration( additionalFields: AddressLauncher.AdditionalFieldsConfiguration( phone: AdditionalFieldsConfiguration.FieldConfiguration.Required ), allowedCountries: setOf("US", "CA", "GB"), title: "Shipping Address", googlePlacesApiKey = "(optional) YOUR KEY HERE" )
检索地址详情
通过在 Activity
或 Fragment
的 onCreate
生命周期方法中创建 AddressLauncher
实例,并创建实现 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 } } }
AddressLauncherResult
可以是 Succeeded
或 Canceled
。请参阅更多实现细节。
注意
Stripe 要求您在 onCreate
生命周期事件期间(而不是之后)实例化 AddressLauncher
。否则,回调无法正确注册,您的应用将崩溃。
显示 Address Element
使用地址启动器和先前步骤中的配置来展示 Address Element。
addressLauncher.present( publishableKey = publishableKey, configuration = addressConfiguration )
可选在 Payment Element 中预填充收货地址
如果您使用的是移动端 Payment Element,请将 PaymentSheet.Configuration.shippingDetails 设置为 Address Element 收集的地址。当填充 shippingDetails
后,用户的账单地址会被预先填充,并且他们会看到一个账单地址同收货地址的复选框。确认付款意图时,已填充了 shippingDetails
的已确认付款意图也会填充 shipping Intent 属性
val configuration = PaymentSheet.Configuration.Builder("Example, Inc.") // ... .shippingDetails(shippingDetails) .build()
可选自定义外观
您已向您的应用程序中添加了 Address Element,现在可以自定义它的外观,使其适合您的应用程序其他部分的设计了。您可以使用 AddressLauncher.Configuration.appearance 通过Appearance API 配置外观。
可选设置默认账单详情
要为支付表单中收集的账单详情设置默认值,请配置 defaultBillingDetails
属性。paymentSheet
会用您提供的值预先填充其字段。
可选自定义账单地址信息的收集
配置账单详情的收集
使用 BillingDetailsCollectionConfiguration
指定您希望如何在 PaymentSheet 中收集账单详情。
可以收集客户的姓名、邮件地址、电话号码和地址。
如果希望将默认账单详情关联到 PaymentMethod 对象(即使 UI 中未收集这些字段),请将 billingDetailsCollectionConfiguration.
设置为 true
。
注意
请咨询律师,了解与收集信息有关的法律。仅在需要收集号码来完成交易时,才收集手机号码。