LoginSignup
0
0

More than 3 years have passed since last update.

Wordpressで構築済みのWebサイトにEpsilonの決済システムを組み込んだメモ

Last updated at Posted at 2020-09-20

状況

  • すでに構築済みのWorpdress上のWebサイト
  • クレジットカードの決済を追加したい
  • Epsilonとすでに契約済みで決済代行の選択の余地なし
  • リンク決済を使用したい

という制限された状態。

調査

EpsilonがPHPのサンプルコードを提供していたのでそれを活用。

必要なモジュールを個々でダウンロードしサーバー上へ設置。
(訳があって個々にしています)

使用したモジュール

Epsilonのサンプルコードで以下を使っていたので同じものを使用

Wordpressのディレクトリ
  └ wp-content
      └ themes
         └ インストールしたテーマ
             L epsilon(作成)
                 L ここにモジュール設置
                 L ここに決済用PHPを設置

困ったこと

Wordpressで自作PHPを実行する方法を知らない

これはサーチしたらたくさん情報があったので簡単に解決。

function.phpに以下のコードを追加しショートコードを使用可能にする。

function Include_my_php($params = array()) {
    extract(shortcode_atts(array(
        'file' => 'sample'
    ), $params));
    ob_start();
    include(get_theme_root() . '/' . get_template() . "/epsilon/$file.php");
    return ob_get_clean();
}
add_shortcode('credit', 'Include_my_php');

このショートコードをWordpressの記事に貼り付けで解決。

Wordpress用に作成されたテーマのPHPを修正しなければいけない

クレジット決済へ飛ばすためのボタンをすでに存在するページに追加をしたい。

Wordpress用のコードを解析。
よくわからなかったけど、とりあえず該当のページのソースは発見。

var_dumpやexitなんかで動かしたり、止めたりしてなんとなく理解。

ボタンを設置し、submit先に上記のショートコードが設置されたURLを指定。

うまく動いた(^^)

いざ動作確認

エラー①

Warning: require_once(Net/URL2.php): failed to open stream: No such file or directory in /home/javijavi/www/central/lifewave/wp-content/themes/phlox-pro/epsilon/HTTP/Request2.php on line 24

URL2.phpが見つからないと怒られる。
ディレクトリは間違っていないのに。。。

解決

特殊なディレクトリ構造にしているためパスをインクルードする必要があった。

$path = dirname(__FILE__);
set_include_path(get_include_path().PATH_SEPARATOR.$path);

これを決済用PHPに追加で解決。

エラー②

string(63) "エラー : 908このCGIを実行する権限がありません"

無事PHPは実行されたようだがEpsilon側から怒られる。

解決

Epsilonの設定で「オーダー情報発信元ホスト情報」をホスト名にしており逆引きが出来ていなかったらしい。なのでIPアドレスへ変更。
参考ページ https://02kaz.x0.com/it/ec2ep/

無事完了

あとはhtml(レイアウト)やパラメータを修正。

この他にもつまずいた箇所があった気がするけど忘れたので割愛。

仕組みが分かれば意外と簡単でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0