ECCUBE4の決済プラグインをインストール時の中間証明書エラー

技術

ECサイトの制作時、カスタマイズを入れていないサイトにGMOペイメントを導入する際にエラーが出て失敗しました。

エラー文

cURL error 77: error setting certificate verify locations
CAfile C:\xampp\apache\bin\curl-ca-bundle.crt

本番環境ではエラーが出なかった為、戸惑いましたが、GMOペイメントを始め、決済結果を受け取るようなモジュール全般には中間証明書確認をしているものが多いようです。

今回、本番環境ではSSL導入済だったため、中間証明書がありましたが、開発環境では導入していませんでした。

対応方法

開発環境では、代わりに下記中間証明書をダウンロードし代用します。

curl公式:https://curl.haxx.se/ca/cacert.pem

今回であればxamppを利用しているので、ダウンロードした中間証明書を
C:\xampp\apache\bin\cacert.pem
として置き、

php.iniのcurl.cainfo設定部分を、
curl.cainfo=”C:\xampp\apache\bin\cacert.pem”

とします。

まとめ

今回はxampp環境で対応しましたが、どのような環境でも、
①エラーとなった中間証明書のパスにダウンロードした中間証明書を置く
②(明示的な設定がある環境であれば)中間証明書のパス設定を変更する
で解決します。

コメント