開店営業中のECサイトだと、途中で決済を切り替えるというのは若干面倒なもので、メンテナンスのための停止を1~2時間程度でも実行しなければなりません。
切替後の決済代行業者との契約や、モジュールのインストールなど、メンテナンス前にできることはすべてやっておいて、メンテナンス停止時間中に決済テスト、本番購入テストなどを済ませる必要があります。
そこで、少し乱暴ではありましたが、実際にやってみたことを備忘録として書いておきます。
ちなみにEC-CUBEは2系です。残念ながら最新の3系ではありません。
切り替え先の会社名を具体的に書いてしまうとSONYペイメントサービスの「e-SCOTT」という決済代行会社で、決済サービスのうちクレジットカード決済だけ利用することにしました。
決済会社をこの会社に切り替えた理由は、
費用が売上の3.5%のみで売れなくても手数料がかからない。
EC-CUBEの画面から決済会社の入力画面に飛ぶリンク方式と違ってEC-CUBE内で決済が可能。
といったところです。
切り替える前の決済会社?
商売の邪魔をしたくないので会社名等はあえて書きませんが、管理画面もわかりやすくてSONYペイメントサービスより良かったのですが、EC-CUBEの画面から決済会社の入力画面に飛ぶリンク方式が嫌で切り替えることにしました。
なお、以下に書いた切り替えは、クレジットカード決済のみについてです。
(1)切替後の決済会社との契約
EC-CUBEの2系でモジュールが対応していることを確認し、申込みをオンラインでしました。
申込みから承認までが10日前後で、すべてオンラインとメールで済ませることができ、登記簿や印鑑証明書などの書類が不要なのも良かったです。
(2)決済モジュールのインストール
オーナーズストアの決済モジュールのページで、EC-CUBEのバージョンに対応したプラグイン(ソニーペイメントe-SCOTT)を探し、「購入する」をクリック。(実際は無料ですが)
次の画面で利用するサイトを選択して「購入」をクリック。
ECCUBEの管理画面で、オーナーズストア>モジュール管理(モジュール一覧を取得する)で新しくe-SCOTTというプラグインが表示されているのが確認できたら、画面でダウンロードを実行。
同画面の「設定」リンクから、SONYペイメントから(承認後)送られてきたマニュアルにあるテスト接続の設定を実施。
(3)ECCUBEの管理画面で、基本情報管理>支払方法設定の設定
「支払方法を新規入力」ボタンを押してモジュールがインストールされていれば「クレジットカード決済」が新しく追加されているいます。
(以下は私の場合ですが)
「クレジットカード決済テスト」と名称変更
※とりあえずテストと付けて、いま使用しているクレジットカード決済と区別するためです。
手数料:0
利用条件:1~999,999円
として登録。
登録しても、基本情報管理>配送方法設定で(例えば宅配便の取扱支払方法で)さきほどの「クレジットカード決済テスト」を選択していなければ、購入者の支払い方法選択には表示されません。
さあ、これで事前の準備は終わりました。
これからメンテナンス停止~接続テスト~リリースです。
(4)メンテページと.htaccessの用意
mente.htmlを書き、単純ですが、
ただいまメンテナンスのため、下記の時間、サイトを休止しております。
終了予定時刻 X月X日 10:00
大変申し訳ございませんが、ご了承ください。
(ショップ名)
それと.htaccessを用意。
ErrorDocument 503 /mente.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/mente.html
RewriteCond %{REMOTE_ADDR} !=123.456.789.012
RewriteRule ^.*$ – [R=503,L] </IfModule>
自分のIPアドレス(仮に上記では123.456.789.012としたところ)以外はメンテナンス画面が出るように書きました。
(5)予告なく、いきなり上記2ファイルをFTPでUP。
乱暴ですね。見てる人や購入中の人がいたらどうするの?って感じですが、本来なら事前予告すべきですよね。なにしろヒマなサイトなのでやってしまいました。
やったら、実際に操作PCでサイトが見えていることと、スマホ等別のIPアドレスで見たときにメンテナンス画面になっていることを確認します。
(6)取扱支払方法で「クレジットカード決済テスト」を有効にする
ECCUBEの管理画面で、基本情報管理>配送方法設定と進み、(例えば宅配便の取扱支払方法で)「クレジットカード決済テスト」のチェックボックスをチェックし、既存の「クレジットカード決済」のチェックを外す。
(7)SONYのテスト接続での購入テスト
SONYペイメントサービスから提供されたテスト用のカードNo.や有効期限、セキュリティコードを使って購入。わざと番号を間違えてエラーも確認します。
※ここで1つ問題がありましたが、あとで書きます。
スマホのページがある場合、同じ要領で購入をテストします。
ここでも(スマホの画面のみ)1つ問題がありました。
カード決済以外を選んだ場合、注文確認ページで「下記ご注文内容でよろしければ、『ご注文完了ページへ』ボタンをクリックしてください。」と出るのは正解ですが、カード決済を選択している場合は、次画面でカード情報を入力するため、「次へ」ボタンが出なければなりません。
モジュールのインストールが不完全だったのか「ご注文完了ページへ」と「次へ」ボタンの出し分けがうまくいってませんでしたが、とりあえず(いい加減ですが)スルーしてしまいました。
その後、EC-CUBEの受注管理で受注を検索し、自身の注文の編集をクリックし、注文の詳細画面を表示します。
すると「ソニーペイメントサービス決済情報」という欄があり、一度失敗したログと、その下に成功したログが記録されています。
決済操作で「売上確定処理実行」ボタンをクリックします。
まだSONYのテスト環境との接続なので、売上確定しても問題ありません。
(8)SONYの本番用接続での購入テスト
ここで初めて(2)で設定した決済モジュールのテスト接続設定を本番用に再設定します。
ECCUBEの管理画面で、オーナーズストア>モジュール管理(モジュール一覧を取得する)でe-SCOTTの設定を開き、SONYペイメントから送られてきたマニュアルにある本番接続の設定を実施。
それから実際に自分のカードを使って購入をしてみます。
購入の際、カード情報を打ち間違えて見て、次に正しく入力して購入してみます。
スマホのページがある場合、ここでももちろん同じ要領で購入をテストします。
そしてテスト環境への接続時と同じように、EC-CUBEの受注管理で受注を検索し、自身の注文の詳細画面を表示します。
さらに「ソニーペイメントサービス決済情報」でログ記録を確認。
決済操作で「売上確定処理実行」ボタンをクリックします。
もちろん、本番なのでこのままではホントに購入になってしまいますから「取消(返品)処理実行」ボタンもクリック。
さらにSONYペイメントサービスの管理画面で記録の確認もします。
(9)公開準備
テスト結果に問題なければ(6)と同じ手順ですが、EC-CUBEの管理画面>取扱支払方法で今までお世話になっていた既存の「クレジットカード決済」の名称を「クレジットカード決済(不使用)」などに変更し、「クレジットカード決済テスト」の名称から「決済テスト」をとり、保存。
そして通販ページで適当な商品を選んで、支払い方法で「クレジットカード」と表示されていることを確認。
(10)公開
IPアドレス制限をかけていた.htaccessの記述を削除して公開です。
実際は、テストの回数はメンテナンスで予告した時間帯の中で許す限り重ね、またSONYペイメントの管理画面でどうなっているのか、別画面で開けたままチェックしたりしていました。
そうそう・・・
上記(7)の段階で、1つ問題がありました。
カード情報を打ち込む画面(SONYペイメントのモジュール)で、PC画面だけですが、画像が死んでいました。
死んでいた画像はカードのセキュリティコードを説明するカードの画像と、戻るボタン2つ、購入ボタン2つ、手続きの流れを表す画像でした。
オーナーズストアの決済モジュールのページでtar.gzをダウンロードして、なんとか解凍してみたら、手続きの流れを表す画像以外ははありました。
画面上でインストールをしていたのですがうまくアップロードできてなかったようです。
しかしSSHを使えない私としては、仕方ないので画面ソースを見て、書かれたパスのDirどおりにFTPで画像をアップロードして表示させま、手続きの流れを表す画像は透明画像を作って代用(非表示に)しました。
実際はテストの時間内でSONYのモジュールのテンプレートを探していたのですが、「あ、ヤバい・・予告した再開時刻が近づいている」ということで、そんな小細工で済ませた次第です。
インストールを管理画面ではなく、ダウンロードしたtar.gzを使ってインストールするとそのあたりはうまくいくのかも知れません。
以上が、ざっと(大ざっぱすぎますが)決済会社を切り替えたときにやったことです。
SSHを使えない程度のスキルしか持ち合わせていない私ですので、参考にされる場合は自己責任でお願いいたします。