プラグイン > バグ報告・利用に関する質問 > [PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー |
バグ報告・利用に関する質問
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tacky14 |
投稿日時: 2021/4/23 12:17
対応状況: −−−
|
半人前 登録日: 2021/4/23 居住地: 投稿: 16 |
[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
$this->cartService->getPreOrderId() の返り値がNULLとなっています。 更に処理を追うと、 Eccube/Service/CartService.php #134 getCarts()
ここで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 居住地: 投稿: 2085 |
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
|
tacky14 |
投稿日時: 2021/4/26 12:40
対応状況: −−−
|
半人前 登録日: 2021/4/23 居住地: 投稿: 16 |
Re: [PGマルチペイメントサービス決済プラグイン] リンク式決済完了時のEC-CUBE側エラー umebius 様
ご返信いただき誠にありがとうございます。 引用: デベロッパーツールでCookieのSameSite属性を確認してみるとeccubeという名前のクッキーはSameSite=None Secureになっていますか? たしかに、SameSite、Secureとも未設定となっておりました。 開発ツール上で、SameSite=None、Secure=trueの設定をしてPOST送信したところ問題なく注文完了画面まで遷移ができました。 大変助かりました。ありがとうございます! ついでの質問で大変恐縮なのですが SameSite対応済みのECCUBEバージョンであっても、ユーザー環境によってはSameSite=Noneを明示してあげる必要があるのでしょうか? |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |