Shopify POS 11.15 修正了 Discount.amount 针对 Percentage 折扣所返回的值,使其与 Cart API 契约保持一致;使用此值作为货币金额的扩展程序需要更新其逻辑。
变更内容
对价值 200 美元的商品行应用 25% 的折扣现在会返回 amount: 25,而 POS 11.14 及更早版本返回的是 amount: 50(即扣除的货币金额)。
这适用于通过 type: 'Percentage' 暴露的购物车级别和商品行百分比折扣,包括手动、应用施加和自动折扣;它会影响 Cart API 的当前状态和订阅、lineItems[].discounts、cartDiscount、cartDiscounts 以及 cartLineItem 上下文 API。
此修复还防止当扩展程序通过 bulkCartUpdate 将购物车状态传回时,百分比折扣的货币分配被重新解释为百分比。
FixedAmount 和 Code 折扣保持不变,包括通过 type: 'Code' 暴露的基于百分比的折扣代码。
受影响对象
此更改适用于 所有 POS UI 扩展程序 API 版本;保留较旧的 api_version 不会维持之前的行为。
应对措施
- 在解释 amount 之前,请检查 Discount.type,并更新货币显示、节省计算、忠诚度积分以及将 Percentage 金额视为货币的集成。
- 在 POS 11.15 或更高版本上测试购物车级别、商品行以及自动百分比折扣,以及任何 bulkCartUpdate 工作流。
- 如果您的扩展支持 POS 11.14 或更早版本,请在这些设备升级之前处理旧版行为。

