バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 支払方法によってポイント付与率変更

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nksm
投稿日時: 2020/7/30 1:09
対応状況: −−−
半人前
登録日: 2012/4/25
居住地:
投稿: 24
支払方法によってポイント付与率変更
▼テンプレート
[EC-CUBE] 2.13.3
[レンタルサーバ] Kagoya
[OS] Windows10
[PHP] 5.6.34
[データベース] PostgreSQL 9.3.5
[WEBサーバ] Apache

お客様が選択した支払方法によってポイント付与率を変更したいと考えています。
(例:クレジットカード決済は1%、代金引換は3%、銀行振込は5%)

カート画面では支払方法を選択していない状態ですので、基本の付与率(1%)でのポイント数を表示しておき、
注文内容の確認画面にて基本のポイント数×3倍、または5倍のポイントを表示出来ればと考え
SC_CartSession.php内、「加算ポイントの計算」部分に下記を追記しましたが反映されませんでした。

if ($payment_id == 1) {
$results['add_point'] = $results['add_point'] * 3;
} elseif ($payment_id == 2) {
$results['add_point'] = $results['add_point'] * 5;
}

どなたか実現方法をご存知でしたらご教示頂けます様お願い致します。

また、カスタマイズについては素人ですので、全くの検討違いでしたら、
併せてご指摘頂けましたら幸いです。
nanasess
投稿日時: 2020/7/30 18:26
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: 支払方法によってポイント付与率変更
payment_id が渡ってないのだと思います。

data/class/pages/shopping/LC_Page_Shopping_Confirm.php の $objCartSess->calculate() に $payment_id を足す

        $arrCalcResults = $objCartSess->calculate($this->cartKey, $objCustomer,
                                                  $arrOrderTemp['use_point'],
                                                  $objPurchase->getShippingPref($this->is_multiple),
                                                  $arrOrderTemp['charge'],
                                                  $arrOrderTemp['discount'],
                                                  $arrOrderTemp['deliv_id'],
                                                  $arrOrderTemp['order_pref'],
                                                  $arrOrderTemp['order_country_id']
                                                  , $arrOrderTemp['payment_id'] // 支払い方法IDを追加
                                                  );



data/class/SC_CartSession.php の calculate() 引数に payment_id を追加

    public function calculate($productTypeId, &$objCustomer, $use_point = 0,
        $deliv_pref = '', $charge = 0, $discount = 0, $deliv_id = 0,
        $order_pref = 0, $order_country_id = 0
        , $payment_id = null // payment_id を追加
    ) {


これで、支払方法によってポイント付与率変更のコードが動くのではないでしょうか??
nksm
投稿日時: 2020/7/30 23:41
対応状況: 解決済
半人前
登録日: 2012/4/25
居住地:
投稿: 24
Re: 支払方法によってポイント付与率変更
ありがとうございます。
ご教示頂いた内容を反映したところ、要望通りの仕様となりました。
ご回答頂き、感謝いたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,708名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.