테스트 및 디버깅

이 문서에서는 cURL과 Google Pay API for Passes 판매자 센터를 사용하여 Google Pay API for Passes 통합을 로컬과 원격으로 테스트하고 디버깅하는 방법을 설명합니다. 이 도구들을 활용해 출시에 필요한 다양한 적합성 테스트를 수행하여 통합 결과를 테스트할 수 있습니다.

적합성 테스트

통합 시 적합성 테스트 체크리스트에 있는 모든 테스트를 통과해야 출시가 가능합니다. 테스트를 완료한 후에는 Google 기술 담당자와 협력하여 출시 계획을 세우세요.

cURL을 사용하여 클래스 및 객체 테스트

애플리케이션은 REST API를 사용하여 클래스와 객체를 만들고 검색하고 수정합니다. cURL을 사용하여 REST 엔드포인트 테스트 요청을 보내거나 원시 JSON 응답을 확인하세요.

OAuth2 Bearer 토큰 받기

bearerToken을 받으려면 oauth2l 도구를 설치하고 다음 명령어에서 사용합니다. pathToPrivateKeyOAuth 2.0 인증 섹션에서 만든 서비스 계정 키 경로로 바꿉니다.

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

bearerToken은 다음 cURL 명령어의 일부로 사용됩니다.

특정 클래스 또는 객체 가져오기

애플리케이션이 클래스나 객체를 제대로 삽입하고 있는지 테스트하기 위해 특정 클래스나 객체를 가져오려면 다음과 같은 cURL 명령어를 사용합니다. walletObjectType은 클래스 또는 객체 유형(예: loyaltyClass 또는 loyaltyObject)으로 바꾸고 resourceIdresourceId(가져오려는 객체 또는 클래스의 ID)로 바꿉니다. 다음의 객체 나열과 클래스 나열 섹션에서 cURL 명령어를 사용하여 ID의 목록을 가져올 수 있습니다. 그 다음, 이 cURL 명령어에 특정 ID를 사용하여 특정 객체나 클래스를 검색합니다.

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

클래스 나열

애플리케이션이 올바른 클래스를 삽입하고 있는지 테스트하려면 다음 cURL 명령어를 사용하여 특정 issuerId 또는 판매자의 클래스를 모두 나열합니다. classType은 클래스 유형(예: loyaltyClass)으로 바꾸고 issuerIdissuerId(Google Pay API for Passes 판매자 센터의 계정 관리 화면에 있는 큰 숫자)로 바꿉니다.

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

객체 나열

애플리케이션이 올바른 객체를 삽입하고 있는지 테스트하려면 다음 cURL 명령어를 사용하여 특정 classId와 연결된 객체를 모두 나열합니다. walletObjectType은 객체 유형(예: loyaltyObject)으로 바꾸고 classId는 객체의 상위 classId로 바꿉니다.

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

객체 또는 클래스 업데이트

특정 객체나 클래스를 업데이트하려면 다음 cURL 명령어를 사용하세요.

  1. 객체 또는 클래스를 가져와서 파일에 저장합니다. walletObjectType은 객체 유형(예: offerObject 또는 loyaltyClass)으로 바꾸고 resourceIdresourceId(가져오려는 객체의 ID)로 바꿉니다. 또한 myobjectfile.txt를 객체가 포함되어 있는 로컬 파일의 이름으로 바꿉니다.
    curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
  2. 객체 또는 클래스에 있는 필드 값을 변경합니다.
  3. 객체나 클래스에 업데이트를 푸시합니다.
    curl -X PUT https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d myobjectfile.txt

메시지 추가

특정 객체나 클래스에 메시지를 추가하려면 다음 cURL 명령어를 사용합니다. walletObjectType은 객체 유형(예: offerObject 또는 loyaltyObject)으로 바꾸고 resourceIdresourceId(설정하려는 메시지가 있는 객체의 ID)로 바꿉니다.

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

클래스 만들기

클래스를 만들려면 다음 cURL 명령어를 사용합니다. classType은 클래스 유형(예: loyaltyClass)으로 바꾸고 classJSON은 생성한 클래스 JSON으로 바꿉니다.

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

JWT 테스트 및 디버그

직접 만든 JWT를 살펴보는 것이 도움이 될 때가 종종 있습니다. JWT를 테스트하고 디버깅하려면 다음 안내를 따르세요.

  1. JWT를 클립보드에 복사합니다.
  2. JWT-디코더 웹사이트로 이동합니다.
  3. JWT를 입력란에 붙여넣습니다.
  4. Decode JWT(JWT 디코딩)를 누릅니다. JWT가 헤더와 클레임의 두 섹션으로 디코딩됩니다.
  5. 페이로드와 주변의 모든 필드를 검사하여 JWT가 문제없이 완전한지 확인합니다.