クレジット決済ゼウスを導入した所、最終画面でエラーがでます。

2016 年 7 月 14 日

ホーム フォーラム バグ報告 クレジット決済ゼウスを導入した所、最終画面でエラーがでます。

このトピックには3件の返信が含まれ、4人の参加者がいます。3 ヶ月、 2 週間前 nanbu さんが最後の更新を行いました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #79689

    lappel
    参加者

    レンタルサーバー:お名前.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

    #79699

    yskysmr
    キーマスター

    こんにちは。

    SSL の異常かと思われます。お使いの SSL をご確認ください。

    #83324

    digichro_sakai
    参加者

    SSL の異常ではなく、バグになります。

    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)でも改善されておりませんので、
    今後の新バージョンでの改善をお願い致します。

    #83327

    nanbu
    参加者

    こんにちは

    「PHP 5.6.x における OpenSSL 関連の変更」については存じ上げております。
    しかし、’verify_peer’ => false, とするのは得策ではないと思っております。
    またこの件は、特定のサーバーで動作すればよいというものでもありません。

    現状、ほとんどのサーバーではこのエラーは出ず、問題なくソケット通信が可能です。ただ、いくつかのサーバー会社ではこのエラーが発生するようで、ユーザーからサーバー会社に問い合わせていただいた結果がございます。

    【CPIの場合】
    php.iniでopenssl.cafileを指定することで回避可能。ファイルパス情報はCPIより提供があったとのことです。

    【お名前.comの場合】
    「弊社サーバーの動作等には不具合はない状況となります。また、Welcartについては弊社では動作保障させていただいておりませんのでお手数ではございますが、お客様にてお調べいただけますようお願いいたします。」とのことです。

    補足いたしますが、この問題はWelcartの問題ではなく、そのサーバーでソケット通信ができるかどうかという問題です。

    このようにサーバー会社によって対応が異なるようです。どのサーバーを利用するかは、ユーザーの皆さんが決めることです。ただ、クレジット決済を利用する場合は、非推奨のサーバーがございます。システム要件をよくご覧いただきたいと思います。

    システム要件

4件の投稿を表示中 - 1 - 4件目 (全4件中)

このトピックに返信するにはログインが必要です。