Ошибка в платежном шлюзе authorize.net в сертификате ssl

Я работаю в php, только что интегрировал авторизовать платежный шлюз

Я пошел по следующей ссылке Php Руководство по интеграции

и тогда я скачал этот пример Php-SDK

но всякий раз, когда я выполняю это, он показывает мне ошибку, я проверяю журнал, и он показывает мне, что ОШИБКА: проблема сертификата SSL: невозможно получить сертификат локального эмитента. пожалуйста, предоставьте мне определенное решение.

-обвинение-credit-card.php

<?php

require 'vendor/autoload.php';

use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;

define("AUTHORIZENET_LOG_FILE", "phplog");

// Common setup for API credentials
$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
$merchantAuthentication->setName("API-key");
$merchantAuthentication->setTransactionKey("Trans-Key");
$refId = 'ref' . time();

// Create the payment data for a credit card
$creditCard = new AnetAPI\CreditCardType();
$creditCard->setCardNumber("370000000000002");
$creditCard->setExpirationDate("2038-12");
$paymentOne = new AnetAPI\PaymentType();
$paymentOne->setCreditCard($creditCard);

// Create a transaction
$transactionRequestType = new AnetAPI\TransactionRequestType();
$transactionRequestType->setTransactionType("authCaptureTransaction");
$transactionRequestType->setAmount(151.51);
$transactionRequestType->setPayment($paymentOne);
$request = new AnetAPI\CreateTransactionRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setRefId($refId);
$request->setTransactionRequest($transactionRequestType);
$controller = new AnetController\CreateTransactionController($request);
$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);

if ($response != null) {
    $tresponse = $response->getTransactionResponse();
    if (($tresponse != null) && ($tresponse->getResponseCode() == "1")) {
        echo "Charge Credit Card AUTH CODE : " . $tresponse->getAuthCode() . "\n";
        echo "Charge Credit Card TRANS ID  : " . $tresponse->getTransId() . "\n";
    } else {
        echo "Charge Credit Card ERROR :  Invalid response\n";
    }
} else {
    echo "Charge Credit Card Null response returned";
}
?>

Сообщение об ошибке: Uncaught исключение "Исключение" с сообщением "Ошибка получения действительного ответа от API. Проверьте файл журнала на детали ошибки '

В лог файле
ОШИБКА: проблема с сертификатом SSL: невозможно получить сертификат локального эмитента

1 ответ

Решение

Ну, это Secure Socket Layer, в основном используемый для хранения конфиденциальной информации, передаваемой через Интернет, в зашифрованном виде, чтобы ее мог понять только предполагаемый получатель. Чтобы удалить SSL: перейдите в lib/net/authorize/util/HttpClient.php Строка № 68 или рядом, добавьте следующее

curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, FALSE)

и запустите свой файл.

Другие вопросы по тегам