Слушатели IPN получают прямой POST от PayPal, когда появляется сообщение о событии IPN. Таким образом, $ _SESSION не будет иметь значения - это одноразовая публикация, сеанс отсутствует.
Если вы ожидаете появления $ _SESSION клиента, вы ищете неправильную вещь в неправильном место, так как браузер клиента не связывается с вашим слушателем IPN.
Если вы хотите, чтобы дополнительные данные были доступны вам как часть сообщения PayPal IPN, вы можете включить эти данные как часть транзакции PayPal, используя поля INVNUM (номер счета-фактуры, который должен быть уникальным, никогда ранее не использовавшийся для транзакции на вашем счете) и CUSTOM, которые могут содержать что-либо. Эти значения данных появятся где-то в данных IPN $ _POST (распечатайте массив, чтобы найти имя параметра)
Просмотр вашего слушателя. php, проблема может заключаться в том, что шаг проверки не пройден. Вы должны отладить вызов curl - log curl_error ( $ch )
в файл, а также log $response
и дамп оригинала $_POST
, полученный, чтобы вы могли просмотреть, что на самом деле происходит.
(Если сертификат не может быть проверен, вам, вероятно, нужно скачать обновленный файл .pem пакета центра сертификации и передать путь к этому файлу в CURLOPT_CAINFO)