无法添加自行生成的Google Passes至钱包问题求助
排查Google Wallet通用通行证换ID添加失败的问题
以下是几个关键排查方向:
- 对象ID格式不符合要求:你使用的
<ISSUER_ID>.traderLicenceClass<ID>格式,需确认<ID>部分仅包含字母、数字、下划线或点号,且整个ID长度不超过128字符。Google Wallet对对象ID的字符限制严格,特殊字符会直接导致验证失败。 - 未创建对应新对象:每个通行证对应一个独立的Wallet对象,仅更换ID但未通过API或开发者控制台创建该新ID的对象,会导致添加时找不到对应资源。类(Class)只是模板,必须为每个新ID生成对应的对象实例。
- JWT payload中的ID不匹配:检查生成JWT时payload里的
id字段,是否与你创建的新对象ID完全一致(大小写敏感)。哪怕是细微的字符差异,都会触发错误提示。 - 新对象状态未激活:新创建的对象可能处于
INACTIVE状态,需要确认对象的state属性是否设置为ACTIVE,未激活的对象无法添加到钱包。 - 对象属性与类定义不兼容:核对新对象的所有字段,确保类中要求的必填字段在对象中都已正确填充,且字段格式符合类的定义(比如日期格式、字符串长度等)。
- JWT签名或有效期问题:虽然能获取JWT,但更换ID后需重新生成签名,确保使用的是正确的服务账号密钥,且JWT的
exp(过期时间)设置在合理范围内(不能早于当前时间)。
如果以上排查都无法解决问题,可以提供生成JWT的payload代码、创建新对象的API请求内容,以便进一步定位。
内容的提问来源于stack exchange,提问作者TreyCollier
相关产品推荐
相关产品推荐

