CPIサーバーでWelcartを使う際の注意点

最初に…

当店、「捺し花」はんこ(twitter:@oshibana9816)ではWelcartという買い物カートを使い

お客様にショッピングして頂いています。

そしてサーバーはCPIを使用しています。

今回、クレジットシステムを導入しようと設定したのですが、エラーが表示されクレジットが完了しませんでした。

半べそをかきながら、Welcart、CPI、ソニーペイメント3社のお力を借りて、

無事クレジット利用可能となりましたのでエラーの原因と解決方法を記します。

エラーが表示されて、解決に至るまでの経緯を長々と書いていますが、結果だけ知りたい方は、記事の一番下をご参照ください。

クレジット設定するもエラー0が出る。

ソニーペイメントから届いたマニュアル通り設定するも、「エラー0」が表示されクレジットが完了しない状態。

WelcartのQ&Aを再度見ていくと、CPIサーバーを使用している場合は

例)CPIサーバの場合、php.iniでopenssl.cafileを指定することで回避可能。ファイルパス情報はCPIに問い合わせる。

とあり、早速CPIに問い合わせし、openssl.cafileのパスをゲット。php.iniで指定。

でもやっぱりエラー0が出て動かない。

CPIさんからのアドバイスを受け、phpinfoを設置し、エラーが出ているか&openssl.cafileのパスが正しく通っているか確認。

結果は問題なし。これはCPIさんには関係ないね…という事でひとまずお別れし、WelcartのQ&Aを、再度よく見てみると

 入金通知URL

外部リンク型のカード決済、およびオンライン収納代行を利用する場合は、契約時にソニーペイメントサービスに入金通知URL の申請が必要です。入金通知URL は SSL を通したショップのトップページの URL となります。例えば、ショップのトップページが、http://www.sample12345.com/ だった場合、入金通知URLは http://www.sample12345.com/ となります。

と書いてあったので、ソニーペイメントさんに今度は聞いてみることに。

しかし、「クレジット決済のみのご契約でオンライン収納代行は利用されていませんよ?なので問い合わせされて入金通知URLは関係ないですよ」

との回答と、いったいどこで、どうエラーが出るんですか?と聞かれたので、管理画面&購入画面の全キャプチャを見て頂くことに。

すると「これはカートに関することかもしれません」と回答を頂き、Welcartさんに聞くことに。

それでもやっぱりエラー0

まずWelcartさんに問い合わせてすぐ、「常時SSLになっていませんよ」とご指摘頂いた。

それでも、やっぱり同じエラーが出るので、クレジット環境を本番にして試してみたり、サーバーのエラーログを確認して頂いたり、色々試すもやっぱりダメ。

CPIさんへ再度問い合わせたのが突破口に

常時SSL設定にならないのは何故なのか。よく分からないのでCPIへ問い合わせ。

ショップのロゴがなぜか、https://ではなく、http://になっていたのが原因。

しかしこのメールのやり取りの際に、以前案内したサーバー上のopenssl.cafileは古いから、新しいのサーバーに入れて、再度試してみては?とご進言。

さっそく入れて、クレジット手続きをしてみると今度はエラーK99が増えてた。_| ̄|○

自暴自棄になりサーバー内を空にして、リスタートを試そうとした

それまで、Welcartさんに色々調査をお願いし、エラーログの確認や”コレコレについてCPIさんへ問い合わせしてみてください”と指示頂いたり、色々とやり取りをしていたので、CPIさんへ常時SSLの問い合わせをした際も、「CPIへ問い合わせ中なので暫くお待ちください」「こういった回答が来た」などと逐一報告をしていた。(きっと鬱陶しかったと思うけど(汗))

なので、エラーK99が出たときも、どういった経緯でこのエラーが出たのかをWelcartさんへお知らせした。

そのお知らせメールを送った後、一連の経緯を振り返り考えた。

ここ最近はずっとこの問題に係りきり。なのに解決まで、まだ先は長いように思う…

いっそこの場合は全削除&再構築すべきじゃないか。

そう決意し、再度Welcartさんへ

「八方塞がりの感がありますので、いっそサーバー内・DB内を空に初めからWelcartをインストールして再設定します」

とメールを送る。  この時もう疲れ切っていた。

すると、しばらくしてWelcartさんから2通メールが届いているのに気付く。

1通目:K99が出たのは接続ができたという意味で、大きな進歩です。エラーについてソニーペイメントさんに聞いてみて下さい。

2通目:今メールしたとこですが、まずはソニーに問い合わせて下さい。

あぶない…もう少しで全消しするところでしたw 暗中模索と思っていたのに、Welcartさんの文面を見て、もしかして解決できるかも。と希望が湧く。

K99が肝だった

ソニーペイメントさんへ問い合わせた所、

加盟店様で設定いただいたIP以外で
接続された際に返される場合がございます。

原因切り分けのために、弊社管理画面の接続IP識別を「しない」に
設定いただき、再度ご確認いただけますでしょうか。

指示通り、管理画面に入り、接続IPを「しない」に変更。

ドキドキしながら、ショップサイトにてクレジット手続きを進める..

出来たーー!!

もう、涙出るかと思いました(苦笑)
あ、誤解が無いように云っておきたいですが、色々と設定が必要なCPIですが大好きです。
その理由は機会があれば書いていこうと思います。

結果:

  1. CPIサーバーを利用している場合、openssl.cafileをphp.iniでパスを設定する。(パスはCPIに聞いてゲットする)
  2. それでもエラー0が出る場合は、最新のCA証明書(openssl.cafile)をサーバー直接入れ再度パスを設定する。
  3. エラーK99 はソニーペイメント管理画面で接続IPアドレスを「しない」に設定すると解決するかも。

紆余迂曲説ありましたが、無事クレジットが使えるようになりました。
「捺し花」はんこでは、これで
・代引 ・コンビニ後払い ・クレジット の3通りのお支払方法が使えるようになりました。
今後ともどうぞ宜しくお願い致します。