如何使用 Google Pay 设置送货回调
How can I setup the shipping callbacks with Google Pay
我想在我的 Android 应用程序中创建一种付款方式,例如 Google 照片中的付款方式:
我想询问送货地址,并根据国家动态更新运费。
我关注Google Pay documentation
但它没有给出任何关于如何设置回调的解释,例如 Google Pay web documentation 中的解释。
我也尝试寻找一些教程,但似乎没有人尝试做我想做的事情。
例如我想显示一个错误
this picture
当我尝试创建 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);
很遗憾,Android 目前无法使用此功能。我知道对此的支持已计划,但是,我不能说它何时可用。
运输信息现在可在 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 示例代码,但您必须添加代码以提取送货信息。如果要查看付款信息对象中的此数据或其他数据,可以使用 'Log'
打印出来
enter code here Log.i("PaymentInformation", new JSONObject(paymentInformation).toString());
要查看输出,您可以 运行 您的应用,然后单击屏幕底部的 'Run'。
https://github.com/google-pay/android-quickstart
https://developers.google.com/pay/api/android/guides/tutorial
我想在我的 Android 应用程序中创建一种付款方式,例如 Google 照片中的付款方式: 我想询问送货地址,并根据国家动态更新运费。
我关注Google Pay documentation 但它没有给出任何关于如何设置回调的解释,例如 Google Pay web documentation 中的解释。 我也尝试寻找一些教程,但似乎没有人尝试做我想做的事情。
例如我想显示一个错误 this picture
当我尝试创建 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);
很遗憾,Android 目前无法使用此功能。我知道对此的支持已计划,但是,我不能说它何时可用。
运输信息现在可在 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 示例代码,但您必须添加代码以提取送货信息。如果要查看付款信息对象中的此数据或其他数据,可以使用 'Log'
打印出来enter code here Log.i("PaymentInformation", new JSONObject(paymentInformation).toString());
要查看输出,您可以 运行 您的应用,然后单击屏幕底部的 'Run'。
https://github.com/google-pay/android-quickstart https://developers.google.com/pay/api/android/guides/tutorial