Google Pay:能否从onPaymentDataChanged回调获取完整收货地址?
问题
能否从onPaymentDataChanged()回调中获取完整的收货地址?我使用第三方API来选择配送方式、计算配送费用及税费,该API需要address_line_1字段,但当前回调仅能返回包含简短地址的对象。
问题在于,我需要在用户点击支付按钮、完成支付前,直接通过Google Pay小部件计算费用并展示给用户。
回调返回的对象示例:
{ "shippingAddress": { "countryCode": "UA", "postalCode": "49000", "locality": "Dnipro", "administrativeArea": "Дніпропетровська область" }, "callbackTrigger": "SHIPPING_ADDRESS" }
回答
不能从onPaymentDataChanged()回调中获取包含address_line_1的完整收货地址。该回调返回的是Google Pay定义的中间地址,仅包含国家/地区、邮政编码、城市、行政区这类基础层级信息,不会提供具体街道地址(如address_line_1)。
如果你的第三方API必须依赖address_line_1计算配送费用和税费,可参考以下两种解决思路:
- 提前收集完整地址:在唤起Google Pay组件前,先让用户填写包含街道信息的完整收货地址,将该地址传入第三方API算出费用后,再展示Google Pay支付界面。
- 调整费用计算逻辑:联系第三方API服务商,确认是否支持通过基础地址信息(国家、邮编、城市)估算费用;或者基于这些基础信息做费用预计算,待用户完成支付、获取到完整收货地址后再做精准调整(需提前向用户说明预计算的规则)。
内容的提问来源于stack exchange,提问作者Danil Zhmak
相关产品推荐
相关产品推荐

