Google Pay API for Passes umożliwia dodawanie kart lojalnościowych, kart podarunkowych, ofert specjalnych, biletów na wydarzenia, kart pokładowych i biletów okresowych oraz zarządzanie nimi w aplikacji Google Pay. Aby zacząć korzystać z tej platformy, zarejestruj swój projekt, połącz go z Google Pay API for Passes Merchant Center i skonfiguruj swoją usługę internetową do obsługi OAuth 2.0.
Wszystkie aplikacje korzystające z dostępu do interfejsu API Google muszą być zarejestrowane w Konsoli interfejsów API. W wyniku rejestracji powstaje zbiór wartości, które zna tylko Google i Twoja aplikacja (identyfikator klienta, adres e-mail i klucz prywatny). Aby zarejestrować aplikację:
Ostrzeżenie: musisz zapisać klucz prywatny w bezpiecznym miejscu i bezpiecznie nim zarządzać w środowiskach deweloperskich i produkcyjnych. Google przechowuje tylko kopię klucza publicznego. Więcej informacji o zarządzaniu kluczem prywatnym konta usługi znajdziesz tutaj.
Konto Google Pay API for Passes powinna utworzyć Twoja osoba kontaktowa w Google. W witrynie Google Pay API for Passes Merchant Center można zarządzać kontem oraz wszystkimi powiązanymi klasami i obiektami. Aby powiązać swoje konto usługi z kontem Google Pay API for Passes Merchant Center, wykonaj te czynności:
@<your_domain>.iam.gserviceaccount.com) i wklej go w polu Invite people.Serwer Google do autoryzacji OAuth 2.0 obsługuje interakcję między serwerami, na przykład między aplikacją internetową a Google Cloud Storage. Aplikacja wykonująca żądanie musi potwierdzić swoją tożsamość, aby uzyskać dostęp do interfejsu API. Nie wymaga to udziału użytkownika końcowego.
Aby autoryzować żądania do interfejsu API, musisz uzyskać token dostępu. Zalecamy użycie biblioteki klienta, która pozwala uprościć cały proces.
Na tych kartach znajdziesz przykłady kodu pozwalającego utworzyć dane logowania konta usługi w różnych językach programowania:
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)
Utworzone dane logowania będą potrzebne podczas wykonywania poleceń API REST, takich jak wstawienie klasy.
Jeżeli chcesz ręcznie uzyskać token dostępu, przeczytaj sekcję o używaniu protokołu OAuth 2.0 w aplikacjach międzyserwerowych. Musisz utworzyć token sieciowy JSON (JWT) i podpisać go kluczem prywatnym oraz utworzyć żądanie tokena dostępu w odpowiednim formacie. Wtedy Twoja aplikacja wyśle żądanie tokena na serwer autoryzacji Google OAuth 2.0 i zostanie zwrócony token dostępu. Aplikacja uzyska dostęp do interfejsu API dopiero po odebraniu tokena dostępu. Gdy token dostępu wygaśnie, aplikacja będzie musiała powtórzyć ten proces.
iss w zbiorze deklaracji JWT używa adresu e-mail konta usługi utworzonego w Konsoli interfejsów API Google na etapie rejestrowania aplikacji.scope w zbiorze deklaracji JWT zawiera oddzieloną spacjami listę uprawnień, których żąda aplikacja. https://www.googleapis.com/auth/wallet_object.issuer.