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

Google Wallet通用卡移除CardTitle及自定义字体颜色问题

Google Wallet Generic Pass 无CardTitle配置问题

问题背景

基于.NET(使用Google Apis 1.62.0 NuGet包)实现Google Wallet的Generic Pass时,需求为隐藏CardTitle并自定义卡片正面文本字体颜色,但将CardTitle设为null、空字符串、空格或移除该字段后,卡片无法添加至Google Wallet,提示“Something went wrong”,需确认是否支持创建未设置CardTitle的Generic Pass。

预期与当前行为

  • 预期行为:将GenericObject的CardTitle设为null/空后,卡片可成功添加至Google Wallet且不显示标题
  • 当前行为:卡片添加失败,弹出错误提示

复现步骤

  • 移除GenericObject的CardTitle字段,或设为string.Empty、空格、null
  • 将模型转为JwtObject并生成payload
  • 创建JWT令牌并拼接至Google Pay API链接
  • 通过链接尝试添加卡片至Google Wallet

解决方案

Google Wallet的Generic Pass规范中,cardTitle为必填字段,不能设为null/空字符串或移除字段,否则会触发API校验失败。要实现“不显示标题”的需求,可采用以下方式:

  1. 用零宽度空格填充CardTitle:将CardTitle设置为零宽度空格字符(\u200B),该字符在界面上不会显示,但满足字段非空的校验要求
  2. 自定义正面文本字体颜色:通过CardTemplateOverride配置fontColor属性,使用十六进制颜色值指定字体颜色

.NET代码示例

var genericObject = new GenericObject
{
    // 零宽度空格,满足必填要求且不显示
    CardTitle = "\u200B",
    CardTemplateOverride = new CardTemplateOverride
    {
        CardRowTemplateInfos = new List<CardRowTemplateInfo>
        {
            new CardRowTemplateInfo
            {
                TwoItems = new TwoItems
                {
                    StartItem = new TemplateItem
                    {
                        FirstValue = new TemplateText
                        {
                            Text = "自定义正面内容",
                            // 设置字体颜色为白色
                            FontColor = "#FFFFFF"
                        }
                    }
                }
            }
        }
    },
    // 补充其他必填字段(如Id、ClassId等)
    Id = "your-pass-id",
    ClassId = "your-class-id"
};

原因说明

Google Wallet的JWT payload校验会严格检查cardTitle字段的非空性,null/空字符串/缺失字段会被判定为无效请求,导致卡片添加失败。使用零宽度空格既满足校验规则,又能达到隐藏标题的视觉效果。

内容的提问来源于stack exchange,提问作者Junaid Sultan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:31:06