EC-CUBE海外対応版でペイパル ウェブペイメント プラス 決済モジュールを使えるようにするのに苦労した

eccube

インストールすればすぐ使用できるわけではない

国内版はわからないけれど、
今回実施した海外対応版では一筋縄ではいきませんでした。
動くようになるまで色々あったため、
今後同じような案件が来た時のためにメモしておきます。

EC-CUBEのバージョンと使用したモジュール

EC-CUBE海外対応版:eccube-2.12.6en-p1
ペイパル ウェブペイメント プラス 決済モジュール(2.11系・2.12系・2.13系)

海外対応版を使用し、海外の方に商品を購入していただき発送します。
支払いはPayPalアカウントもしくはクレジットカードとなります。

海外対応版EC-CUBEは下記からダウンロード出来ます。
国内のEC-CUBEサイト内からはダウンロードできないようです。
http://en.ec-cube.net/download/

ウェブペイメント プラス 決済モジュール は
国内のオーナーズストアからダウンロードしました。
エクスプレスチェックアウトではないです。
PayPal01

そもそもモジュールがインストールできない

いきなり躓きました。
インストールした海外対応版EC-CUBEで管理画面に入り、
Owners Store > Module managementへ進んでも画面が真っ白。
海外対応版はデフォルトではこのようになってしまいます。
パラメータ設定を変更すると表示可能となり、モジュールをインストール出来ました。
まずは一安心。

System > Parameter settings にて
「OSTORE_SSLURL」の値を「”http://www.ec-cube.net/”」としてあげればOKです。
初期値は何もはいっていませんでした。
国内版はちゃんと入ってますね。

インストールしただけではモジュールが動かない

ここが一番苦労しました。
決済の際にPayPal側にPOSTで必要な変数を渡してあげないといけません。
モジュール側のコードが必要な変数を用意出来ていなくて
結果エラーとなって支払いが完了できないとが原因でした。
ここはコード変更が必要になります。

PayPalに渡すHTML変数とは

まずは必要な変数とは何か把握しなければなりません。
PayPalの開発向けサイトにマニュアルがありました。

PayPal ウェブペイメントプラス インテグレーションガイド

PayPal05
P.17あたりの「支払いページの設定に使用する HTML変数」の項目です。

テンプレートとしては「payments_plus_link.tpl」をまず確認すると良いです。
現状何をPayPal側に渡しているか確認できます。

ここで、「必須:はい」となっている項目は用意しなければなりません。
また、今回はユーザーの入力を最小限に抑えるため「必須:条件付き」の項目も揃えました。

ウェブペイメントプラス インテグレーションガイド(最終更新 2014年5月)

PayPal02 PayPal03 PayPal04

国コードと郵便番号の用意

国コードはアルファベット2文字のコードです。
日本ならJP、韓国ならKR、アメリカならUSといった感じで、
それぞれの国に割り当てられています。

デフォルトではその機能はないようでしたので、
データベースにて国名と国コードのテーブルを用意しました。
ユーザーが住所登録の際にセレクトボックスで国を選択するようにし、
国コードと関連付けました。

EC-CUBE海外版では郵便番号は必須ではなかったため、
入力の際は必須ということにしました。

これで支払い前に自前に必要な情報が揃い、
無事に支払いが行えるようになりました。

その他

ウェブペイメントプラスとは直接は関係ないですが、
今回は下記も行っています。

海外発送のため、国名と国コードのテーブルに配送エリアも追加しました。
EMSならエリア2、SALならエリア1、といった具合に。

また、配送料金は重さで決まるため、
商品のテーブルに重さの項目を追加し、
配送方法と配送エリアと総重量の3つの条件で送料を算出するようにカスタムしました。

さらに、商品価格はドルで表示する一方、管理の方では円で行えるように、
フロント側はドル、バック側は円を使用という風にもカスタムしています。

上記設定用に管理画面にページを追加しています。

参考資料

今回はただただネットにアップされている多くの情報に感謝です。
EC-CUBEもSmartyもはじめてで、最初は全体を把握するのに苦労しました。

作業に取り掛かる前には、
書籍も2冊ほど目を通しています。


EC-CUBE公式完全ガイド[ver 2.12/2.11対応] ECサイト構築・カスタマイズ・運用のすべて

はじめに読みました。
重量で送料を算出するところなど参考になりました。
どのファイルをカスタムすればよいかわかりやく書いてあります。


EC-CUBE 実践カスタマイズ

各ページと関連ファイルの一覧表がとても役に立ちました。
何度も見ました。

さいごに

EC-CUBEはファイル(.tplや.php)があちこちにあって、
それを行ったり来たりするのが若干手間がかかりました。

でもまあ、無事に海外対応版にウェブペイメントプラスが入って安心しました。