代引手数料を合計に加算させたいですが。。。。

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

代引手数料を合計に加算させたいですが。。。。

投稿記事by KENちゃん » 2005/9/17 17:22

代引手数料を合計に加算させたいですが、可能でしょうか?
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

投稿記事by hira » 2005/9/17 18:25

可能です。管理画面>モジュール>注文合計にありますよ。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

追加MODULEの代引き手数料に場合、合計金額に加算されませんね。。。。

投稿記事by KENちゃん » 2005/9/17 19:16

お世話になっております。

代金連動手数料計算代引モジュールは、代引き手数料を表示させて、便利ですが、
結果的には合計金額には加算されない、表示だけの数字なので、注文メールを受信した時点で合計金額を再計算し、お客様にお知らせしなければならないですね。。。。

http://zen-cart.jp/pukiwiki/pukiwiki.php?%A5%B3%A5%F3%A5%C8%A5%EA%A5%D3%A5%E5%A1%BC%A5%B7%A5%E7%A5%F3%2F13

代引き手数料を合計金額に自動的に加算して表示させる方法はありますか??

宜しくお願い致します。
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

Re: 追加MODULEの代引き手数料に場合、合計金額に加算されませんね。。。。

投稿記事by hira » 2005/9/17 20:13

KENちゃん さんが書きました:お世話になっております。

代金連動手数料計算代引モジュールは、代引き手数料を表示させて、便利ですが、
結果的には合計金額には加算されない、表示だけの数字なので、注文メールを受信した時点で合計金額を再計算し、お客様にお知らせしなければならないですね。。。。



いえいえ、デフォルトでインストールされている代引きモジュールでは
合計にきちんと表示されるはずですよ。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

代金引換手数料の金額について

投稿記事by KENちゃん » 2005/9/17 21:55

hira様、ありがとうございます。

はい、デフォルトでインストールされている代引きモジュールでは、確かに、合計にきちんと表示されました。 しかし、その手数料金額はFlatですよね。

実は、私が希望する事は、その代金引換手数料の金額部分です。
注文代金に連動する手数料を反映したいんです。

デフォルトでインストールされている代引きモジュールでも注文代金に連動する手数料を設定する事は可能でしょうか?(日本国内だけのサイトです)

質問ばかりで、ごめんなさい。


KEN
アバター
おかっち

投稿記事by おかっち » 2005/9/17 22:15

ソースは汚いし、他の環境でちゃんと動作するか?
保証はいっさいありませんが、
私が作ったのがあります。

ヤマトコレクト用です。

http://gbuc.net/download/includes.zip

に置いておきます。

何かわからないことがあったらお訪ねください。
わかる範囲でお答えいたします。

バックアップは必ずとっておいてくださいね(^_^)
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

投稿記事by hira » 2005/9/17 22:25

おかっちさんのアプローチとは違いますが・・・
以前、掲示板で紹介されたハックです。
検索してみましたが、ちょっとわからなかったので、
diffを掲載いたしますね。
該当ファイルは、\includes\modules\order_total\ot_cod_fee.phpです。
ちなみに必要なのは、上の方だけで、下の方は、管理画面の説明部分です。

コード: 全て選択

***************
*** 66,73 ****
       if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);
 
              for ($i = 0; $i < count($cod_zones); $i++) {
!               //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
!               if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出
                    $cod_cost = $cod_zones[$i + 1];
                    $cod_country = true;
                    //print('match' . $i . ': ' . $cod_cost);
--- 66,72 ----
       if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);
 
              for ($i = 0; $i < count($cod_zones); $i++) {
!               if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
                    $cod_cost = $cod_zones[$i + 1];
                    $cod_country = true;
                    //print('match' . $i . ': ' . $cod_cost);
***************
*** 134,142 ****
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for German Post', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:3.58,00:9.99', 'German Post: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Servicepakke', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'NO:69', 'Servicepakke: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '11', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FedEx', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'US:3.00', 'FedEx: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('佐川急便の代金引換(e-コレクト)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_SAGAWA', '00:400', '手数料を「代金引換額:手数料,代金引換額:手数料,...」という書式で入力してください。代金引換額による手数料を無効にする場合は00:手数料で記してください', '6', '13', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('ヤマト運輸の代金引換(ヤマトコレクト)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_YAMATO', '10000:315,30000:420,100000:630,300000:1050', '手数料を「代金引換額:手数料,代金引換額:手数料,...」という書式で入力してください。代金引換額による手数料を無効にする場合は00:手数料で記してください', '6', '14', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('日本通運の代金引換(ペリカン集金サービス)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_NITTSU', '00:400', '手数料を「代金引換額:手数料,代金引換額:手数料,...」という書式で入力してください。代金引換額による手数料を無効にする場合は00:手数料で記してください', '6', '15', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '25', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");
      }
 
--- 133,141 ----
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for German Post', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:3.58,00:9.99', 'German Post: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Servicepakke', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'NO:69', 'Servicepakke: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '11', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FedEx', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'US:3.00', 'FedEx: &lt;Country code&gt;:&lt;COD price&gt;, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('佐川急便の代金引換(e-コレクト)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_SAGAWA', '00:400', 'e-コレクトの手数料を「国コード:手数料,国コード:手数料,...」という書式で入力してください。国コードがわかならい場合、またはすべて統一する場合は00:手数料で記してください', '6', '13', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('ヤマト運輸の代金引換(ヤマトコレクト)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_YAMATO', '00:400', 'ヤマトコレクトの手数料を「国コード:手数料,国コード:手数料,...」という書式で入力してください。国コードがわかならい場合、またはすべて統一する場合は00:手数料で記してください', '6', '14', now())");
!       $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('日本通運の代金引換(ペリカン集金サービス)用の代引き手数料', 'MODULE_ORDER_TOTAL_COD_FEE_NITTSU', '00:400', 'ヤマトコレクトの手数料を「国コード:手数料,国コード:手数料,...」という書式で入力してください。国コードがわかならい場合、またはすべて統一する場合は00:手数料で記してください', '6', '15', now())");
        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '25', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");
      }
 
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

手数料部分について

投稿記事by KENちゃん » 2005/9/17 23:28

hira様、本当にありがとうございます。

***************
*** 66,73 ****
if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

for ($i = 0; $i < count($cod_zones); $i++) {
! //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
! if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
//print('match' . $i . ': ' . $cod_cost);
--- 66,72 ----
if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

for ($i = 0; $i < count($cod_zones); $i++) {
! if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
//print('match' . $i . ': ' . $cod_cost);
***************


上記の内容を設定する前に質問があります。

代金連動手数料計算代引モジュールように、注文代金1万円未満は手数料315円、1万円縲怩R万円未満は420円、3万円以上は630円、10万円以上は1000円のようにしたいですが、可能でしょうか?

\includes\modules\order_total\ot_cod_fee.phpファイルを上記のように変更すると、どうなるでしょうか??


夜遅くまで質問ばかりで申し訳ございません。。。。。

KENちゃん
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

Re: 手数料部分について

投稿記事by hira » 2005/9/17 23:54

KENちゃん さんが書きました:上記の内容を設定する前に質問があります。

代金連動手数料計算代引モジュールように、注文代金1万円未満は手数料315円、1万円縲怩R万円未満は420円、3万円以上は630円、10万円以上は1000円のようにしたいですが、可能でしょうか?

\includes\modules\order_total\ot_cod_fee.phpファイルを上記のように変更すると、どうなるでしょうか??


はい。
通常は国名:代引き料金(00:315)などと設定する部分が
注文代金:代引き料金(10000:315)として設定できるようになります。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

投稿記事by KENちゃん » 2005/9/18 07:16

hira様、おはようございます。

if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

for ($i = 0; $i < count($cod_zones); $i++) {
! //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
! if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
//print('match' . $i . ': ' . $cod_cost);


上記部分を\includes\modules\order_total\ot_cod_fee.phpファイルにCOPYしてアップロードすると、管理画面->モジュール->注文合計でエラーメッセジーが出ます。 何が問題でしょか?

KEN
アバター
kino
記事: 893
登録日時: 2005/5/15 19:39
お住まい: 京都
連絡を取る:

投稿記事by kino » 2005/9/18 09:31

木下です。

KENちゃん さんが書きました:上記部分を\includes\modules\order_total\ot_cod_fee.phpファイルにCOPYしてアップロードすると、管理画面->モジュール->注文合計でエラーメッセジーが出ます。 何が問題でしょか?

KEN


Diff用のコードをそのままコピーして適用しようとしているからのようです。
行の最初にある ! を削除してみてください。
-----
木下 敏夫
http://www.tktools.jp/

大阪府産業デザインセンターデザイン専門員 ( http://bmb.oidc.jp/index.php?topic=-m-D14 )
奥様ショップ 店長 ( http://okusama-shop.com/ )
電脳ドロップシッピング 店長 ( http://d-064.d-shipping.net/ )
アバター
hira
記事: 905
登録日時: 2005/5/16 00:11
お住まい: 埼玉県
連絡を取る:

投稿記事by hira » 2005/9/18 09:34

木下さん、フォローありがとうございます。
diffファイルで!は相違行をさしています。つまりその部分だけ変更するという
目印のようなものです。
Zen-Cartモジュールの配布、サイト構築、カスタマイズ、メンテナンス等
http://www.s-page.net/

Zen-Cart運営サイト 携帯&スマホ(レスポンシブル)対応済
http://www.hiraokaen.com/
アバター
おかっち

投稿記事by おかっち » 2005/9/18 10:12

コード見てもよくわかりませんが、
簡単だったんですねえ(^_^)
アバター
KENちゃん
記事: 17
登録日時: 2005/9/07 22:25
お住まい: 福島県郡山市

ありがとうございます。

投稿記事by KENちゃん » 2005/9/18 22:15

hira様、木下様、ありがとうございます。

今、確認できました。 誠に感謝します。

KENちゃん
アバター
noki
記事: 8
登録日時: 2005/9/16 19:31

投稿記事by noki » 2005/9/23 01:11

こんにちは。
タイトルで検索をしてこちらまでたどり着き代引き手数料が合計金額に加算される設定を
トライしているのですがどうしてもうまく行きません。

現在行った作業は・・・

\includes\modules\order_total\ot_cod_fee.phpの中の

if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

for ($i = 0; $i < count($cod_zones); $i++) {
if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
//print('match' . $i . ': ' . $cod_cost);

という箇所を

if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

       for ($i = 0; $i < count($cod_zones); $i++) {
       //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
        if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出
         $cod_cost = $cod_zones[$i + 1];
         $cod_country = true;
         //print('match' . $i . ': ' . $cod_cost);

に変更し、モジュールのインストールからやり直すのですが
どうしても合計金額に代引きの手数料が加算されません。

以下のような表示になります。
================================================
カートの中身
1 x 商品名 28,000円

代引手数料: 420円
小計: 28,000円
配送料無料: 0円
合計: 28,000円


配送方法: 配送料無料

お支払い方法: 代金引換払い

代金引換払い
宅配業者が商品をお届けしたときに、商品と引き換えに代金(配送料・手数料等をふくむ)をお支払いください。
代引手数料: 420円

=================================================
使用中のZenCartはV1.2です。

ちなみにその他の設定は
「地域税設定」で「北海道/九州」「本州/四国」「沖縄」の3つを作り、それぞれの県を設定して
「配送」モジュールの「定額料金」を複製してモジュールを紐付けして
北海道/九州¥1050
本州/四国¥840
沖縄¥3570
の定額料金での配送をしています。
上記の商品では配送料無料のアイテムですので配送料はゼロになっています。

掲示板の記事を何度も読み返しては試行錯誤しているのですが・・・
ちょっとした設定が違っているのでしょうか?
恐れ入りますがアドバイスをいただけますでしょうか?
アバター
noki
記事: 8
登録日時: 2005/9/16 19:31

解決しました!

投稿記事by noki » 2005/9/24 01:40

お世話になります。

解決しました。

「支払いモジュール」で「代金引換」をインストールし
「注文合計モジュール」で「代金引換手数料」をインストール
した環境でのトピックだったのですね。

自分のZenCartには支払いモジュールに
「代金引換」と「代金引換払い」の2があり
注文合計モジュールに
「代金引換手数料」と「代引手数料」の2つがあったので混乱しました。

モジュールのそれぞれの働きを理解してなかったのでこんな事になりました。
以後、気を付けます。
アバター
ゲスト

Re:

投稿記事by ゲスト » 2009/8/05 14:07

noki さんが書きました:\includes\modules\order_total\ot_cod_fee.phpの中の

if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

for ($i = 0; $i < count($cod_zones); $i++) {
if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
$cod_cost = $cod_zones[$i + 1];
$cod_country = true;
//print('match' . $i . ': ' . $cod_cost);

という箇所を

if (substr_count($_SESSION['shipping']['id'], 'nittsu') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_NITTSU);

       for ($i = 0; $i < count($cod_zones); $i++) {
       //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
        if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出
         $cod_cost = $cod_zones[$i + 1];
         $cod_country = true;
         //print('match' . $i . ': ' . $cod_cost);

に変更し、


とあるのですが、やってみたのですが管理画面の注文合計のところが全部消えてしまいました。バックアップがあるので元に戻しましたがなにかやり方が違うのでしょうか?
上のやつも残して下のを加えるのでしょうか?
アバター
ゲスト

Re: Re:

投稿記事by ゲスト » 2009/8/05 16:17

すみません。自己解決しました。
単にどこか間違えただけのようです。
おさがわせいたしました。 :oops:

“Zen Cart 質問コーナー” へ戻る