バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について

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

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
cosmonaut
投稿日時: 2019/9/5 10:57
対応状況: −−−
新米
登録日: 2019/8/21
居住地:
投稿: 6
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
クーポンのプラグインのコードを確認したところ下記に箇所で使用されておりました。

もしかして非会員に関してはこのどちらかでエラーがでているということでしょうか?

Controller/CouponController.php L281

if ($app->isGranted('ROLE_USER')) {
                    $Customer = $app->user();
                } else {
                    $Customer = $app['eccube.service.shopping']->getNonMember($this->sessionKey);
                    if ($Coupon) {
                        if ($Coupon->getCouponMember()) {
                            $form->get('coupon_cd')->addError(new FormError('front.plugin.coupon.shopping.member'));
                            $error = true;
                        }
                    }
                }


Service/CouponService.php L273

if ($this->app->isGranted('ROLE_USER')) {
            $CouponOrder->setUserId($Customer->getId());
        } else {
            $CouponOrder->setEmail($Customer->getEmail());
        }
}
nanasess
投稿日時: 2019/9/4 13:13
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
if ($app['session']->has('_security_customer')) { のコードは、 $app->isGranted() を使用しないように改修したコードです。

AuthenticationCredentialsNotFoundException が引き続き出るようでしたら、どこか別の場所で $app->isGranted() を呼んでしまっているのだと思われます。
何かお心当たりありますでしょうか?
cosmonaut
投稿日時: 2019/9/4 10:35
対応状況: −−−
新米
登録日: 2019/8/21
居住地:
投稿: 6
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
ご回答ありがとうございます。

try catchをやめて上記のコードで試してみましたが、最初と同じエラーが発生しました。


$app->isGranted('ROLE_USER')がelseの時の動作がうまくいっていないってことでしょうか?
自分には難易度が高くなんども申し訳ありません・・
nanasess
投稿日時: 2019/9/2 13:12
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
AuthenticationCredentialsNotFoundException が catch できてない感じですね、、
事象をみるかぎりは、会員購入でも発生しそうですが、非会員だけというのがよくわからない感じです。。

try/catch を使用せずに、CouponPlugin/Event.php 142行目付近の以下のコードを、

if ($app->isGranted('ROLE_USER')) {
    $Customer = $app->user();
} else {
    $Customer = $app['eccube.service.shopping']->getNonMember($this->sessionKey);
}


以下に書き換えてみるといかがでしょうか?

if ($app['session']->has('_security_customer')) {
    $token = unserialize($app['session']->get('_security_customer'));
   $app['security']->setToken($token);
   $Customer = $app->user();
} else {
   $Customer = $app['eccube.service.shopping']->getNonMember($this->sessionKey);
}
cosmonaut
投稿日時: 2019/8/31 10:14
対応状況: −−−
新米
登録日: 2019/8/21
居住地:
投稿: 6
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
遅くなりました。

上記5行をコメントアウトしたところ、デバッグモードで

ContextErrorException in Event.php line 175:
Notice: Undefined variable: Customer

のエラーが発生し、L175は

$validationMsg = $app['eccube.plugin.coupon.service.coupon']->couponValidation($Coupon->getCouponCd(), $Coupon, $Order, $Customer);

こちらです。


度々すみませんが確認いただけますと助かります。。
nanasess
投稿日時: 2019/8/27 9:22
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
ちなみに、CouponPlugin/Event.php 142行目付近の以下のコードを削除すると発生しなくなりますでしょうか?


if ($app->isGranted('ROLE_USER')) {
    $Customer = $app->user();
} else {
    $Customer = $app['eccube.service.shopping']->getNonMember($this->sessionKey);
}
cosmonaut
投稿日時: 2019/8/26 21:44
対応状況: −−−
新米
登録日: 2019/8/21
居住地:
投稿: 6
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
ご返答ありがとうございます。

こちら確認させていただきコード修正を行ったのですが、非会員の場合のみまだエラーが発生しておりました。

自分の環境が悪いのでしょうか。。。
EC-CUBE3.0.17をインストールして、該当プラグインを2ついれた状態で発生しております。
nanasess
投稿日時: 2019/8/26 16:46
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
こちらの修正で直ると思います。次のバージョンで反映されます
https://github.com/EC-CUBE/coupon-plugin/pull/117
cosmonaut
投稿日時: 2019/8/26 11:10
対応状況: 確認中
新米
登録日: 2019/8/21
居住地:
投稿: 6
3系 クーポンプラグインとヤマト決済の併用による例外エラー発生について
▼テンプレート
[EC-CUBE] EC-CUBE3.0.17
[PHP] 5.6.40
[データベース] MySQL 5.7
[WEBサーバ] Nginx
[導入プラグインの有無]
クーポンプラグイン(https://www.ec-cube.net/products/detail.php?product_id=1069)
クロネコヤマト カード・後払い一体型決済サービス(3系)(https://www.ec-cube.net/products/detail.php?product_id=1247)
[カスタマイズの有無] あればカスタマイズ内容を記載(できるだけ具体的に)

[現象]

EC-CUBE3系にて、クーポンプラグインと、クロネコヤマトプラグインを併用した際に起こるバグのようです。

以下の流れでエラーが発生します。

1. 非会員で購入開始
2. クーポンを利用
3. カード決済画面への繊維でエラー発生

同様の質問を発見しました。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=22565&forum=16
上記フォーラムを参考に修正いたしましたが、非会員でのみ未解決のようでした。
こちら詳しい方がいましたらご教示いただけますと幸いです。


以下エラー文です。
-----

AuthenticationCredentialsNotFoundException in AuthorizationChecker.php line 57:



以下エラーログです。
-----

front.INFO [87dbb2a5] [85f73be5] [NULL] [Event:Plugin\Coupon\Event\{closure}:126] - Coupon trigger onShoppingConfirmInit start [POST, /index_dev.php/shopping/confirm, ::1, http://localhost:8004/index_dev.php/shopping, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36]
front.ERROR [87dbb2a5] [85f73be5] [NULL] [LogListener:onKernelException:115] - Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException: The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL. (uncaught exception) at /Applications/MAMP/htdocs/demo_ec-cube/vendor/symfony/security/Core/Authorization/AuthorizationChecker.php line 57 {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AuthenticationCredentialsNotFoundException(code: 0): The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL. at /Applications/MAMP/htdocs/demo_ec-cube/vendor/symfony/security/Core/Authorization/AuthorizationChecker.php:57)"} [POST, /index_dev.php/shopping/confirm, ::1, http://localhost:8004/index_dev.php/shopping, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36]
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.