商品页接了 Product 标记,富媒体测试里 price 一项报错,代码里写的是 199.00 元,看着挺正常,价格符号也跟着进去了,换了两种写法都没过。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

curl -s https://example.com/p/1/ | grep -o 'price[^,]*'
# 期望 price 为 199.00,priceCurrency 为 CNY

price 只接受纯数字字符串,货币符号、千分位逗号和单位都会被当成非法字符拒绝;货币要单独放到 priceCurrency 里,两者挤在同一个值上必然失败。这一点先确认清楚,后面就不用反复试。

「Product price 格式」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

具体做法是,把 price 改成纯数字,去掉货币符号、千分位逗号和单位;货币单位单独写进 priceCurrency 字段,不能拼在价格里面;价格有区间时改用 AggregateOffer 来表达,避免校验冲突。

改完照着核一遍,测试工具价格项通过,富媒体预览里能正常显示售价和币种。

作者 9823189