Тестирование и отладка

В этой статье описано, как с помощью cURL и Google Pay API for Passes Merchant Center протестировать и провести отладку интеграции Google Pay API for Passes локально и удаленно. Используйте эти инструменты, чтобы выполнить приемочные тесты интеграции перед запуском.

Приемочное тестирование

Интеграция должна пройти все необходимые приемочные тесты перед запуском. После завершения тестирования вам необходимо обсудить план запуска с техническим специалистом Google.

Использование cURL для тестирования классов и объектов

Ваше приложение будет создавать, получать и изменять классы и объекты, используя REST API. Применяйте cURL, чтобы отправлять запросы и проверять работу конечных точек REST или просматривать необработанные ответы в формате JSON.

Как получить токен владельца OAuth2

Чтобы получить bearerToken, установите инструмент oauth2l и используйте его в указанной ниже команде. Замените pathToPrivateKey на ключ сервисного аккаунта, который вы создали по инструкции в разделе, посвященном аутентификации через OAuth 2.0.

oauth2l fetch --scope wallet_object.issuer --credentials pathToPrivateKey --cache ""

bearerToken используется в указанных ниже командах cURL.

Получение определенного класса или объекта

Используйте указанную ниже команду cURL, чтобы проверить, правильно ли ваше приложение добавляет классы и объекты. Замените walletObjectType на тип класса или объекта (например, loyaltyClass или loyaltyObject), а resourceId – на resourceId с идентификатором объекта или класса, который вы хотите получить. Чтобы получить список идентификаторов, введите команды cURL в указанных ниже разделах списков классов и объектов. Затем добавьте идентификатор в команду cURL, чтобы получить определенный класс или объект.

curl GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken"

Создание списка классов

Введите указанную ниже команду cURL, чтобы создать список всех классов для определенного issuerId или продавца и убедиться, что приложение добавляет нужные классы. Замените classType на тип класса (например, loyaltyClass), а issuerId – на ваш идентификатор issuerId (длинное число, которое можно найти в разделе "Управление аккаунтом" в сервисе Google Pay API for Passes Merchant Center).

curl GET https://walletobjects.googleapis.com/walletobjects/v1/classType?issuerId=issuerId -H "Authorization: Bearer bearerToken"

Создание списка объектов

Введите указанную ниже команду cURL, чтобы создать список всех объектов для определенного classId и убедиться, что приложение добавляет нужные объекты. Замените walletObjectType на тип объекта (например, loyaltyObject), а classId – на родительский элемент classId.

curl GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType?classId=classId -H "Authorization: Bearer bearerToken"

Обновление объекта или класса

Введите указанные ниже команды cURL, чтобы обновить определенный объект или класс.

  1. Получите объект или класс и сохраните его в файле. Замените walletObjectType на тип объекта (например, offerObject или loyaltyClass), а resourceId – на resourceId с идентификатором объекта, который вы хотите получить. Помимо этого, замените myobjectfile.txt на название файла, который содержит объект.
    curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
  2. Измените значения, указанные в полях объекта или класса.
  3. Обновите объект или класс:
    curl -X PUT https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d myobjectfile.txt

Добавление сообщения

Введите указанную ниже команду cURL, чтобы добавить сообщение к определенному объекту или классу. Замените walletObjectType на тип объекта (например, offerObject или loyaltyObject), а resourceId – на resourceId объекта, для которого вы хотите задать сообщение.

curl -X POST -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d '{"message":{"kind":"walletobjects#walletObjectMessage","header":"Welcome to Banconrista Rewards!","body":"Featuring our new bacon donuts.","displayInterval":{"kind":"walletobjects#timeInterval","start":{"date":"1985-04-12T23:20:50.52Z"},"end":{"date":"2085-04-12T23:20:50.52Z"}},"id":"1234"},"reviewStatus":"underReview"}'  https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId/addMessage

Создание класса

Введите указанную ниже команду cURL, чтобы создать класс. Замените classType на тип класса (например, loyaltyClass), а classJSON – на JSON, на основе которого будет создан класс.

curl POST https://walletobjects.googleapis.com/walletobjects/v1/classType -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d  'classJSON'

Тестирование и отладка JWT

Проверяйте созданные JWT. Чтобы протестировать и отладить JWT, выполните указанные ниже действия.

  1. Скопируйте JWT в буфер обмена.
  2. Перейдите на сайт для расшифровки JWT.
  3. Вставьте JWT в текстовое поле.
  4. Нажмите Decode JWT. После расшифровки JWT будет разделен на две части: заголовок и утверждения.
  5. Изучите полезную нагрузку и все поля, чтобы убедиться в готовности JWT к работе.