テストとデバッグ

このドキュメントでは、cURL と Google Pay API for Passes Merchant Center を使用して、ローカルとリモートで Google Pay API for Passes 統合のテストとデバッグを行う方法について説明します。これらのツールを使用して、サービスの提供に必要なさまざまな受け入れテストを実施できます。

受け入れテスト

サービスの提供を開始する前に、統合に対して所定の受け入れテストを実施し、すべてのテスト項目に合格する必要があります。テストの完了後、Google の技術担当者と協力して、サービスの提供までの計画を立ててください。

cURL を使用してクラスとオブジェクトのテストを行う

アプリケーションでは、REST API を使用してクラスやオブジェクトの作成、取得、変更を行います。cURL を使用して、REST エンドポイントのテスト リクエストを送信するか、未処理の JSON レスポンスを表示します。

OAuth2 署名なしトークンを取得する

bearerToken を取得するには、oauth2l ツールをインストールし、次のコマンドで使用します。pathToPrivateKey は、OAuth 2.0 認証に関するセクションに従って作成したサービス アカウント キーのパスで置き換えます。

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

bearerToken は、この後に取り上げられる cURL コマンドで使用します。

特定のクラスまたはオブジェクトを取得する

特定のクラスまたはオブジェクトを取得して、これらがアプリケーションによって正しく挿入されているかどうかを確認するには、次の cURL コマンドを使用します。walletObjectType は、クラスまたはオブジェクト タイプ(loyaltyClassloyaltyObject など)で置き換えます。resourceId は、取得するオブジェクトまたはクラスの ID を含む resourceId で置き換えます。次の「オブジェクト リストを取得する」と「クラスリストを取得する」で説明する cURL コマンドを使用すると、ID のリストを取得できます。次に、この cURL コマンドの ID を使用して、特定のオブジェクトまたはクラスを取得します。

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

クラスリストを取得する

特定の issuerId または販売者のクラスリストを取得し、アプリケーションが正しいクラスを挿入しているかどうか確認するには、次の cURL コマンドを使用します。classType は、クラスタイプ(loyaltyClass など)で置き換えます。issuerId は、issuerId(Google Pay API for Passes Merchant Center のアカウント管理画面に表示される大きな番号)で置き換えます。

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

オブジェクト リストを取得する

特定の classId に関連付けられているオブジェクトのリストを取得し、アプリケーションが正しいオブジェクトを挿入しているかどうか確認するには、次の cURL コマンドを使用します。walletObjectType はオブジェクト タイプ(loyaltyObject など)で置き換えます。classId はオブジェクトの親 classId で置き換えます。

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

オブジェクトまたはクラスを更新する

特定のオブジェクトまたはクラスを更新するには、次の cURL コマンドを使用します。

  1. オブジェクトまたはクラスを取得してファイルに保存します。walletObjectType は、オブジェクト タイプ(offerObjectloyaltyClass など)で置き換えます。resourceId は、取得するオブジェクトの ID を含む resourceId で置き換えます。また、myobjectfile.txt は、オブジェクトを含むローカル ファイルの名前で置き換えます。
    curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
  2. オブジェクトまたはクラスの項目の値を変更します。
  3. 更新をオブジェクトまたはクラスに push します。
    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 は、オブジェクト タイプ(offerObjectloyaltyObject など)で置き換えます。resourceId は、メッセージを設定するオブジェクトの ID を含む resourceId で置き換えます。

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-decoder のウェブサイトにアクセスします。
  3. JWT をテキスト ボックスに貼り付けます。
  4. [Decode JWT] を押します。JWT がヘッダーとクレームの 2 つのセクションにデコードされます。
  5. ペイロードと周囲のフィールドをすべて調査し、JWT が完了していることを確認します。