代引き手数料を変動額にしている場合、商品購入時のカートの「内容確認」画面で表示される代引き手数料が正しく計算されない場合があります。
(そのまま注文を確定すると間違った代引き手数料のまま注文される)
代引き手数料を確定する一連のロジックに不具合があるように見受けられます。
長くなりますがソースと突き合わせながらご確認いただければと思います。
主な対象ファイルは usc-e-shop/classes/usceshop.class.php です。
この中の 7632行目 usc_e_shop::getCODFee メソッドにて、
代引き手数料を確定するための注文金額を算出していますが、
このときに usc_e_shop::getTax メソッドをコールしています。
メソッドをコールする前段で getTax の引数として $materials という配列を準備していますが、
この配列に格納する値はセッション由来の値かと思います。
そのため、初めて「内容確認」画面に遷移してきたときはそもそもセッションの値が存在せず、$materials の各要素に空の値がセットされてしまいます。
その結果、 getTax メソッドが返す消費税額が必ず 0 になってしまい、注文金額が本来よりも消費税額分少なくなります。
代引き手数料は注文金額を元に確定されますので、消費税額によって代引き手数料の区分が変わるようなケースにおいて、誤った代引き手数料が適用されてしまいます。
この問題が発生した際の具体的な条件は以下のとおりです。
* 売価1,440円の商品を登録。
* 送料は全国一律1,000円。
* 代引き手数料は変動額。10,000円以下は300円、10,001円以上は400円
操作としては、以下のようになります。
* 上記の1,440円の商品を6個カートに入れる
* そのまま注文手続きを進めて「内容確認」画面を表示。すると代引き手数料は300円と出る(期待値は400円)
* 「内容確認」で「お支払い方法入力に戻る」ボタンを押して全画面に戻り、また「内容確認」に進む。すると、今度は代引き手数料は400円になっている
以上、ご確認のほどよろしくお願いします。
動作に関するご質問の場合は、下記をコピペしてご利用の環境をご記入ください。
——————————————-
WordPress のバージョン:4.4.2
Welcart のバージョン:1.7.4.1603031
ご利用のテーマ:Welcart Default Theme で検証中。その他自作テーマでも再現
症状を確認したブラウザ:Chrome, Firefox
サーバー(会社名、サービス名): さくらレンタルサーバーおよび VVV(ローカル開発環境)
SSLの利用: なし
WordPress のパーマリンク設定: カスタム構造(/%post_id%/)
——————————————–