バージョン選択

フォーラム

メニュー

オンライン状況

23 人のユーザが現在オンラインです。 (15 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 23
もっと...

サイト内検索

質問 > フロント機能 > 地域、金額別の代引き手数料について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
beginners
投稿日時: 2015/5/8 11:04
対応状況: −−−
常連
登録日: 2015/4/22
居住地:
投稿: 31
地域、金額別の代引き手数料について
こんにちは、当方初心者で全く解りません。

地域と金額別で代引き手数料の設定をしたいのですが出来ません。
SC_CartSessionで書き込んでいます。
北海道、沖縄、離島以外の方で、3000円以上お買い物をして頂いた方には送料が無料ですが、代引き手数料は5000円以上お買い物をして頂かないと無料になりません。
下記ですと、3000円以上のお買い物で代引き手数料が無料になってしまいます。

どの場所に、どのように書きこんだらいいか教えて下さい。
宜しくお願いします。



//その他 3000円以上送料0円 未満はここで設定してない
default:
if ((($results['subtotal'])>=3000) && !(($deliv_id[0]) == 3 )){
$results['deliv_fee'] = 0;
$results['charge'] = 0;// 代引き手数料が無料になる場合
$charge = 0;
} :-( :-(
yuh
投稿日時: 2015/5/8 12:31
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 地域、金額別の代引き手数料について
手数料を取っているのが代引き以外に無いのであれば、
この様な感じでできると思います。



if(!SC_Utils_Ex::isBlank($deliv_pref)){
    if(is_array($deliv_pref)){
        $checked = $deliv_pref;
    }else{
        $checked = array($deliv_pref);
    }
    if(!in_array(1,$checked) AND !in_array(47,$checked)){
        if($results['charge'] == 0 AND $results['subtotal'] >=3000 ){
            $results['deliv_fee'] = 0;
        }elseif($results['charge'] != 0 AND $results['subtotal'] >=5000 ){
            $results['deliv_fee'] = 0;
            $results['charge'] = 0;
        }
    }
}

動作確認はしてないので、適当に調整してください。
beginners
投稿日時: 2015/5/8 13:22
対応状況: −−−
常連
登録日: 2015/4/22
居住地:
投稿: 31
Re: 地域、金額別の代引き手数料について
yuh様

有難う御座います。
他には、沖縄離島の方には郵便で発送になり、
手数料を設定しているのですが、ここでは記載されていないようです。

大変申し訳ないのですが、


// 送料・代引き手数料の無料チェック
//if ($this->isDelivFree($productTypeId)) {
// $results['deliv_fee'] = 0;
//}
switch ($deliv_pref[0]) {

//北海道 5000円以上送料0円
case 1: //北海道
case 47: //沖縄
if (($results['subtotal'])>=5000){
$results['deliv_fee'] = 0;
$results['charge'] = 0;// 代引き手数料が無料になる場合
$charge = 0;
}
break;

//その他 3000円以上送料0円 未満はここで設定してない
default:
if ((($results['subtotal'])>=3000) && !(($deliv_id[0]) == 3 )){
$results['deliv_fee'] = 0;
$results['charge'] = 0;// 代引き手数料が無料になる場合
$charge = 0;
}
}
//配達先が沖縄離島を選択時
switch ($deliv_id[0]) {
case 3: //沖縄・離島
if (($results['subtotal']) > 5000){
$results['deliv_fee'] = 0;//配達業者の配達料金を設定
$results['charge'] = 0;// 代引き手数料が無料になる場合
$charge = 0;
}
break;
}

上記のどのあたりに、yuhさんのを記載すればいいのでしょうか?
yuh
投稿日時: 2015/5/8 16:36
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 地域、金額別の代引き手数料について
それと入れ替える形です。
あと、$deliv_pref[0]は値の場合と変数の場合があるので調整しておいた方がいいです。
beginners
投稿日時: 2015/5/8 17:03
対応状況: −−−
常連
登録日: 2015/4/22
居住地:
投稿: 31
Re: 地域、金額別の代引き手数料について
ありがとうございます!

5000円以上のお買い物をして頂きましたら代引き手数料が無料になるのですが、まだ代引き手数料が含まれていおります。
どこを直したらいいでしょうか?

そしてすみません、この中に沖縄、離島を選択頂いた方は、
郵便代引きが含まれておりました・・・。
全て削除し、置き換えたら郵便代引きの設定まで消えてしまいました・・・。


$deliv_pref[0]については、恥ずかしながら全くの素人でして、わかりません。また勉強しておきます。
yuh
投稿日時: 2015/5/8 17:20
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 地域、金額別の代引き手数料について
一応前に書いた処理にコメントつけてみました。
すこし修正してみました。


if(!SC_Utils_Ex::isBlank($deliv_pref)){
    if(is_array($deliv_pref)){
    //$deliv_prefが配列の場合はそのまま使用
        $checked = $deliv_pref;
    }else{
    //$deliv_prefが値の場合は配列に変換して使用
        $checked = array($deliv_pref);
    }
    if(!in_array(1,$checked) AND !in_array(47,$checked)){
    //ここの処理に入った場合、北海道・沖縄以外の地域
        if($results['subtotal'] >=3000 ){
	//ここの処理に入った場合は多分代引き以外で合計3000円以上
            $results['deliv_fee'] = 0;
        }
	if($results['charge'] != 0 AND $results['subtotal'] >=5000 ){
	//ここの処理に入った場合は手数料(多分代引き)がついてて、合計が5000円以上
	    //手数料を無料に
            $results['charge'] = 0;
        }
    }
}
//配達先が沖縄離島を選択時
switch ($deliv_id[0]) {
	case 3: //沖縄・離島
		if (($results['subtotal']) > 5000){
			$results['deliv_fee'] = 0;//配達業者の配達料金を設定
			$results['charge'] = 0;// 代引き手数料が無料になる場合
			$charge = 0;
		}
		break;
}


確認はしてないので、参考に調整してください。

ソースを見る限り北海道・沖縄の人限定で5000円以上送料無料になっているんですが、何が正しいんでしょうか?
beginners
投稿日時: 2015/5/8 17:45
対応状況: −−−
常連
登録日: 2015/4/22
居住地:
投稿: 31
Re: 地域、金額別の代引き手数料について
●北海道、沖縄、離島じゃない方
3000円以上で送料無料
5000円以上で送料、代引き手数料無料

●北海道、沖縄、離島の方
5000円以上で送料、代引き手数料無料

★沖縄と離島の方は郵便での発送になる為、
代引きは、郵便代引きとなります。
郵便代引き→送料648円+代引き手数料+260円+為替手数料430円

5000円以上買って頂いた方は送料と代引き手数料が無料で、
為替手数料のみが必要(いくら買っても為替手数料は必要)

お振込で郵便発送だと→送料+代引き手数料のみ(5000円以上で無料)


とまぁ、かなりややこしいのです。。

yuh
投稿日時: 2015/5/8 17:49
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 地域、金額別の代引き手数料について
為替手数料がどのような形で実装されているかわかりませんが、

if(!SC_Utils_Ex::isBlank($deliv_pref)){
    if(is_array($deliv_pref)){
    //$deliv_prefが配列の場合はそのまま使用
        $checked = $deliv_pref;
    }else{
    //$deliv_prefが値の場合は配列に変換して使用
        $checked = array($deliv_pref);
    }
    if(!in_array(1,$checked) AND !in_array(47,$checked)){
    //ここの処理に入った場合、北海道・沖縄以外の地域
        if($results['subtotal'] >=3000 ){
	//ここの処理に入った場合は多分代引き以外で合計3000円以上
            $results['deliv_fee'] = 0;
        }
	if($results['charge'] != 0 AND $results['subtotal'] >=5000 ){
	//ここの処理に入った場合は手数料(多分代引き)がついてて、合計が5000円以上
	    //手数料を無料に
            $results['charge'] = 0;
        }
    }else{
    	//北海道・沖縄
    	if($results['subtotal'] >=5000 ){
		合計が5000円以上の場合、送料・手数料無料
    		$results['charge'] = 0;
                $results['deliv_fee'] = 0;
	}
    }
}
//配達先が沖縄離島を選択時
switch ($deliv_id[0]) {
	case 3: //沖縄・離島
		if (($results['subtotal']) > 5000){
			$results['deliv_fee'] = 0;//配達業者の配達料金を設定
			$results['charge'] = 0;// 代引き手数料が無料になる場合
			$charge = 0;
		}
		break;
}


こんな感じですかね?
beginners
投稿日時: 2015/5/8 18:01
対応状況: −−−
常連
登録日: 2015/4/22
居住地:
投稿: 31
Re: 地域、金額別の代引き手数料について
早速コピペしてみましたら、エラーが出てしまい、
サイト自体がが表示されなくなってしまました・・・。
yuh
投稿日時: 2015/5/8 18:11
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 地域、金額別の代引き手数料について
合計が5000円以上の場合、送料・手数料無料

この部分がコメントアウト抜けてました。
//合計が5000円以上の場合、送料・手数料無料
このように変更してください。



ソースそのままコピペして、
何が原因でエラーが起こっているかなど調べずに
動きませんはどうなんでしょうか?

確実な手段としてはインテグレートパートナーの会社様にお問い合わせいただく方がよろしいかと思います。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,938名です
総投稿数は110,016件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.