В этой статье описано, как с помощью 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, чтобы обновить определенный объект или класс.
- Получите объект или класс и сохраните его в файле. Замените walletObjectType на тип объекта (например,
offerObject
илиloyaltyClass
), а resourceId – наresourceId
с идентификатором объекта, который вы хотите получить. Помимо этого, заменитеmyobjectfile.txt
на название файла, который содержит объект.curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
- Измените значения, указанные в полях объекта или класса.
- Обновите объект или класс:
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, выполните указанные ниже действия.
- Скопируйте JWT в буфер обмена.
- Перейдите на сайт для расшифровки JWT.
- Вставьте JWT в текстовое поле.
- Нажмите Decode JWT. После расшифровки JWT будет разделен на две части: заголовок и утверждения.
- Изучите полезную нагрузку и все поля, чтобы убедиться в готовности JWT к работе.