前提・実現したいこと
イプシロンクレジット決済機能を使っい、2回連続で決済を行ってもセッションが切れずエラーがでないようにする。
発生している問題・エラーメッセージ
エラーメッセージ
ページの有効期限が過ぎています。
該当のソースコード
set_include_path(dirname(FILE));
session_set_cookie_params(1800);
session_start();
mb_language("Japanese");
mb_internal_encoding("SJIS");
if (!isset($_SESSION["sessionStarted"])) {
exit('ページの有効期限が過ぎています。');
}
PHP 7.2.17
試したこと
イプシロンクレジット決済機能を使っているのですが、
クレジット決済を2回続けて行うとクレジット決済完了画面(THANKSページに)に移行した時、セッションが受け取れずエラーがでてしまいます。クレジット決済1回ではエラーは発生しません。
補足情報(FW/ツールのバージョンなど)
連続処理を行ってもクレジット決済は完了しますが、THANKSセッションエラーの後に、クライアント側にメールを送信するプログラムがあり、セッション部分でエラーがでてしまう為、メールが送信されません。ただし2回連続処理を行っても、エラーが起こる時と起こらないときが発生します。
注文メールが完了すると、
$_SESSION = array(); if (isset($_COOKIE["PHPSESSID"])) { setcookie("PHPSESSID", '', time() - 1800, '/'); } session_destroy();
でセッション破棄を行っています。
あなたの回答
tips
プレビュー