В этом руководстве для разработчиков рассказывается, как упростить процесс передачи в 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
.
-