6 月 26
PCでは問題なくクレジット決済で購入できるのに、モバイルではできない問題に直面。
クレジット決済画面でカード番号などを入力したあと、自サイト(EC-CUBE)に戻ってきたときに「不正なページ移動です」とでる。
ちなみに、コンビニ決済は問題なし。
ということはセッション絡みということはわかるんやけど、どこが悪いのかが分からない…
しかし、神は私を見放さなかった!
EC-CUBEコミュで解決策がありました。
micaさん、感謝します。あなたは私にとっての神です。
/data/class/session/SC_SessionFactory.phpを以下のように修正
-
-
function getInstance() {
-
-
-
// ☆モバイル用ページの場合はセッション管理をuseRequestで固定。☆
-
-
switch($type) {
-
// セッションの維持にリクエストパラメータを使用する
-
case ‘useRequest’:
-
$session = new SC_SessionFactory_UseRequest;
-
? $session->setState(‘mobile’)
-
: $session->setState(‘pc’);
-
break;
-
-
// クッキーを使用する
-
case ‘useCookie’:
-
default:
-
$session = new SC_SessionFactory_UseCookie;
-
break;
-
}
-
-
return $session;
-
}
-
このスレは「モバイルで商品の注文ができません」ということで、買い物かごにすら商品が入らない現象だったので、私の現象とは違うだろうと思っていた。
先入観で決め付けず、とりあえず試してみることは大事だと、改めて思った。