Testowanie i debugowanie

Ten dokument wyjaśnia, jak za pomocą cURL i Google Pay API for Passes Merchant Center testować oraz debugować integrację z Google Pay API for Passes, zarówno zdalnie, jak i lokalnie. Te narzędzia pozwalają wykonać wiele testów weryfikacyjnych, bez których nie uruchomisz integracji.

Testy weryfikacyjne

Aby integracja mogła działać, musi przejść wszystkie testy weryfikacyjne z odpowiednich list kontrolnych. Po zakończeniu testów razem z osobą kontaktową w Google do spraw technicznych zaplanuj uruchomienie integracji.

Testowanie klas i obiektów za pomocą cURL

Aplikacja tworzy, pobiera i zmienia klasy oraz obiekty za pomocą interfejsu API REST. Biblioteka cURL pozwala wysyłać żądania do punktów końcowych REST i wyświetlać nieprzetworzone odpowiedzi JSON.

Uzyskiwanie tokena okaziciela OAuth2

Aby uzyskać bearerToken, zainstaluj narzędzie oauth2l i użyj go w poniższym poleceniu. Zastąp pathToPrivateKey ścieżką klucza konta usługi utworzoną zgodnie z opisem w sekcji omawiającej uwierzytelnianie OAuth 2.0.

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

Parametr bearerToken jest używany w poniższych poleceniach cURL.

Pobieranie klasy lub obiektu

Aby sprawdzić, czy aplikacja poprawnie wstawiła klasę lub obiekt, użyj poniższego polecenia cURL. Zastąp walletObjectType swoją klasą lub typem obiektu (takim jak loyaltyClass lub loyaltyObject), resourceId zastąp wartością resourceId z identyfikatorem obiektu lub klasy, które chcesz pobrać. Polecenia cURL, za pomocą których wyświetlisz identyfikatory, zawierają poniższe sekcje o wyświetlaniu list obiektów i klas. Użyj identyfikatora w tym poleceniu cURL, aby pobrać obiekt lub klasę.

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

Wyświetlanie listy klas

Jeśli chcesz wyświetlić listę wszystkich klas danego identyfikatora issuerId lub sprzedawcy, by sprawdzić, czy aplikacja wstawia poprawne klasy, użyj poniższego polecenia cURL. Zastąp classType typem zajęć (takim jak loyaltyClass), a issuerId Twoją wartością issuerId (duża liczba na ekranie Zarządzanie kontem w Google Pay API for Passes Merchant Center).

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

Wyświetlanie listy obiektów

Aby wyświetlić listę wszystkich obiektów powiązanych z danym identyfikatorem classId i sprawdzić, czy aplikacja wstawia poprawne obiekty, użyj poniższego polecenia cURL. Zastąp walletObjectType typem obiektu (takim jak loyaltyObject), a classId – nadrzędnym classId obiektu.

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

Aktualizacja obiektu lub klasy

Aby zaktualizować obiekt lub klasę, użyj tych poleceń cURL:

  1. Pobierz obiekt lub klasę i zapisz je w pliku. Zastąp walletObjectType typem obiektu (takim jak offerObject lub loyaltyClass), a resourceId zastąp wartością resourceId z identyfikatorem obiektu, który chcesz pobrać. Zastąp też myobjectfile.txt nazwą pliku lokalnego, który zawiera obiekt.
    curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
  2. Zmień wartości pól w obiekcie lub klasie.
  3. Przekaż aktualizację do obiektu lub klasy:
    curl -X PUT https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d myobjectfile.txt

Dodawanie wiadomości

Aby dodać wiadomość do obiektu lub klasy, użyj poniższego polecenia cURL. Zastąp walletObjectType typem obiektu (takim jak offerObject lub loyaltyObject), a resourceId zastąp wartością resourceId z identyfikatorem obiektu, którego wiadomość chcesz ustawić.

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

Tworzenie klasy

Aby utworzyć klasę, użyj poniższego polecenia cURL. Zastąp classType typem zajęć (takim jak loyaltyClass), a classJSON zastąp utworzoną klasą w formacie JSON.

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

Testowanie i debugowanie tokena JWT

Często warto sprawdzić utworzone tokeny JWT. Aby przetestować i debugować token JWT:

  1. Skopiuj token JWT do schowka.
  2. Otwórz tę stronę z dekoderem JWT.
  3. Wklej token JWT w polu tekstowym.
  4. Naciśnij Decode JWT (Dekoduj token JWT). Token zostanie zdekodowany i podzielony na dwie sekcje: nagłówek i deklaracje.
  5. Sprawdź ładunek i wszystkie otaczające go pola, aby w tokenie JWT niczego nie brakowało.