Оплата через Android Pay (мобильное приложение)

При оплате с использованием Android Pay через мобильное приложение взаимодействие происходит по следующей схеме.

Одностадийный платёж Двухстадийный платёж
1 Пользователь выбирает способ оплаты Android Pay.
2 Приложение запрашивает Android Pay маскированные данные платёжной карты.
3 Android Pay возвращает в приложение маскированные данные платёжной карты.
4 Пользователь подтверждает оплату.
5 Приложение запрашивает Android Pay зашифрованные данные платёжной карты.
6 Android Pay шифрует данные, используя открытый ключ продавца.
7 Android Pay возвращает в приложение зашифрованные данные о платеже.
8

Приложение отправляет в платёжный шлюз запрос на оплату, указывая полученный от Android токен:

При этом параметр preAuth либо не передаётся, либо имеет значение false (ложь).

Приложение отправляет в платёжный шлюз запрос на оплату, указывая полученный от Android токен:

При этом в запросе передаётся параметр preAuth, который имеет значение true (истина).

9 Платёжный шлюз расшифровывает полученный токен и производит оплату.
10 Платёжный шлюз возвращает результат оплаты в приложение.
11 Приложение отображает результат покупки плательщику.
12

Продавец запрашивает у платёжного шлюза статус оплаты заказа, используя уникальный идентификатор, полученный при регистрации заказа в параметре orderId:

13 Не актуально

Для списания средств со счёта клиента продавец должен направить в платёжный шлюз запрос завершения оплаты:

14 Не актуально

Платёжный шлюз возвращает результат обработки запроса. Статус заказа не возвращается. Для получения статуса заказа необходимо отправить в шлюз запрос состояния заказа: