С помощью Google Pay API for Passes можно добавлять карты постоянных клиентов, подарочные карты, специальные предложения, билеты на мероприятия, посадочные талоны на самолеты и билеты на транспорт и управлять ими непосредственно в приложении Google Pay. Чтобы начать работу с ним, зарегистрируйте свой проект, подключите его к сервису Google Pay API for Passes Merchant Center, а затем настройте веб-сервис для аутентификации по протоколу OAuth 2.0.
Все приложения с доступом к API Google необходимо регистрировать в API Console. После регистрации вы получите набор значений, которые будут храниться только в Google и вашем приложении (идентификатор клиента, адрес электронной почты и закрытый ключ). Чтобы зарегистрировать приложение, выполните указанные ниже действия.
Предупреждение. Храните закрытый ключ в безопасном месте и используйте его, соблюдая все меры предосторожности как в тестовой, так и в рабочей среде. Google хранит копии только открытых ключей. Более подробную информацию об управлении закрытыми ключами сервисных аккаунтов можно найти здесь.
Аккаунт Google Pay API for Passes уже должен быть создан для вас представителем Google. Сервис Google Pay API for Passes Merchant Center – это веб-сайт, на котором вы можете управлять своим аккаунтом, а также всеми связанными с ним классами и объектами. Чтобы добавить сервисный аккаунт в Google Pay API for Passes Merchant Center, выполните указанные ниже действия.
@<your_domain>.iam.gserviceaccount.com), и вставьте его в поле Invite people.Сервер авторизации Google OAuth 2.0 поддерживает взаимодействие между серверами, например между веб-приложением и облачным хранилищем Google. Чтобы получить доступ к API, приложение должно подтвердить свои данные. Это делается без участия пользователя.
Чтобы авторизовать запросы к API, необходимо получить токен доступа. Настоятельно рекомендуем воспользоваться клиентской библиотекой, чтобы упростить процесс.
Ниже собраны примеры кода на разных языках программирования, показывающие, как можно создать учетные данные сервисного аккаунта.
GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId("ServiceAccountEmail@developer.gserviceaccount.com") .setServiceAccountScopes("https://www.googleapis.com/auth/wallet_object.issuer") .setServiceAccountPrivateKey(new File("/example/path/to/privatekey.json")) .build();
$client = new Google_Client(); $client->setApplicationName('Wallet Objects App'); $client->setScopes(array('https://www.googleapis.com/auth/wallet_object.issuer')); $client->setAuthConfigFile('/example/path/to/privatekey.json');
file_path = '/example/path/to/privatekey.json' credentials = ServiceAccountCredentials.from_json_keyfile_name( file_path, 'https://www.googleapis.com/auth/wallet_object.issuer') http = httplib2.Http() http = credentials.authorize(http)
Используя полученные учетные данные, вы сможете выполнять команды REST API, например добавлять классы.
Ознакомьтесь с разделом Как использовать протокол OAuth 2.0 в межсерверных приложениях, чтобы узнать, как получить токен доступа вручную. Вам нужно создать веб-токен JSON (JWT) и зарегистрироваться, используя секретный ключ, а затем составить запрос токена доступа в подходящем формате. После этого приложение должно отправить запрос на сервер авторизации OAuth 2.0, который в ответ пришлет токен. Ваше приложение сможет получить доступ к API только после получения токена. Когда срок действия токена доступа истечет, приложение должно будет повторить описанный выше процесс.
iss в наборе утверждений JWT указывается адрес электронной почты сервисного аккаунта, созданного в Google API Console в разделе регистрации приложения.scope в наборе утверждений JWT задается список разрешений, запрашиваемых приложением (вводится через пробел). https://www.googleapis.com/auth/wallet_object.issuer.