このドキュメントでは、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 は、クラスまたはオブジェクト タイプ(loyaltyClass
、loyaltyObject
など)で置き換えます。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 コマンドを使用します。
- オブジェクトまたはクラスを取得してファイルに保存します。walletObjectType は、オブジェクト タイプ(
offerObject
、loyaltyClass
など)で置き換えます。resourceId は、取得するオブジェクトの ID を含むresourceId
で置き換えます。また、myobjectfile.txt
は、オブジェクトを含むローカル ファイルの名前で置き換えます。curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
- オブジェクトまたはクラスの項目の値を変更します。
- 更新をオブジェクトまたはクラスに 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 は、オブジェクト タイプ(offerObject
、loyaltyObject
など)で置き換えます。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 のテストとデバッグは次の手順で行います。
- JWT をクリップボードにコピーします。
- この JWT-decoder のウェブサイトにアクセスします。
- JWT をテキスト ボックスに貼り付けます。
- [Decode JWT] を押します。JWT がヘッダーとクレームの 2 つのセクションにデコードされます。
- ペイロードと周囲のフィールドをすべて調査し、JWT が完了していることを確認します。