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環境で対応しましたが、どのような環境でも、
①エラーとなった中間証明書のパスにダウンロードした中間証明書を置く
②(明示的な設定がある環境であれば)中間証明書のパス設定を変更する
で解決します。
コメント