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:
- Pobierz obiekt lub klasę i zapisz je w pliku. Zastąp walletObjectType typem obiektu (takim jak
offerObject
lubloyaltyClass
), 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
- Zmień wartości pól w obiekcie lub klasie.
- 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:
- Skopiuj token JWT do schowka.
- Otwórz tę stronę z dekoderem JWT.
- Wklej token JWT w polu tekstowym.
- Naciśnij Decode JWT (Dekoduj token JWT). Token zostanie zdekodowany i podzielony na dwie sekcje: nagłówek i deklaracje.
- Sprawdź ładunek i wszystkie otaczające go pola, aby w tokenie JWT niczego nie brakowało.