POS UI Extensions 2026-07
割引計算が単価ベースへ変更
FixedAmount行割引の渡し方が「合計額」から「1単位あたりの額」に。アプリの計算ロジック修正が必要。
POS UI Extensions API 2026-07 より、setLineItemDiscount / bulkSetLineItemDiscounts に渡す FixedAmount 割引の値が「行合計」から「1単位あたり」に変更されます。2026-04 以前のバージョンを使用しているアプリには影響がありませんが、2026-07 に移行するアプリはリリース前に計算ロジックの修正が必須です。パーセンテージ割引は対象外です。
01何が変わったのか:Before / After 図解
▲ 渡す値の意味が変わるだけで、正しく計算すれば最終的な割引結果は同じ。問題は「計算ロジックを変えないまま移行」した場合に、意図の2倍の割引が適用されてしまう点。
USE CASES02業務に活かせる具体ユースケース
- 課題
- 数量まとめ買い時に合計○○円引きを適用するPOSアプリを運用中。2026-07に移行したら割引が2倍になってしまった。
- 打ち手
-
setLineItemDiscount呼び出し前に、渡す値を「合計割引額 ÷ 数量」に変換するユーティリティ関数を実装する。 - 効果
- API バージョンを上げても意図した割引額が正確に適用され、過剰値引きによる損失を防止できる。
- 技術メモ
- 割り切れない場合は端数処理(切り捨て・四捨五入)をアプリのポリシーに合わせて実装し、最終割引額の整合性を確認すること。
- 課題
- 複数商品ラインへの一括割引を
bulkSetLineItemDiscountsで処理しているが、各行の数量が異なるため per-unit 計算が複雑。 - 打ち手
- 各行アイテムの数量を取得してループ処理し、
totalDiscount / quantityを per-unit 値として配列に格納してから一括送信する。 - 効果
- 一括処理でも行ごとに正確な per-unit 割引が適用され、カート全体の割引総額を意図通りにコントロールできる。
- 技術メモ
- Cart API リファレンスで各行アイテムの数量フィールドを確認し、バンドル商品など特殊ケースでの挙動をテスト環境で検証すること。
- 課題
- パーセンテージ割引と固定額割引を組み合わせて使うアプリで、2026-07 移行時にどちらを修正すべきか判断が難しい。
- 打ち手
- 今回の変更は FixedAmount 割引のみ対象。パーセンテージ割引は変更不要のため、コードベースで
FixedAmountタイプを使っている箇所だけを特定して修正範囲を絞る。 - 効果
- 修正スコープを最小化しながら安全に移行でき、回帰テストのコストも低減できる。
- 技術メモ
- APIバージョンを変更する前に、
FixedAmount割引を呼び出しているすべての箇所をリストアップし、単体テストで per-unit 値の正確性を確認してから本番リリースすること。
03技術者が押さえるべき5つのポイント
MIGRATION GUIDE04移行チェックリスト
| 確認項目 | 対象 | ステータス |
|---|---|---|
| FixedAmount 割引を使用している箇所を全リストアップ | 全開発者 | 必須 |
| per-unit = 合計割引額 ÷ 数量 の計算ロジックを実装 | 2026-07 移行組 | 必須 |
| 割り切れない場合の端数処理ポリシーを決定 | 2026-07 移行組 | 必須 |
| Percentage 割引のロジック変更 | 全開発者 | 不要 |
| 2026-04 以前バージョンのアプリ修正 | バージョン固定組 | 不要 |
| Cart API リファレンスで最新仕様を確認 | 全開発者 | 推奨 |
Source: https://shopify.dev/changelog/pos-ui-extensions-2026-07-uses-per-unit-fixed-amount-line-item-discounts | 公開日: 2026年7月8日






Share:
Appストアレビュー規約1.3が強化される
Shopify App Pricing移行ツール公開:アプリ課金移行の準備を今すぐ