バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > ポイントプラグインについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rmaki
投稿日時: 2019/11/7 14:43
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 21
ポイントプラグインについて
▼テンプレート
[EC-CUBE] 3.0.16
[レンタルサーバ] ニフティークラウド
[OS] CentOS
[PHP] 7
[データベース] Postgress
[WEBサーバ] Apache
[現象]
以下のポイントプラグインを利用して、購入の際にポイント付与、利用等を行っています。
https://www.ec-cube.net/products/detail.php?product_id=1101

毎回ではないのですが、ユーザがポイント利用する際に、トランザクションとして、2回ポイント利用処理が走り、管理画面の受注画面に、以下のメッセージが表示されることがあります。

メッセージ
この受注は、ポイントを重複利用して購入された可能性があります。

お客様へのメールには、1回分のポイントしか割引されず正しい形で通知が行っております。

ボタンを2回押したとか、そのようなことが原因ではないかと考えておりますが、このような現象が発生している方いらっしゃいますでしょうか?
(この症状が出るのは、1月に1回程度です。)
また、対応方法や確認ポイント等わかりましたら教えていただけないでしょうか?

ご確認よろしくお願いいたします。
umebius
投稿日時: 2019/11/11 6:51
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1418
Re: ポイントプラグインについて
そのメッセージはポイント利用数の設定後、ポイント利用数がマイナスになる時にplg_point_abuseにそのことが記録され、管理画面にアクセスした時に表示されるものだったと思います。

適当な箇条書きで申し訳ございませんが私なら次のようなことをします。

・注文完了時に保有ポイントのマイナスチェックを行なっている箇所でログを保存するようにする

・2回走っているとすると、大元となるコントローラの処理が2回走っているのか、それともポイント処理だけが2回走っているのか確認

・注文確認画面で干渉しそうな他のプラグインは存在しないか?

なお、ボタンを2回押した可能性も十分あるように思います。
rmaki
投稿日時: 2019/11/11 16:41
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 21
Re: ポイントプラグインについて
ご回答ありがとうございます!!

列挙していただいた点を中心に、確認をしてみたいと思います。

なにかわかりましたら、こちらに記載するようにします。

ありがとうございました。
rmaki
投稿日時: 2019/11/12 12:21
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 21
Re: ポイントプラグインについて
当方の問題でした。
ペイジェント+ポイントで動作しないということで
以下のスレッドを参考に、以下の処理を入れていたのですが
こちらの挿入箇所が、creditProcessの最後のreturnの直前に
入れていたため、クレジット決済画面を表示したタイミングで
ポイントの減算処理が動いていました。
そのため、クレジットカード決済画面を表示した後に
銀行振り込み決済等を行うと、2重にポイントが引かれておりました。


                    if (version_compare(Constant::VERSION, '3.0.10', '>=')) {
                        // 受注完了を他プラグインへ通知する.
                        $this->app['eccube.service.shopping']->notifyComplete($Order);
                    }



ただ、上記の処理を正常処理直前に入れたところ受注データのポイントや引き算等は正常になったのですが、受注メールにポイントが反映されない状況です。


                if ($arrRet ['result'] == 0 && $result == true) {
                    //remove card order
                    $this->app['eccube.service.cart']->clear()->save();

                    // ポイントプラグイン呼び出しの為追加
                    if (version_compare(Constant::VERSION, '3.0.10', '>=')) {
                        // 受注完了を他プラグインへ通知する.
                        $this->app['eccube.service.shopping']->notifyComplete($Order);
                    }
                    return $this->app->redirect($this->app->url ( 'shopping_complete' ));


この位置でも間違いでしょうか?
ご存知の方がいたら教えていただきたいと思います。
よろしくお願いいたします。


https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=20500&forum=16&post_id=87337
rmaki
投稿日時: 2019/11/12 14:32
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 21
Re: ポイントプラグインについて
以下の対応で、ポイント計上及び送信メール内でのポイント処理を確認できました。

app/Plugin/MdlPaygent/Service/PluginService.php

orderCompleteの$this->sendOrderMail($order, $arrOther);
の直前に、追加。


        // ポイント処理を行う
        if (version_compare(Constant::VERSION, '3.0.10', '>=')) {
            // 受注完了を他プラグインへ通知する.
            $this->app['eccube.service.shopping']->notifyComplete($order);
            log_info('notify complete for point on MdlPaygent PluginService.');
        }

        // 受注完了メールを送信する。
        $this->sendOrderMail($order, $arrOther);


ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は54,517名です
総投稿数は94,239件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2016
4
468
1920
5
yuh
1610
6
umebius
1418
7
red
1376
8
h_tanaka
940
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
781
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 437


ネットショップの壺

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

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