2

我想在我的 Android 应用程序中创建一种付款方式,例如 Google 照片中的付款方式:我想询问送货地址并根据国家/地区动态更新运费。

我遵循Google Pay 文档 ,但它没有给出任何关于如何设置回调的解释,例如,Google Pay 网络文档中的解释。我也尝试寻找一些教程,但似乎没有人尝试做我想做的事情。

例如,我想显示像 这张图片这样的错误

当我尝试创建 JSON 以添加回调时,Google 支付崩溃而不提供任何日志,也没有adb -d logcat -s WalletMerchantError

JSONObject paymentDataRequestJSON = new JSONObject()
                .put("apiVersion", 2)
                .put("apiVersionMinor", 0)
                .put("allowedPaymentMethods", new JSONArray()
                        .put(cardPaymentMethod))
                .put("transactionInfo", transactionInfo)
                //.put("merchantInfo", merchantInfo) // TODO
                .put("callbackIntents", new JSONArray()
                        .put("SHIPPING_ADDRESS")
                        .put("SHIPPING_OPTION"))
                .put("shippingAddressRequired", true);
4

2 回答 2

2

不幸的是,这目前不适用于 Android。我知道对此的支持是计划中的,但是,我不能说它何时可用。

于 2019-09-20T20:11:59.683 回答
0

送货信息现在可以在 Google Pay 上找到。您可以通过引用下面的代码来提取信息。

enter code here

JSONObject paymentMethodData;
    JSONObject shippingAddress;

    try {
        paymentMethodData = new  JSONObject(paymentInformation).getJSONObject("paymentMethodData");
        shippingAddress = new JSONObject(paymentInformation).getJSONObject("shippingAddress");   
shippingname = shippingAddress.getString("name");
        streetaddress1 = shippingAddress.getString("address1");
        streetaddress2 = shippingAddress.getString("address2");
        city = shippingAddress.getString("locality");
        zip5 = shippingAddress.getString("postalCode");
        state = shippingAddress.getString("administrativeArea");    

在您的 paymentutil.java 文件中,确保 shippingAddress 要求设置为 true,如下所示。

enter code here /* An optional shipping address requirement is a top-level property of the PaymentDataRequest

  JSON object. */

        paymentDataRequest.put("shippingAddressRequired", true);

您可以参考以下链接获取 Gpay 示例代码,但您必须添加代码以提取运输信息。如果您想查看支付信息对象中的此数据或其他数据,您可以使用“日志”打印出来

enter code here Log.i("PaymentInformation", new JSONObject(paymentInformation).toString());

要查看输出,您可以运行您的应用程序,然后单击屏幕底部的“运行”。

https://github.com/google-pay/android-quickstart https://developers.google.com/pay/api/android/guides/tutorial

于 2020-06-30T13:52:55.763 回答