代引き手数料が変動額の場合、購入時に正しく計算されない場合がある

フォーラム バグ報告 代引き手数料が変動額の場合、購入時に正しく計算されない場合がある

  • このトピックには4件の返信、2人の参加者があり、最後にwkoichiにより8年前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #77823
    wkoichi
    参加者

    代引き手数料を変動額にしている場合、商品購入時のカートの「内容確認」画面で表示される代引き手数料が正しく計算されない場合があります。
    (そのまま注文を確定すると間違った代引き手数料のまま注文される)

    代引き手数料を確定する一連のロジックに不具合があるように見受けられます。
    長くなりますがソースと突き合わせながらご確認いただければと思います。

    主な対象ファイルは 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%/)
    ——————————————–

    #77834
    nanbu
    キーマスター

    こんにちは

    消費税の対象を「総合計金額」と設定している時の事象かと思います。

    「総合計金額」には代引き手数料が含まれます。代引き手数料が無ければ消費税を計算できないという事になります。
    ところが、代引き手数料の対象も「総合計金額」となっており、ここに矛盾が発生します。
    これは、たとえ代引き手数料の計算を最後に持って行っても同じことになります。

    消費税の対象、代引き手数料の対象を変えない限りこの問題は解決しません。どの様にするのがベストだと思いますか? ご意見をいただけたらと思います。

    #77836
    wkoichi
    参加者

    nanbu 様

    ご返答ありがとうございました。

    この事象は消費税の対象が「商品代金のみ」の場合にも発生します。

    (おっしゃるように、総合計金額の場合の代引き手数料の計算のツジツマが合わない、という問題もあろうかと思いますが、また別の問題です。)

    記載したように、プログラム上の不具合があるように見受けられます。
    お手数ですが、ご確認いただけますと幸いです。

    #77878
    nanbu
    キーマスター

    確認いたしました。

    確かに、1回目の表示と2回目の表示で金額が変わってしまうようです。
    引数に渡す値はセッションからでは無く、直前で計算したものを改めて渡すことにいたしました。また、代引き手数料の消費税はここでは計算に入れない為、常に0を渡すようにいたします。

    次期バージョンにてリリースしたいと思います。
    ご指摘ありがとうございました。

    #77892
    wkoichi
    参加者

    ご確認いただき、ありがとうございました。
    次期バージョンのリリース楽しみにしております。
    今後ともよろしくお願い致します。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。