Google Pay Android SDK收货地址/配送方式回调及预获取地址问题
Google Pay Android SDK v19.3.0 技术疑问解答
你当前使用com.google.android.gms:play-services-wallet:19.3.0版本(测试环境为WalletConstants.ENVIRONMENT_TEST),目前仅能通过以下代码获取支付完成的回调:
registerForActivityResult(TaskResultContracts.GetPaymentDataResult()) { taskResult -> when (taskResult.status.statusCode) { //.. Receive callback whenever full payment is done } }
同时注意到Google Web API有onPaymentDataChanged回调,可在OFFER、SHIPPING_ADDRESS或SHIPPING_OPTION变更时触发,但Android SDK无类似回调,且无直接添加ShippingOptions的方式,目前是参考Web API的ShippingOptionParameters实现添加。针对你的两个技术疑问,解答如下:
1. 用户修改收货地址或配送方式时,能否通过Android SDK获取回调?
19.3.0版本的Google Pay Android SDK没有提供类似Web API的实时变更回调,无法在用户修改收货地址、配送选项时触发回调。你只能在用户完成整个支付流程后,通过现有的GetPaymentDataResult回调拿到最终的支付及地址信息。
2. 显示Google Pay Sheet前能否获取收货地址,以便生成对应配送选项?
不行。Android SDK不支持在Google Pay Sheet弹出前提前获取用户的收货地址,你没办法预先根据地址计算或生成对应的配送选项,只能在支付完成后拿到最终地址再做后续处理。
内容的提问来源于stack exchange,提问作者Vikalp Patel
相关产品推荐
相关产品推荐

