一部キャンセルされた場合、FRONTの注文履歴には一部キャンセル内容が反映されないです。

AI-generated summary

  • 一部キャンセル発生時、フロントの注文履歴が実際の請求額を反映せず、当初の合計を表示。管理画面では正しい実額が表示(例: 6万円→5万円、12万円→10万円)。

  • 技術背景: フロントは order.total_price をそのまま表示しており、返金分(部分キャンセル相当)が控除されていない。

  • 解決策(前提: 管理側で一部返金を実行): templates/customer/account.liquid を編集し、表示式を
    {{ order.total_price | money_with_currency }}
    から
    {{ order.total_price | minus: order.total_refunded_amount | money_with_currency }}
    に変更。返金額(order.total_refunded_amount)を差し引いて実額を表示。

  • 結果: 提案を適用して問題は解消。未解決の論点や追加対応はなし。

注文1件に複数の商品を注文した場合、一部キャンセルしたら、FRONTの注文履歴には一部キャンセル内容が反映されないです。

例1)A、B、Cの3種類商品を注文→Cはキャンセルされた場合
A商品:1万円x3個
B商品:1万円x2個
C商品:1万円x1個
注文金額は6万円ですが、在庫不足でC商品がキャンセルされ、
実際の注文金額は5万円になります。

adminの注文管理ページには5万円が確認できますが、
frontの注文履歴ページには6万円に表示されています。

例2)D、E、Fの3種類商品を注文→Dはキャンセルされ、G商品が追加された場合
D商品:1万円x2個
E商品:1万円x2個
F商品:1万円x3個
注文金額は7万円ですが、在庫不足でD商品がキャンセルされて、
G商品 (1万円x5個) が追加されたら、
実際の注文金額は10万円になります。

adminの注文管理ページには10万円が確認できますが、
frontの注文履歴ページには12万円に表示されています。

frontもadminのように実際の注文金額が表示されて欲しいですが、
どうすればいいでしょうか。

宜しくお願い致します。

質問者様の管理画面での操作としては、

「一部返金」をされているということで合っていますでしょうか?

もし、そうでしたら、

templates/customer/account.liquid を編集いただくことで対応できそうです。

templates/customer/account.liquid内に、

{{ order.total_price | money_with_currency }}

というタグがあるかと思います。

こちらを、下記のようにします。

{{ order.total_price | minus: order.total_refunded_amount | money_with_currency }}

私の前提が誤っている場合、うまくいかないかもしれませんが、

何か参考になれば幸いです。

(キュー田辺)

田辺様、

お返事ありがとうございます。

おかげさまで解決できました!

誠にありがとうございます :grinning_face_with_smiling_eyes:

今後ともよろしくお願い致します。