> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 割引モジュールが表示されない

> カスタマイズされたストア構成で割引モジュールが表示されない問題をトラブルシューティングします。

<div id="overview">
  # 概要
</div>

割引モジュールがカートドロワーに表示されない場合、通常は以下に示す理由のいずれかが原因です。

ほとんどの場合、この問題は使用されている割引の種類、レガシーなカートシステム、またはテーマ/アプリの競合に関連しています。

<div id="reason-1-not-a-true-shopify-discount">
  # 理由 1 – Shopify の正式な割引ではない
</div>

カートフッターの Discount（割引）または Savings（節約額）の行は、**Shopify の正式な割引**がカートに適用されている場合にのみ表示されます。

つまり、次の場合には割引行は表示され**ません**：

* バンドルアプリによって作成されたシミュレーションまたは「疑似」割引
* 実際の Shopify 割引を適用する代わりにラインアイテムの価格を調整するアプリ
* 「割引前」と「割引後」の価格を表示するカスタム価格ロジック
* **Shopify 管理画面で設定された比較価格（compare-at price）** — デフォルトの場合。これらは有効な割引ではなく商品価格の表示であるため、オプトインしない限り割引行では無視されます（下記参照）。

Shopify のバックエンドを通じて実際の Shopify 割引が適用されていない場合、割引行は仕様として非表示のままになります。

<Note>
  **Cart Summary 2.0 では、compare-at の節約額を含めることができます。** **Settings > Cart settings > Advanced Settings** で **Show compare-at price savings in footer total** を有効にすると、節約額の行は、すでにカウントしている割引に各アイテムの compare-at 差額を加算します。この設定を読み取るのはバージョン 2 の Cart Summary モジュールのみです。バージョン 1 では、節約額の行は引き続き割引コードのみをカウントします。[フッター合計に比較価格の節約額を表示する](/ja/upcart/show_compare_at_price_savings_in_footer_total)をご覧ください。
</Note>

<div id="bundle-apps-discounts">
  ## バンドルアプリと割引
</div>

一部のバンドルアプリや割引アプリは、Shopify の正式な割引を適用する代わりに価格調整を使用します。

Shopify は、Shopify 管理画面を通じて作成・適用された割引（割引コードまたは自動割引）のみを認識します。アプリが次のことを行う場合：

* ラインアイテムの価格を調整する
* 「割引前」と「割引後」の価格を表示する
* 計算された「節約額」を表示する
* 複数の商品を割引されたバンドル価格にまとめる

一方で実際の Shopify 割引オブジェクトを適用していない場合、Upcart はそれを割引として検出しません。

その結果、カートフッターの割引行は表示されません。

<div id="reason-2-legacy-cart-token">
  # 理由 2 - レガシーカートトークン
</div>

一部のストアは、Upcart の割引モジュールに必要な機能をサポートしていない Shopify の古いカートシステムをまだ使用しています。これが検出されると、Upcart は問題を防ぐために割引モジュールを自動的に非表示にします。

<div id="how-to-identify">
  ## 確認方法
</div>

ストアが古いカートトークンを使用しているかどうかを確認するには：

1. Upcart を有効にした状態でカートに商品を追加します。
2. ブラウザの開発者コンソールを開きます。
3. 次のコードを貼り付けて実行します：

```
window.upcartModifyCart = (cart) => { if (!cart.token) { alert('No cart token found'); return; } const isLegacyCartToken = cart.token.match(/^[0-9a-f]{32}$/) !== null; alert("Is this a legacy cart token? " + (isLegacyCartToken ? "Yes" : "No")); return cart; }
```

1. カート内の任意のアイテムの数量を変更してアラートを表示させます。

<div id="how-to-fix">
  ## 解決方法
</div>

レガシーカートトークンの使用が確認された場合は、**Shopify サポート**または**テーマ開発者**に連絡して、ストアのカートシステムを更新してもらう必要があります。\
[Cart API の移行](https://shopify.dev/docs/api/ajax#cart-token)に関する Shopify のドキュメントをご覧ください。

<div id="reason-3-theme-or-app-conflict">
  # 理由 3 - テーマまたはアプリの競合
</div>

テーマや他のインストール済みアプリのカスタム CSS または JavaScript が、意図せず割引モジュールを非表示にしている可能性があります。

<div id="how-to-identify-1">
  ## 確認方法
</div>

テーマとカスタム CSS を調べて、次を含むスタイルがないか確認してください：

* `display: none;`
* `visibility: hidden;`
* `opacity: 0;`

これらは、割引モジュールのコンテナまたはその子要素を対象にしている可能性があります。

<div id="how-to-fix-1">
  ## 解決方法
</div>

テーマ開発者、または競合しているアプリの開発者にご連絡ください。割引モジュールを表示したままにする必要があることを伝え、CSS または JavaScript を適宜調整してもらうよう依頼してください。
