クレジット決済ゼウスを導入した所、最終画面でエラーがでます。
-
投稿者投稿
-
2016年7月14日 9:02 AM #79689lappel参加者
レンタルサーバー:お名前.com
worspressバージョン4.5.3
Welcart e-Commerceバージョン 1.8.6
テーマはWelcart Basicを使用しています。クレジットカード決済をゼウスで契約致しました。
設定をしテストしてみると、最終画面で下記のエラーになり使用できませんでした。
知識がなく、全くわからないのでどうしたらよいか教えて頂けないでしょうか?Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /export/sd205/www/jp/r/e/gmoserver/2/2/sd0757522/mujiyoku.com/wordpress-4.5.2-ja-jetpack-undernavicontrol/wp-content/plugins/usc-e-shop/functions/admin_func.php on line 432
Warning: fsockopen(): Failed to enable crypto in /export/sd205/www/jp/r/e/gmoserver/2/2/sd0757522/mujiyoku.com/wordpress-4.5.2-ja-jetpack-undernavicontrol/wp-content/plugins/usc-e-shop/functions/admin_func.php on line 432
Warning: fsockopen(): unable to connect to ssl://linkpt.cardservice.co.jp:443 (Unknown error) in /export/sd205/www/jp/r/e/gmoserver/2/2/sd0757522/mujiyoku.com/wordpress-4.5.2-ja-jetpack-undernavicontrol/wp-content/plugins/usc-e-shop/functions/admin_func.php on line 432
Warning: Cannot modify header information – headers already sent by (output started at /export/sd205/www/jp/r/e/gmoserver/2/2/sd0757522/mujiyoku.com/wordpress-4.5.2-ja-jetpack-undernavicontrol/wp-content/plugins/usc-e-shop/functions/admin_func.php:432) in /export/sd205/www/jp/r/e/gmoserver/2/2/sd0757522/mujiyoku.com/wordpress-4.5.2-ja-jetpack-undernavicontrol/wp-content/plugins/usc-e-shop/functions/admin_func.php on line 362
2016年7月15日 2:52 PM #79699yskysmrキーマスターこんにちは。
SSL の異常かと思われます。お使いの SSL をご確認ください。
2017年7月3日 7:22 PM #83324SSL の異常ではなく、バグになります。
usc-e-shop/functions/admin_func.php の function usces_get_xml に以下のソースがありますが、PHP 5.6 でSSLの検証方法に変更があるためエラーになります。
//$fp = fsockopen('tls://'.$interface['host'],443,$errno,$errstr,30); $fp = @stream_socket_client( 'tlsv1.2://'.$interface['host'].':443', $errno, $errstr, 30 ); if( !$fp ){ usces_log('zeus API : TLS(v1.2) Error', 'acting_transaction.log'); $fp = fsockopen('ssl://'.$interface['host'],443,$errno,$errstr,30); if( !$fp ){ usces_log('zeus API : SSL Error', 'acting_transaction.log'); } }
参考:PHP 5.6.x における OpenSSL 関連の変更
http://php.net/manual/ja/migration56.openssl.php取り急ぎ、以下のように修正することで改善されます。
$caFile = 'client.pem"'; $context = stream_context_create(array('ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => false, 'cafile' => $caFile, ))); $fp = stream_socket_client('ssl://'.$interface['host'] . ':443',$errno,$errstr,30,STREAM_CLIENT_CONNECT,$context); if( !$fp ) { //$fp = fsockopen('tls://'.$interface['host'],443,$errno,$errstr,30); $fp = @stream_socket_client( 'tlsv1.2://'.$interface['host'].':443', $errno, $errstr, 30 ); if( !$fp ){ usces_log('zeus API : TLS(v1.2) Error', 'acting_transaction.log'); $fp = fsockopen('ssl://'.$interface['host'],443,$errno,$errstr,30); if( !$fp ){ usces_log('zeus API : SSL Error', 'acting_transaction.log'); } } }
Welcart の最新のバージョン(1.9.2)でも改善されておりませんので、
今後の新バージョンでの改善をお願い致します。2017年7月4日 12:02 PM #83327nanbuキーマスターこんにちは
「PHP 5.6.x における OpenSSL 関連の変更」については存じ上げております。
しかし、’verify_peer’ => false, とするのは得策ではないと思っております。
またこの件は、特定のサーバーで動作すればよいというものでもありません。現状、ほとんどのサーバーではこのエラーは出ず、問題なくソケット通信が可能です。ただ、いくつかのサーバー会社ではこのエラーが発生するようで、ユーザーからサーバー会社に問い合わせていただいた結果がございます。
【CPIの場合】
php.iniでopenssl.cafileを指定することで回避可能。ファイルパス情報はCPIより提供があったとのことです。【お名前.comの場合】
「弊社サーバーの動作等には不具合はない状況となります。また、Welcartについては弊社では動作保障させていただいておりませんのでお手数ではございますが、お客様にてお調べいただけますようお願いいたします。」とのことです。補足いたしますが、この問題はWelcartの問題ではなく、そのサーバーでソケット通信ができるかどうかという問題です。
このようにサーバー会社によって対応が異なるようです。どのサーバーを利用するかは、ユーザーの皆さんが決めることです。ただ、クレジット決済を利用する場合は、非推奨のサーバーがございます。システム要件をよくご覧いただきたいと思います。
https://www.welcart.com/wc-condition/ -
投稿者投稿
- このトピックに返信するにはログインが必要です。