私の愛しいアップルパイへ
EC-Cubeでイプシロン決済モジュールを使っているときに「このCGIを実行する権限がありません」というエラーが発生したときの対策を説明します。
エラーの原因はイプシロン側の管理画面の設定で、通信するサーバーのIPアドレス指定にミスがある場合です。特に、サーバーのIPアドレスが変わったときに発生するので注意が必要です。
EC-Cube×イプシロン決済モジュールで“このCGIを実行する権限がありません”とエラーになる場合の対策
イプシロンでは、決済に使うサーバーのIPアドレスをきちんと指定しないと同エラーが発生して一切決済ができなくなりますので、注意が必要です。サーバー移転などでIPアドレスが変わるときには忘れずに対応しましょう。
▼本事象が発生すると、以下のようにイプシロンを使って決済したときや、イプシロン決済モジュールの設定を変更しようと思ったときにエラーになります。エラー内容は「このCGIを実行する権限がありません」です。ガッデム!
それではIPアドレスの指定方法を見ていきます。まずはイプシロンの管理画面にログインしましょう。
▼ログインできたらメニューから「設定」→「決済システムの接続設定」の順にクリックします。
▼設定の一番上に「オーダー情報発信元ホスト情報」がありますので、ここに正しいIPアドレスを入力して「更新」ボタンをクリックします。
ヘルプを見ると、ホスト名での指定も可能と書かれていますが、ホスト名だとうまくいかない場合があるため、そのときはIPアドレスを指定してみてください。
なお、設定は即反映されるようです。情報を更新してもうまくいかない場合は、まだIPアドレスの指定が間違っているので、IPアドレスの情報を確認してみてください。特に、共用サーバーだと複数のIPアドレスを持っている場合が多いので注意が必要です。
指定するIPアドレスに関しては、イプシロン社へと通信しにいくIPアドレスになるため、通常Webサイトで使っているIPアドレスとは異なる場合があります。Webサイトのドメインから割り出したIPアドレスで駄目な場合は、FTPやSSHで使うドメインのIPアドレスを調べて試してみてください。
IPアドレスが正しく入力されていれば、正常に決済されるようになります。
サーバー移転やサーバーメンテナンスの影響に注意
今回、当方はロリポップのサーバーメンテナンスでIPアドレスが変更されることを見落としており、障害の検知に時間がかかってしまいました。
サーバー移転だけでなく、サーバー管理会社側のメンテナンスによっても同エラーが発生することもありますので、ご注意ください。
貴下の従順なる下僕 松崎より