我想在我的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);
答案 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。我知道对此计划的支持,但是,我不能说它何时可用。