Данные платежа Google Pay не содержат сумму транзакции - PullRequest
1 голос
/ 07 января 2020

Я сканирую документацию по платежным данным Google Pay и вижу, что она не содержит разрешенной суммы транзакции.

https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography

Как платежный шлюз проверяет транзакцию, чтобы узнать, авторизована ли она на определенную сумму или нет? Что если сумма, представленная вместе с данными платежа, не авторизована?

Между тем, проверяя объект PKPaymentToken компании Apple Pay, он содержит сумму транзакции для проверки.

https://developer.apple.com/library/archive/ApplePay_Guide/ProcessPayment.html

enter image description here

1 Ответ

1 голос
/ 14 января 2020

Как платежный шлюз проверяет транзакцию, чтобы узнать, авторизована ли она на определенную сумму или нет?

Я предполагаю, что под авторизованным вы подразумеваете то, что отправляется в пользовательский интерфейс платежа, и что пользователь отправляет / подтверждает. Если так, то платежный шлюз не проверяет совпадение сумм. Это то, что нужно сделать вашему приложению.

Что если сумма, отправленная вместе с данными платежа, не авторизована?

Ничто не мешает этому произойти, за это отвечает приложение.


Для более широкого контекста Google Pay на самом деле не участвует в процессе авторизации через платежный шлюз.

Google Pay for web предоставляет callback , который можно использовать для вызова шлюза оплаты для авторизации платежа (см. пример ). Основное преимущество, которое это обеспечивает, заключается в том, что он позволяет вам проверить, что вариант оплаты может быть обработан для данной суммы, и если авторизация не удалась, пользователь может выбрать другой вариант оплаты в пользовательском интерфейсе платежа.

Один раз пользовательский интерфейс платежа передается, и тогда вы должны взять ответ авторизации от шлюза и отправить его на шлюз для завершения транзакции (пример из Stripe ). Шлюз обычно позволяет вам указать другую сумму от до значения начальной авторизации.

Поток авторизации является необязательным, что означает, что вы можете просто попытаться произвести платеж (без авторизация) и обрабатывать любые сбои.

К сожалению, обратный вызов авторизации в настоящее время недоступен для мобильных приложений (я предполагаю, что он будет доступен в какой-то момент).

...