バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > [PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー

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

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tacky14
投稿日時: 2021/4/23 12:17
対応状況: −−−
新米
登録日: 2021/4/23
居住地:
投稿: 2
[PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー
-------------------------------------------------
EC-CUBE 4.0.5(新規インストール)
サーバーOS Linux
DBサーバー MySQL 5.7.34
WEBサーバー Apache/2.4.25 (Debian)
PHP 7.3.27

ブラウザ Chrome90
プラグイン PGマルチペイメントサービス決済プラグイン 1.0.9

カスタマイズなし

-------------------------------------------------

[現象]

EC-CUBE4でPGマルチペイメントサービス決済プラグインを利用しています。

楽天ペイ決済などのリンク式決済利用時、決済用外部サイトからEC-CUBEサイトに戻った際にEC-CUBEで保持しているSession情報がなくなってしまい決済エラーとなります。


具体的には、外部サイトからEC-CUBE側に再度遷移した際に
/Plugin/GmoPaymentGateway4/Controller/ReceiveController.php #624

$Order = $this->getPendingOrder($this->cartService->getPreOrderId(), [
            OrderStatus::NEW,
        ]);

$this->cartService->getPreOrderId() の返り値がNULLとなっています。
更に処理を追うと、
Eccube/Service/CartService.php #134
getCarts()

if ($this->getUser()) {
            $this->carts = $this->getPersistedCarts();
        } else {
            $this->carts = $this->getSessionCarts();
        }
return $this->carts;

ここでSessionからカート情報を取得できず、空が返っているためのようでした。



[試したこと]

下記条件で注文処理を行いましたが、非会員のリンク式決済のみ上記のエラーがおきています。

ログイン済み
├ クレジット決済 [成功]
└ 楽天ペイ [成功]

非会員のまま
├ クレジット決済 [成功]
└ 楽天ペイ [失敗]


また、Chrome90ではこの事象が起きますが
FireFox88.0では非会員でも決済完了まで問題なく進みました。

ChromeのバージョンアップによりCookie送信ができない事象が以前にあったようなので(SameSite Cookie 対応)、そちらも疑いましたが
EC-CUBE4.0.4時点で対応済みとのこと、
/Eccube/Session/Storage/Handler/SameSiteNoneCompatSessionHandler.php もあるため影響はないものと考えていますが、
起きている事象がこのCookie仕様の事象と類似するため、こちらのミスで同じ不具合を起こしてしまっている可能性はありそうです。



事象について知見等ございましたら、解決方法や糸口になるようなものなど、ご教授いただければ幸いです。
umebius
投稿日時: 2021/4/24 3:46
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1973
Re: [PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー
デベロッパーツールでCookieのSameSite属性を確認してみるとeccubeという名前のクッキーはSameSite=None Secureになっていますか?

クッキー確認方法
https://qiita.com/pipi0813/items/93e60c605f89f93e49fb
https://www.atmarkit.co.jp/ait/articles/2002/19/news021.html


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム急ぎの案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

tacky14
投稿日時: 2021/4/26 12:40
対応状況: −−−
新米
登録日: 2021/4/23
居住地:
投稿: 2
Re: [PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー
umebius 様
ご返信いただき誠にありがとうございます。

引用:
デベロッパーツールでCookieのSameSite属性を確認してみるとeccubeという名前のクッキーはSameSite=None Secureになっていますか?

たしかに、SameSite、Secureとも未設定となっておりました。
開発ツール上で、SameSite=None、Secure=trueの設定をしてPOST送信したところ問題なく注文完了画面まで遷移ができました。
大変助かりました。ありがとうございます!

ついでの質問で大変恐縮なのですが
SameSite対応済みのECCUBEバージョンであっても、ユーザー環境によってはSameSite=Noneを明示してあげる必要があるのでしょうか?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は71,075名です
総投稿数は100,990件です

投稿数ランキング

1
seasoft
7333
2
468
2953
3
AMUAMU
2712
4
nanasess
2139
5
umebius
1973
6
yuh
1612
7
red
1439
8
h_tanaka
1079
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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