Автор Тема: Престашоп и курл  (Прочитано 487 раз)

19 Октябрь 2016, 20:19:48
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
Короч на локалке модуль отрабатывает как нужно, а на проде не передаётся токен в урле для приватбанка(payparts2 от privatbank), который создаётся вот здесь -
проблема в этой строке - $CreateResult = json_decode($this->sendPost($param, $Url), true);на локалке она возвращает (var_dump):
Цитировать
string(53) "https://payparts2.privatbank.ua/ipp/v2/payment/create" array(5) { ["orderId"]=> string(46) "ORDER-5155117025301C13F2E91AACFE4E99B01F9213F2" ["signature"]=> string(28) "KKXZk9N4YhnY9M84YIL3t914ABk=" ["token"]=> string(32) "C231FF67139F4A48B5FF36B3C41E00FF" ["state"]=> string(7) "SUCCESS" ["storeId"]=> string(20) "B2496BE24D4948B1BAA7" }
а на проде:
Цитировать
string(53) "https://payparts2.privatbank.ua/ipp/v2/payment/create" NULL

метод sendPost:
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json',
            'Accept: application/json; charset=utf-8'
        ]);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));

        return curl_exec($ch);
19 Октябрь 2016, 20:20:14
Ответ #1
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
мб нужно на проде как-то разрешить курл или ещё что?
20 Октябрь 2016, 09:47:01
Ответ #2
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Выделенный сервер или вирт. хостинг?
На вирт. хостинг в тех поддержку писать нужно. Они объяснят можно или нет менять настройки php.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
20 Октябрь 2016, 12:14:24
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Ты сначало проверь что возвращает
return curl_exec($ch);Будет ясно установлена библиотека libcurl или нет.
А еще проще лог ошибок посмотри. Если библиотека libcurl не установлена на хостинге, то в логе будет запись об этом.
20 Октябрь 2016, 15:34:31
Ответ #4
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
вот, что возвращается от curl_exec - bool(false)
20 Октябрь 2016, 15:35:24
Ответ #5
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
но curl включен:
20 Октябрь 2016, 15:41:21
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
if(curl_exec($ch) === false)
{
    echo 'Ошибка curl: ' . curl_error($ch);
}
else
{
    echo 'Нет ошибок';
}
Дальше проверяй.
20 Октябрь 2016, 18:02:29
Ответ #7
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
 "couldn't connect to host"
20 Октябрь 2016, 18:16:26
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Ну вот и ответ, проверь $url.
20 Октябрь 2016, 18:21:01
Ответ #9
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
да, вот только я уже проверял - он идентичен у них - https://payparts2.privatbank.ua/ipp/v2/payment/create