バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > ソニー決済でポイントがつかない

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2019/7/29 14:29
対応状況: 解決済
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 881
ソニー決済でポイントがつかない
EC-CUBE 3.0.16
ソニーペイメントサービス決済プラグイン 1.0.10
Pointプラグイン 1.0.0

ソニー決済の場合、加算ポイントが付与されません。
注文完了メールでは0ptで表記されます。
この問題を解決した方がいらっしゃれば、解決方法をお教えいただけますでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/7/29 15:08
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 881
Re: ソニー決済でポイントがつかない
自己解決...というより無理やりゴリ押しした感じですが、解決しました。
ソニー決済では、ShoppingController の confirm() を使用しておらず、ここから呼ばれるはずのイベントがことごとく呼ばれていませんでした。
ソニーペイメント決済にイベントのフックポイントを設置すべきと思われますが、他プラグインでエラーが発生してしまうため、ソニーペイメント決済の場合の処理から直接ポイントプラグインを呼ぶことで解決しました。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/7/29 21:02
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 881
Re: ソニー決済でポイントがつかない
もう1点、ソニー決済プラグインでは、メールを送信してからポイントを確定していたようなので、処理タイミングを逆にする必要がありました。

app/Plugin/SlnPayment/Controller/PaymentController.php
notifyComplete() の後に sendOrderMail()


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mooe25
投稿日時: 2019/8/19 11:53
対応状況: −−−
新米
登録日: 2019/8/19
居住地:
投稿: 3
Re: ソニー決済でポイントがつかない
私もソニーペイメント決済とポイントプラグインで困っていたところ、このスレッドにたどり着きました。
すでに自己解決されたとのことですが、もし可能でしたらどのように修正をされたか教えていただくことは可能でしょうか?

「ソニーペイメント決済の場合の処理から直接ポイントプラグインを呼ぶことで解決しました。」

上記部分についてご教示いただければ幸いです。
突然このような連絡をしてしまい、大変不躾だと思いますがなんとか解決したいのでお力添えいただければと思います。

[EC-CUBE]バージョン3.0.17
[ソニーペイメントサービス決済プラグイン]バージョン1.0.10


どうぞよろしくお願いいたします。
h_tanaka
投稿日時: 2019/8/19 11:58
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 881
Re: ソニー決済でポイントがつかない
mooe25 さん

app/Plugin/SlnPayment/Service/MailService.php(55行目)
$this->app->mail($message); の直前に次を追記。
        $event = new EventArgs(
            array(
                'message' => $message,
                'Order' => $Order,
                'MailTemplate' => $MailTemplate,
                'BaseInfo' => $BaseInfo,
            ),
            null
        );
        $this->app['eccube.event.dispatcher']->dispatch(EccubeEvents::MAIL_ORDER, $event);


最新版ではこの処理自体はありますが、処理の設置場所が間違っています。

なお、MailService クラスを他のプラグインで継承している場合があるので sendOrderMail でgrep検索してみてください。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mooe25
投稿日時: 2019/8/19 13:05
対応状況: −−−
新米
登録日: 2019/8/19
居住地:
投稿: 3
Re: ソニー決済でポイントがつかない
h_tanaka様
早速ご回答くださいまして誠にありがとうございました。

1)
app/Plugin/SlnPayment/Service/MailService.php(55行目)
$this->app->mail($message); の直前に次を追記。
上記の場所に追記しました。

2)
app/Plugin/SlnPayment/Controller/PaymentController.php(402行目)
$app['session']->set($this->sessionOrderKey, $Order->getId()); と
$app['eccube.service.shopping']->sendOrderMail($Order);の間に

$app['eccube.service.shopping']->notifyComplete($Order); を追加しました。


上記内容でカード決済の場合でもポイントが無事に動くようになりました!!!!!!!!!!
(もし、上記以外にも他の箇所に修正を加える必要がございましたらご指摘いただけますと嬉しいです。)

お手を煩わせてしまい誠に申し訳ございませんでした。
感謝いたします。
どうぞよろしくお願いいたします。
h_tanaka
投稿日時: 2019/8/19 14:02
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 881
Re: ソニー決済でポイントがつかない
ソニーペイメント決済プラグインは、購入に関する処理が独自のため、購入時点で処理をしている他のプラグインと必ず競合します。
送料、配送方法、配送日時、値引きなどを拡張しているプラグインがあれば改修が必要になります。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mooe25
投稿日時: 2019/8/19 14:18
対応状況: 解決済
新米
登録日: 2019/8/19
居住地:
投稿: 3
Re: ソニー決済でポイントがつかない
h_tanaka様
ご連絡頂きましてありがとうございます。

「送料、配送方法、配送日時、値引きなどを拡張しているプラグインがあれば改修が必要になります。」
承知いたしました。
私の場合はそれらのプラグインを使用しておりませんでしたので問題ないかと思っています。

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


 



ログイン


ec-cube.co

統計情報

総メンバー数は48,244名です
総投稿数は92,885件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1908
4
468
1818
5
yuh
1600
6
red
1333
7
umebius
1296
8
fukap
907
9
h_tanaka
881
10
tsuji
852
11
shutta
835
12 ramrun 789
13
tao_s
758
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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