我已在 Android 应用程序中成功配置了 Google Pay API 集成,并在 stag 环境中通过 Test Cards 进行了测试。之后,我已将集成提交给 Google 团队,以使其在生产应用程序中启用,我得到了积极的确认,集成也获得批准。
此后,我尝试在应用程序的生产版本上进行测试。在这里我发现主要的区别是我的客户(属于中东和北非地区)在打开弹出对话框输入信用卡详细信息进行交易时只能看到两个国家,即美国和英国。
我试图在最后检查这一点,它为我显示了所有国家/地区。仅供参考,我属于印度。
这是我可能的假设::
为了更好地理解问题,我添加了屏幕截图。
我用来准备付款数据请求的代码片段:
fun getPaymentDataRequest(price: String): JSONObject {
return baseRequest.apply {
put("allowedPaymentMethods", JSONArray().put(cardPaymentMethod()))
put("transactionInfo", getTransactionInfo(price))
put("merchantInfo", merchantInfo)
// An optional shipping address requirement is a top-level property of the
// PaymentDataRequest JSON object.
val shippingAddressParameters = JSONObject().apply {
put("phoneNumberRequired", false)
put("allowedCountryCodes", JSONArray(listOf("US", "GB")))
}
put("shippingAddressParameters", shippingAddressParameters)
put("shippingAddressRequired", true)
}
}
有人能引导我走向正确的方向吗?
屏幕截图显示“添加送货地址”屏幕,而不是“输入信用卡详细信息的弹出对话框”。要在下拉列表中查看更多运送国家/地区,请将一些国家/地区添加到 allowedCountryCodes
数组中,或完全删除该属性以启用所有国家/地区。