You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Wallet API集成问题:仅显示最后一行模板内容排查

Google Wallet API JWT仅显示部分字段的原因排查
  • PHP数组键名重复覆盖
    把JSON转PHP数组时,若重复给同一键名赋值,会覆盖之前的字段内容。比如构造eventTicket对象时,多次给header键赋值,会导致早先的title等字段被最后一次赋值的dateTime覆盖,最终只剩dateTime.start和ticketNumber。示例错误写法:

    $eventTicket = [];
    $eventTicket['header'] = ['title' => '摇滚音乐节门票'];
    $eventTicket['header'] = ['dateTime' => ['start' => '2024-06-15T20:00:00']];
    $eventTicket['ticketNumber'] = 'TK-67890';
    

    正确做法是一次性构造完整的子数组,或者通过数组合并来添加字段。

  • JWT payload结构不符合API规范
    Google Wallet对Event Ticket的JWT payload有严格的层级要求,比如eventTicket必须包含在objects数组内,且每个对象需要id、classId等必填字段。如果你的PHP代码生成的payload结构缺失这些关键层级或必填项,API会忽略无法识别的字段,仅保留能匹配的dateTime.start和ticketNumber。

  • 调试/输出时的局部查看问题
    你可能在查看结果时只输出了数组的最后部分,比如用echo打印数组只会显示Array,或者调试代码里仅打印了最后赋值的字段。要确认完整的JWT结构,建议用json_encode()将PHP数组转为JSON字符串,再查看完整内容;或用print_r()/var_dump()输出整个数组。

  • 字段命名大小写不匹配
    Google Wallet API的字段区分大小写,比如dateTime.start是正确的命名,但如果写成datetime.start或DateTime.Start,API会无法识别这些错误命名的字段,最终仅保留命名正确的ticketNumber和dateTime.start。

内容的提问来源于stack exchange,提问作者Oliver Witt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:29:59