バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地: 大阪
投稿: 2089
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 を追加
    ) {


これで、支払方法によってポイント付与率変更のコードが動くのではないでしょうか??


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

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


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,476名です
総投稿数は97,266件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2494
4
nanasess
2089
5
umebius
1650
6
yuh
1612
7
red
1411
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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