如何使用Google Pay设置送货回调

时间:2019-07-17 17:09:14

标签: android callback android-pay google-pay shipping-method

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

我遵循Google Pay documentation 但是它没有给出如何设置回调的任何解释,例如,Google Pay web documentation中对此进行了解释。 我还尝试寻找一些教程,但似乎没有人尝试做我想做的事情。

例如,我想显示一个错误 this picture

当我尝试创建用于添加回调的JSON时,Google pay崩溃而未给出任何日志,两者均未使用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);

2 个答案:

答案 0 :(得分:1)

现在可以在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");    

在您的paymentsutil.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

答案 1 :(得分:0)

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