開発者向けの変更です。
割合の割引で、amount が「割合の値」を返すようになります
対象は、Shopify POS 11.15。
POS UI extensions で、割合/Percentage の割引の Discount.amount が返す値が変わります。
掲載は2026年10月7日、開発者向けの Changelog。
出典: Shopify developer changelog「POS UI extensions now return percentage values for percentage discounts」2026年10月7日
https://shopify.dev/changelog/pos-ui-extensions-now-return-percentage-values-for-percentage-discounts
- Flags: Breaking API Change / Action required
- Surfaces: API
- Affected APIs: POS Extensions
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.
(Shopify POS 11.15 は、割合の割引で Discount.amount が返す値を、Cart API の取り決めに合うよう修正します。この値を金額として使っていた拡張機能は、ロジックを更新する必要があります)
公式の言葉は「修正」。これまでの値のほうが取り決めとずれていた、という書き方です。
公式の例
A 25% discount on a $200 line item now returns amount: 25. POS 11.14 and earlier returned amount: 50, the monetary amount deducted.
(200ドルの明細に25%の割引をかけると、amount は 25 を返すようになります。POS 11.14 以前は、差し引いた金額である 50 を返していました)
- POS 11.14 以前 — 差し引く金額
- POS 11.15 以降 — 割合の値
同じ amount という名前のまま、中身の意味が変わります。
対象になる割引
This applies to cart-level and line-item percentage discounts, including manual, app-applied, and automatic discounts exposed with type: ‘Percentage’.
(カート全体と明細の割合の割引に当てはまります。type: ‘Percentage’ として渡される、手動・アプリが適用した・自動の割引を含みます)
- カート全体の割合の割引
- 明細ごとの割合の割引
- 手動で入れたもの、アプリが入れたもの、自動の割引のいずれも
公式は、影響が出る API の場所も挙げています。Cart API の現在の状態と購読/subscriptions、lineItems[].discounts、cartDiscount、cartDiscounts、カートの明細の contextual API です。
変わらない割引
Fixed Amount and Code discounts are unchanged, including percentage-based discount codes exposed with type: ‘Code’.
(定額の割引とコードの割引は変わりません。type: ‘Code’ として渡される、割合のディスカウントコードも含みます)
割合のディスカウントコードでも、type が 'Code' なら対象外。見分けるのは割引の中身ではなく type です。
書き戻しの取り違えも防ぎます
This fix also prevents a percentage discount’s monetary allocation from being reinterpreted as a percentage when an extension passes cart state back through bulkCartUpdate.
(この修正は、拡張機能が bulkCartUpdate でカートの状態を書き戻すときに、割合の割引の金額の割り当てが、割合として解釈し直されることも防ぎます)
API バージョンを止めても、前の動きには戻りません
ここが、ふつうの破壊的変更と違うところです。
The change applies to all POS UI extensions API versions. Keeping an older api_version does not preserve the previous behavior.
(この変更は、POS UI extensions のすべての API バージョンに当てはまります。古い api_version のままにしても、前の動きは保たれません)
切り替わりの基準は API バージョンではなく、POS アプリのバージョン 11.15 です。
開発者がやること
公式の手順は、次のとおり。
Check Discount.type before interpreting amount, and update currency displays, savings calculations, loyalty points, and integrations that treat Percentage amounts as money.
(amount を解釈する前に Discount.type を確かめ、割合の amount を金額として扱っている通貨の表示、割引額の計算、ロイヤルティポイント、連携を更新してください)
Test cart-level, line-item, and automatic percentage discounts, plus any bulkCartUpdate workflows, on POS 11.15 or later.
(カート全体・明細・自動の割合の割引と、bulkCartUpdate を使う処理を、POS 11.15 以降で試してください)
If your extension supports POS 11.14 or earlier, handle the previous behavior until those devices are upgraded.
(拡張機能が POS 11.14 以前に対応しているなら、その端末が更新されるまでは前の動きにも対応してください)
amountを読む前にDiscount.typeを見る- 通貨の表示・割引額の計算・ポイント・連携のうち、金額として使っていた箇所を直す
- POS 11.15 以降で、割合の割引と
bulkCartUpdateの流れを試す - 11.14 以前の端末が残るあいだは、古い値にも対応する
🔴 公式に書かれていないこと
- POS 11.15 がいつ配信されるかは、この Changelog には書かれていません
- どの POS アプリ・拡張機能が影響を受けるかの一覧は書かれていません
- 更新しない拡張機能で、店の画面やポイントが実際にどうなるかは書かれていません
- 11.14 以前と 11.15 以降の端末が混ざる店で、拡張機能が端末のバージョンをどう見分けるかは書かれていません
- 日本のストアで使えるか・使えるプランの条件は書かれていません
- 原文から張られている公式ドキュメントのリンクの先は、本記事では読んでいません
- 🔴 本記事は日本のストアで確認していません。上の記載が無いことをもって「影響がある」とも「影響がない」とも書きません
POS のアプリを使う店がやることは、次の3つです
- POS の画面で割引・ポイント・割引額の表示を扱うアプリを使っている店は、提供元に POS 11.15 への対応状況を聞く
- 自社で POS UI extensions を作っている場合は、割合の割引の
amountを金額として使っていないかを見直す - POS アプリを 11.15 に上げたら、割合の割引をかけたときの表示を一度 確かめる
🔵 上の手順はキクシル編集部の整理で、公式の記載ではありません。
出典
- Shopify developer changelog「POS UI extensions now return percentage values for percentage discounts」2026年10月7日
https://shopify.dev/changelog/pos-ui-extensions-now-return-percentage-values-for-percentage-discounts
上記の Shopify 公式の情報だけを一次情報として使っています。
次の事項は「未確認」として扱い、推測で補っていません。
- POS 11.15 の配信日
- 影響を受けるアプリの一覧
- 更新しない拡張機能で起きる表示
- 端末のバージョンの見分け方
- 日本のストアでの提供の有無とプランの条件

