Я хотел бы создать способ оплаты в своем приложении для Android, например, в Google Фото: Я хочу узнать адрес доставки и динамически обновлять стоимость доставки в зависимости от страны.
Я следую Документация Google Pay но он не дает никакого объяснения того, как установить обратные вызовы, как, например, объясняется в файле Веб-документация Google Pay. Я также пытался найти некоторые учебники, но, похоже, никто не пытался сделать то, что я пытаюсь сделать.
Например, я хотел бы показать ошибку, например эта картинка
Когда я пытаюсь создать 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);
К сожалению, в настоящее время это недоступно для 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");
В файле 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-быстрый стартhttps://developers.google.com/pay/api/android/guides/tutorial
Это не обратный вызов, а просто извлечение окончательных данных.
Есть ли какие-либо обновления по этому поводу? Или ссылку на запрос функции в конце Google, на который можно сослаться?