You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Добрый день.
Меня смутила функция fun openGooglePay(activity: Activity, price: Money, requestCode: Int)
Пытаясь выяснить, почему у меня не работает оплата через googlePay, залез в createPaymentDataRequest
Cложилось впечатление, что JSON формируется неправильно, а именно в getTransactionInfo поле суммы заполняется в 100 раз большим значением. Это прослеживается и на тестовом проекте, если выбрать товар "Нечетный интеграл..." за 20,99 то получится Json следующего вида: { "apiVersion":2, "apiVersionMinor":0, "allowedPaymentMethods":[ { "type":"CARD", "parameters":{ "allowedAuthMethods":[ "PAN_ONLY", "CRYPTOGRAM_3DS" ], "allowedCardNetworks":[ "VISA", "MASTERCARD" ] }, "tokenizationSpecification":{ "type":"PAYMENT_GATEWAY", "parameters":{ "gateway":"tinkoff", "gatewayMerchantId":"TestSDK" } } } ], "transactionInfo":{ "totalPrice":"2099.00", "totalPriceStatus":"FINAL", "currencyCode":"RUB" }, "shippingAddressRequired":false, "shippingAddressParameters":{ "phoneNumberRequired":false } }
Прошу обратить внимание на totalPrice, который получается равным "2099.00".
The text was updated successfully, but these errors were encountered:
val formattedPrice = BigDecimal(price.coins).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString()
Соответственно, при price.coins == 100, получим "100.00", вместо "1.00"
Здравствуйте! Спасибо за обращение, действительно есть ошибка в форматировании суммы. Однако параметр totalPrice и в целом объект TransactionInfo не используется в процессе оплаты, он нужен только для визуального отображения данных в окне Google Pay https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo
Таким образом, если вы полагали, что у вас не работает оплата через GP из-за этого, то это не так, проблема в чем то другом. Рекомендую проверить шаги интеграции, при необходимости обращайтесь к нам снова!
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Добрый день.
Меня смутила функция fun openGooglePay(activity: Activity, price: Money, requestCode: Int)
Пытаясь выяснить, почему у меня не работает оплата через googlePay, залез в createPaymentDataRequest
Cложилось впечатление, что JSON формируется неправильно, а именно в getTransactionInfo поле суммы заполняется в 100 раз большим значением. Это прослеживается и на тестовом проекте, если выбрать товар "Нечетный интеграл..." за 20,99 то получится Json следующего вида:
{ "apiVersion":2, "apiVersionMinor":0, "allowedPaymentMethods":[ { "type":"CARD", "parameters":{ "allowedAuthMethods":[ "PAN_ONLY", "CRYPTOGRAM_3DS" ], "allowedCardNetworks":[ "VISA", "MASTERCARD" ] }, "tokenizationSpecification":{ "type":"PAYMENT_GATEWAY", "parameters":{ "gateway":"tinkoff", "gatewayMerchantId":"TestSDK" } } } ], "transactionInfo":{ "totalPrice":"2099.00", "totalPriceStatus":"FINAL", "currencyCode":"RUB" }, "shippingAddressRequired":false, "shippingAddressParameters":{ "phoneNumberRequired":false } }
Прошу обратить внимание на totalPrice, который получается равным "2099.00".
The text was updated successfully, but these errors were encountered: