В этом руководстве для разработчиков рассказывается, как упростить процесс передачи в Google сведений о транзакциях Google Pay. После того как пользователь подтвердит транзакцию Google Pay, Transaction Events API сообщит в Google о платеже и обо всех событиях, связанных с заказом. Мы рекомендуем использовать Transaction Events API, поскольку он помогает нам оперативно принимать решения на основе имеющихся данных и более тщательно анализировать риски для продавца.
Необходимые изменения API
Чтобы настроить обратные вызовы для API, выполните следующие действия:
- Заполните поле - transactionInfo.transactionIdв запросе- PaymentDataRequest.- Для этой попытки транзакции необходимо ввести уникальный идентификатор. Мы советуем выбрать один из уже имеющихся идентификаторов. Если подходящего нет, вы можете сгенерировать специальный идентификатор для попыток транзакций Google Pay и сохранить его в своей системе. 
- Создайте общий аккаунт Google. - Сообщите о нем своим коллегам и попросите Google добавить его в список разрешенных. На этом этапе вы можете обратиться за помощью к менеджеру аккаунтов, однако создать аккаунт вам нужно будет самостоятельно. Ни у кого, кроме вас, не должно быть доступа к этому аккаунту Google. 
- Создайте проект Google Cloud. - После того как Google добавит аккаунт разработчика в список разрешенных, оператор должен будет войти в этот аккаунт и открыть Google Cloud Console. Далее разработчику следует создать проект для интеграции. Не используйте этот аккаунт Google для создания других проектов. 
- Создайте новый платежный аккаунт Cloud или убедитесь, что в проекте включена оплата.
- Включите Transaction Events API с помощью VGW API. - Transaction Events API относится к семейству интерфейсов VGW API. Чтобы получить доступ к нужной конечной точке, следует включить VGW API в проекте. Для этого активируйте Cloud Shell в Google Cloud Platform и выполните следующую команду: - gcloud services enable vgw.googleapis.com 
- Создайте сервисный аккаунт в проекте и зарегистрируйте его. - Создайте сервисный аккаунт и с адреса электронной почты, привязанного к нему, отправьте сообщение своему контактному лицу в Google. Это необходимо, чтобы связать сервисный аккаунт с профилем продавца. Примерно через один рабочий день ваш сервисный аккаунт будет добавлен в список разрешенных. 
- 
      После того как ваш сервисный аккаунт будет добавлен в список разрешенных, выполните следующие действия, чтобы совершить авторизованный вызов API: - 
            В следующем запросе к Transaction Events API используйте кратковременный токен. Входной файл – это закрытый ключ JSON, созданный с помощью сервисного аккаунта. Вот его область действия: https://www.googleapis.com/auth/facilitated.transaction.event.service 
- Составьте тело запроса для уведомления о событии. - Существует девять типов событий, например - AuthorizationSucceededи- AuthorizationDeclined. Составьте запрос для уведомления о соответствующем событии.
- 
            Отправьте уведомление о транзакции. Для этого выполните следующие действия: - Отправьте запрос HTTP на адрес:https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
- Передайте токен OAuth в заголовок следующим образом: - Authorization: Bearer {token}
- Убедитесь, что merchant_id в запросе совпадает с идентификатором продавца в Google Pay Business Console.
 
- Отправьте запрос HTTP на адрес:
 Кроме того, к запросу предъявляются определенные требования. - Каждый запрос должен иметь уникальный идентификатор requestId.
- Временная метка - requestTimestampне может отличаться от текущего времени более чем на 60 секунд в большую или меньшую сторону.
- merchantIdв заголовке совпадает с идентификатором продавца в Google Pay Business Console.
- Основная версия запроса – 2, что соответствует "v2" в URL.
- Идентификатор transactionIdдолжен совпадать сtransactionInfo.transactionId, заданным в запросеPaymentDataRequest.
 
-