Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Authorize.NET PHP SDK的SSL选项无效_Php_Ssl_Authorize.net - Fatal编程技术网

使用Authorize.NET PHP SDK的SSL选项无效

使用Authorize.NET PHP SDK的SSL选项无效,php,ssl,authorize.net,Php,Ssl,Authorize.net,我正在尝试使用Authorize.NET的PHPSDK刷卡。但它总是给我这个错误: Thu, 29 Mar 2018 17:00:56 +0000 ERROR : [_sendRequest] (/lib/shared/AuthorizeNetRequest.php : 100) - ----Request---- Invalid SSL option 它以前工作过,但现在它不断给我一个错误,我对此进行了研究,但没有找到答案,我在代码中尝试过: $sale->VERIFY_PEER =

我正在尝试使用Authorize.NET的PHPSDK刷卡。但它总是给我这个错误:

 Thu, 29 Mar 2018 17:00:56 +0000 ERROR : [_sendRequest] (/lib/shared/AuthorizeNetRequest.php : 100) - ----Request---- Invalid SSL option
它以前工作过,但现在它不断给我一个错误,我对此进行了研究,但没有找到答案,我在代码中尝试过:

$sale->VERIFY_PEER = false;
我还更新了我的
cert.pem
文件,但它仍然给我一个错误

PHP代码:

<?php
require 'vendor/autoload.php';
use lib\net\authorize\api\contract\v1 as AnetAPI;
use lib\net\authorize\api\controller as AnetController;


define("AUTHORIZENET_LOG_FILE", "phplog");
$usermeta = get_user_meta(get_current_user_id(), '_carddetails_', TRUE);
define("AUTHORIZENET_API_LOGIN_ID", "[LOGIN_ID]");
define("AUTHORIZENET_TRANSACTION_KEY", "[TRANSACTION_KEY]");
define("AUTHORIZENET_SANDBOX", true);
$sale = new AuthorizeNetAIM(AUTHORIZENET_API_LOGIN_ID, AUTHORIZENET_TRANSACTION_KEY);
$sale->VERIFY_PEER = false;
$sale->amount   = $_POST['grandTotal'];
$sale->card_num = $usermeta['number'];
$sale->exp_date = $usermeta['expdate'];
$sale->addLineItem('item1', // Item Id
    'Order 1', // Item Name
    'Order 1', // Item Description
    '1', // Item Quantity
    $_POST['grandTotal'], // Item Unit Price
    'N' // Item taxable
);
$customer              = (object) array();
$customer->first_name  = $usermeta['firstname'];
$customer->last_name   = $usermeta['lastname'];
$customer->company     = $usermeta['company'];
$customer->address     = $usermeta['address'];
$customer->city        = $usermeta['city'];
$customer->state       = $usermeta['state'];
$customer->zip         = $usermeta['zip'];
$customer->country     = $usermeta['country'];
$customer->cust_id     = 9999;
$customer->customer_ip = $_SERVER['REMOTE_ADDR'];
$sale->setFields($customer);

$response      = $sale->authorizeAndCapture();
$responseCode  = $response->response_code;
$authCode      = $response->authorization_code;
$avsResultCode = $response->avs_response;
$transId       = $response->transaction_id;
$transHash     = $response->md5_hash;
$accountNumber = $response->account_number;
$accountType   = $response->card_type;
$description   = $response->description;
if ($response->approved)
{
   echo "iT worked";
}
else
{
    echo $response->error_message;

}

?>

我已经弄明白了

我评论道:

$sale->VERIFY_PEER = false;
并注释了HttpClient.php的第80行


我在这里找到了答案:

您应该从中获取最新的证书。最后一次更新是在写这篇文章的5天前,包括了新的授权证书


禁用或更改默认对等验证和证书验证可能很危险。

我已经这样做了,但不起作用,我已经解决了我的问题,请查看我的答案!