Dostęp do API REST

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.

1. Zarejestruj aplikację

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ę:

  1. Zarejestruj się, aby uzyskać dostęp do Google Pay API for Passes. Jeśli jesteś już zarejestrowanym użytkownikiem, pomiń ten krok.
  2. Otwórz Konsolę interfejsów API.
  3. Kliknij przycisk Utwórz projekt lub wybierz Utwórz projekt z rozwijanego menu u góry strony. Pojawi się strona Nowy projekt.
  4. Wpisz nazwę projektu.
  5. Kliknij Utwórz. Gdy konfiguracja zostanie ukończona, w prawym górnym rogu pojawi się powiadomienie. Kliknij je, aby otworzyć stronę główną projektu.
  6. Wybierz Przejdź do przeglądu interfejsów API. Kliknij WŁĄCZ INTERFEJSY API I USŁUGI.
  7. Wyszukaj Interfejs API Karty w Google Pay i kliknij Włącz.
  8. Kliknij Dane logowania w menu po lewej stronie.
  9. Kliknij przycisk Utwórz dane logowania i wybierz Klucz konta usługi.
  10. Na stronie, która się wyświetli, utwórz klucz konta usługi. Może też być konieczne utworzenie konta usługi. W przypadku tego konta usługi nie są potrzebne żadne dodatkowe role. Wybierz typ klucza json i kliknij Utwórz.
  11. Do listy kont zostanie dodane nowe konto usługi, a do lokalnego systemu plików zostanie pobrany klucz prywatny. Jest to jedyna kopia tego klucza. Zapisz plik klucza w bezpiecznym miejscu. Będzie on potrzebny później.
  12. Skopiuj adres e-mail konta usługi klucza. Aby go zobaczyć, kliknij Zarządzaj kontami usługi na karcie Dane logowania. Ten adres będzie potrzebny później.

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.

2. Powiąż konto usługi z kontem Google Pay API for Passes

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:

  1. Otwórz Google Pay API for Passes Merchant Center.
  2. Wybierz swoje konto z listy. Pojawi się strona Informacje o koncie.
  3. Kliknij Udostępnij. Pojawią się ustawienia udostępniania.
  4. Skopiuj adres e-mail konta usługi klucza z sekcji Zarejestruj aplikację (kończy się ciągiem @<your_domain>.iam.gserviceaccount.com) i wklej go w polu Invite people.
  5. W menu uprawnień ustaw może edytować i kliknij Wyślij. Konto usługi będzie od teraz powiązane z Twoim kontem Google Pay API for Passes. Możesz już wykonywać wywołania REST w interfejsie API.

3. Używaj protokołu OAuth 2.0 w aplikacjach międzyserwerowych

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.

Tworzenie danych logowania konta usługi za pomocą biblioteki

Na tych kartach znajdziesz przykłady kodu pozwalającego utworzyć dane logowania konta usługi w różnych językach programowania:

Java

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();

PHP

$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');

Python

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.

Ręczne uzyskiwanie tokena dostępu

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.

  • Pole iss w zbiorze deklaracji JWT używa adresu e-mail konta usługi utworzonego w Konsoli interfejsów API Google na etapie rejestrowania aplikacji.
  • Pole scope w zbiorze deklaracji JWT zawiera oddzieloną spacjami listę uprawnień, których żąda aplikacja.
  • Prawidłowy zakres dla aplikacji produkcyjnej to https://www.googleapis.com/auth/wallet_object.issuer.

Gdy już wykonasz te czynności, przeczytaj opis funkcji Zapisz w Google Pay, by dowiedzieć się, jak klienci mogą łatwo zapisywać karty lojalnościowe, karty podarunkowe, oferty specjalne, bilety na wydarzenia, karty pokładowe i bilety okresowe z Twojej witryny w Google Pay.