Не получение строки транзакции из безопасной среды paypal после успешной транзакции

Я создаю сайт электронной коммерции для цифровых загрузок, однако есть проблема с данными транзакций, полученными от paypal. Можете ли вы думать о чем-то, что я делаю неправильно?
У меня есть учетная запись sandbox business, и я вошел в предпочтения оплаты веб-сайта в моей учетной записи и включил автоматическое возвращение в on и передачу платежных данных в on. Я установил url-адрес возврата, который успешно работает. Затем я получил идентификационный маркер, который я вставил в свой код ниже.

Я использовал следующий код и был успешным раньше (около года назад) на другом веб-сайте, однако он, похоже, не работает в этот раз, т. е. когда я пытаюсь распечатать результаты на консоль, он говорит » false»

Я могу успешно оплатить на сайте paypal, а затем я успешно перенаправлен на правильный URL-адрес со строкой запроса в браузере следующим образом:

http://www.sarahswebsite.com/confirmation.php?tx=05D40838LW579215A&st=Completed&amt=5%2e00&cc=EUR&cm=MUZIC-1463960113&item_number=

Мой Php:

<?php   
 $api_endpoint= "https://www.sandbox.paypal.com/cgi-bin/webscr";
    $transID = $_GET['tx'];
    $atID= 'AFcWxV21C7fd0v3bYYYRCpSSRl31A7Ez9-tDKvj2MIuwN2MJ0r';


    $cmd = "_notify-synch";
    $nvp_string = "tx=" . urlencode($transID) . "&at=" . urlencode($atID) . "&cmd=" . urlencode($cmd);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_VERBOSE, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_URL, $api_endpoint);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);
    $result = curl_exec($curl);     
    curl_close($curl);
?>

Яваскрипт

window.onload = function(){

        window.name_value_pairs= <?php echo json_encode($result); ?>;
        console.log(window.name_value_pairs); 
    //this used to print out the string of name value pairs however now it is printing 'false'.
}

Редактировать:
У меня больше информации об этом. это ошибка скручиваемости:
35 ошибка подключения SSL.

есть идеи по решению этой проблемы? спасибо

1 ответ

  1. Я нашел исправление для этого после прочтения следующего сообщения:

    Ошибка PayPal NVP: ошибка запроса CURL: ошибка SSL connect (35)

    Я добавил следующие две строки в мой код curl, и теперь он работает отлично. Я не совсем уверен, почему он работает сейчас и не раньше, однако я думаю, что это связано с версией php, которую я использую (5.6) или paypal изменили свои протоколы безопасности.

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt($curl, CURLOPT_SSLVERSION, 6); //6 is for TLSV1.2