Shopify POS 11.15 corrects the value returned by Discount.amount for Percentage discounts to match the Cart API contract. Extensions that used this value as money need to update their logic.
What changed
A 25% discount on a $200 line item now returns amount: 25. POS 11.14 and earlier returned amount: 50, the monetary amount deducted.
This applies to cart-level and line-item percentage discounts, including manual, app-applied, and automatic discounts exposed with type: 'Percentage'. It affects the Cart API's current state and subscriptions, , , , and the contextual API.
This fix also prevents a percentage discount's monetary allocation from being reinterpreted as a percentage when an extension passes cart state back through .
and Code discounts are unchanged, including percentage-based discount codes exposed with type: 'Code'.
Who's affected
The change applies to all POS UI extensions API versions. Keeping an older does not preserve the previous behavior.
What to do
- Check
Discount.typebefore interpretingamount, and update currency displays, savings calculations, loyalty points, and integrations that treatPercentageamounts as money. - Test cart-level, line-item, and automatic percentage discounts, plus any
workflows, on POS 11.15 or later. - If your extension supports POS 11.14 or earlier, handle the previous behavior until those devices are upgraded.