测试和调试

本文档介绍了如何使用 cURL 和 Google Pay API for Passes Merchant Center 在本地和远程测试和调试 Google Pay API for Passes 集成。您可以使用这些工具根据发布所需的多项验收测试来测试您的集成。

验收测试

在发布之前,您的集成必须通过相应的验收测试核对清单上的所有测试。测试完成后,请与您的 Google 技术联系人一起做好发布规划。

使用 cURL 测试您的类和对象

您的应用将使用 REST API 来创建、检索和修改类和对象。 使用 cURL 发送测试 REST 端点或查看原始 JSON 响应的请求。

获取 OAuth2 不记名令牌

要获取 bearerToken,请安装 oauth2l 工具并在以下命令中使用该工具。按照讨论 OAuth 2.0 身份验证的部分所述,将 pathToPrivateKey 换为您创建的服务帐号密钥路径。

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

以下 cURL 命令中将包含 bearerToken

获取特定的类或对象

使用以下 cURL 命令获取特定的类或对象,以便测试应用是否正确插入了该类或对象。将 walletObjectType 替换为您的类或对象类型(例如 loyaltyClassloyaltyObject),并将 resourceId 替换为 resourceId(其中含有您要获取的对象或类的 ID)。您可以使用接下来的“列出对象”和“列出类”部分中的 cURL 命令来获取 ID 列表,然后使用此 cURL 命令和 ID 来检索特定对象或类。

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

列出类

使用以下 cURL 命令列出特定 issuerId 或商家的所有类,以便测试您的应用是否插入了正确的类。将 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"

列出对象

使用以下 cURL 命令列出与特定 classId 关联的所有对象,并测试您的应用是否插入了正确的对象。将 walletObjectType 替换为您的对象类型(例如 loyaltyObject),并将 classId 替换为该对象的父级 classId

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

更新对象或类

使用以下 cURL 命令更新特定对象或类:

  1. 获取该对象或类并保存到文件中。将 walletObjectType 替换为您的对象类型(例如 offerObjectloyaltyClass),然后将 resourceId 替换为 resourceId(其中含有您要获取的对象的 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 替换为您的对象类型(例如 offerObjectloyaltyObject),并将 resourceId 替换为 resourceId(其中含有您要设置其消息的对象的 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 将被解码为两部分:标头和声明。
  5. 检查载荷和所有相关字段以确保 JWT 完整。