Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Почта России и EMS для WooCommerce плюс наложенный платеж.

Тема в разделе "Плагины для WooCommerce", создана пользователем artemkomarov, 3 авг 2016.

  1. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    ох. Попробуйте пожалуйста запихнуть этот код в functions.php для теста если все норм то на сайте увидите массив данных если же что то не то то опять будет ошибка.

    PHP:
    $arrOptions = array('http' =>
    array( 
    'header'  => 'Accept-Encoding: gzip','timeout' => 5'user_agent' => phpversion() )
    );
    $Request file_get_contents('http://test.postcalc.ru/?f=Москва&t=Сергиев Посад&w=1000&v=1000&o=php'false stream_context_create($arrOptions));
    $Response=gzinflate(substr($Request,10,-8));
    $arrResponse unserialize($Response);
    var_dump($arrResponse);
     
  2. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.503
    Симпатии:
    243
    Баллы:
    63
    Warning: file_get_contents(http://test.postcalc.ru/?f=Москва&t=Сергиев Посад&w=1000&v=1000&o=php): failed to open stream: Connection timed out in /home/u314600351/public_html/key/wp-content/themes/GoldKey/functions.php on line 70

    Warning: gzinflate(): data error in /home/u314600351/public_html/key/wp-content/themes/GoldKey/functions.php on line 71
    bool(false)
     
  3. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    Попробуйте вот с этим кодом тут другой сайт в качестве теста
    PHP:
    $Request file_get_contents('http://tariff.russianpost.ru/tariff/v1/calculate?json&object=4030&isavia=1&weight=1000&from=675000&to=101000&date=20161212&closed=1');
    var_dump($Request);
     
  4. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.503
    Симпатии:
    243
    Баллы:
    63
    новый ответ от ТП:
    "Deprecated - это ошибка возникает именно в тех случаях, когда требуется более старая версия РНР для работы скрипта.
    Попробуйт погуглить, пожалуйста.
    Или обратитесь к разаработчику скрипта за помощью."
     
  5. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.503
    Симпатии:
    243
    Баллы:
    63
    при попытки сохранения изменений
    "string(1302) "{"version": "1.5.5.200", "id": 4030, "name": "Посылка нестандартная", "typ": 4, "cat": 3, "dir": 0, "isavia": 1, "weight": 1000, "from": 675000, "to": 101000, "isclosed": 1, "date": 20161212, "postoffice": [{"index": 675000, "region": 1010, "place": 1000000033501, "parent": 675700, "aviaport": ["Благовещенск"]},{"index": 101000, "region": 1000000001045, "place": 1000000001045, "parent": 127950, "aviaport": ["Москва"], "aviazone": 1}], "route": [{"trans":1, "transid":1, "from_postoffice":675000, "to_postoffice":101000}], "typcatname": "Посылка нестандартная", "trans": 3, "transid": 2, "transname": "авиа", "tariff": [{"id":"133/21af249", "name":"Авиасбор при доставке воздушным транспортом", "from":"БЛАГОВЕЩЕНСК ПОЧТАМТ", "fromi":675000, "to":"МОСКВА", "toi":101000, "avia": {"val":8500, "valnds":10030}},{"id":"143/143pb3", "name":"Почтовый сбор при доставке воздушным транспортом", "from":"БЛАГОВЕЩЕНСК ПОЧТАМТ", "fromi":675000, "ground": {"val":37288, "valnds":44000}}], "ground": {"val":37288, "valnds":44000}, "avia": {"val":8500, "valnds":10030}, "pay": 45788, "paynds": 54030, "date-first": 20160415}"
    Warning: gzinflate(): data error in /home/u314600351/public_html/key/wp-content/themes/GoldKey/functions.php on line 72
    bool(false)"
     
  6. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    Отлично значит скорее всего глючит API postcalc так API почты возвращает все нормально.

    По поводу HTTP_RAW_POST_DATA это у вас где то еще прописано. так как в плагине почты России подобного нет. и Warning: gzinflate(): data error относится туда же в плагине таких функций нет.
     
  7. tuxfighter

    tuxfighter Местный

    Сообщения:
    1.503
    Симпатии:
    243
    Баллы:
    63
    так есть надежда на исправление?
     
  8. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Предложенный код вставить прямо в functions.php без объявления функции???
     
  9. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    Отправил результат наших экспериментов владельцу API
    Если он забьет на проблему то переключимся на официальный API

    Хотя на моем хостинге все работает попрежнему и на локальном точно так же без ошибок пашет. Видимо проблема с обеих сторон у кого то сервер настроен чуть криво а может и API не хочет работать с этим.

    Вообщем ждем ответа от владельца API
     
  10. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    да, но это просто тест на работу функции file_get_contents();
     
  11. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    После вставки в functions.php следующего кода:

    Код:
    function action_woocommerce_after_checkout_form( $wccm_after_checkout ) {
    $arrOptions = array('http' =>
    array( 'header'  => 'Accept-Encoding: gzip','timeout' => 5, 'user_agent' => phpversion() )
    );
    $Request = file_get_contents('http://test.postcalc.ru/?f=Москва&t=Сергиев Посад&w=1000&v=1000&o=php', false , stream_context_create($arrOptions));
    $Response=gzinflate(substr($Request,10,-8));
    $arrResponse = unserialize($Response);
    var_dump($arrResponse);
    };
          
    // add the action
    add_action( 'woocommerce_after_checkout_form', 'action_woocommerce_after_checkout_form', 10, 1 );
    
    На странице корзины на калькуляторе вижу - "Не удалось соединиться с api.postcalc.ru!"

    А после перехода на страницу чекаута под формой вижу bool(false)
     
  12. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    не обязательно это через action делать это просто тест.
    А попробуйте просто вот это
    PHP:
    $Request file_get_contents('http://tariff.russianpost.ru/tariff/v1/calculate?json&object=4030&isavia=1&weight=1000&from=675000&to=101000&date=20161212&closed=1');
    var_dump($Request);
    если и у вас вернется ответ тогда будет больше уверености что что то не то с postcalc. Спасибо.
     
  13. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    В браузере на странице чекаута, после того, как в functions.php добавил просто строчку
    Код:
    $Request = file_get_contents('http://tariff.russianpost.ru/tariff/v1/calculate?json&object=4030&isavia=1&weight=1000&from=675000&to=101000&date=20161212&closed=1');
    var_dump($Request);
    вижу только bool(false)
     
  14. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Извиняюсь...после сброса кэша получил:

    string(1302) "{"version": "1.5.5.200", "id": 4030, "name": "Посылка нестандартная", "typ": 4, "cat": 3, "dir": 0, "isavia": 1, "weight": 1000, "from": 675000, "to": 101000, "isclosed": 1, "date": 20161212, "postoffice": [{"index": 675000, "region": 1010, "place": 1000000033501, "parent": 675700, "aviaport": ["Благовещенск"]},{"index": 101000, "region": 1000000001045, "place": 1000000001045, "parent": 127950, "aviaport": ["Москва"], "aviazone": 1}], "route": [{"trans":1, "transid":1, "from_postoffice":675000, "to_postoffice":101000}], "typcatname": "Посылка нестандартная", "trans": 3, "transid": 2, "transname": "авиа", "tariff": [{"id":"133/21af249", "name":"Авиасбор при доставке воздушным транспортом", "from":"БЛАГОВЕЩЕНСК ПОЧТАМТ", "fromi":675000, "to":"МОСКВА", "toi":101000, "avia": {"val":8500, "valnds":10030}},{"id":"143/143pb3", "name":"Почтовый сбор при доставке воздушным транспортом", "from":"БЛАГОВЕЩЕНСК ПОЧТАМТ", "fromi":675000, "ground": {"val":37288, "valnds":44000}}], "ground": {"val":37288, "valnds":44000}, "avia": {"val":8500, "valnds":10030}, "pay": 45788, "paynds": 54030, "date-first": 20160415}"
     
  15. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    А я уже ответ написал на то сообщение))
    Ну картина становится яснее) Что то не так с postcalc. Подождем ответа автора API а там посмотрим.
     
  16. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Чувствую всё это долго будет...)))

    Он даже новости не разместил у себя на сайте.
     
  17. artemkomarov

    artemkomarov Местный

    Сообщения:
    423
    Симпатии:
    183
    Баллы:
    43
    Вовсе нет. обычно в течении рабочего дня отвечает. Но так или иначе будем посмотреть. Если что переведем на оф API а если вам горит и надо сдавать проект то я отправил вам ссылку на хостинг на котором лично у меня все работает)
     
  18. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Кстати, пытаясь разобраться с проблемой самостоятельно, обратил внимание на следующий момент...в шапке плагина и на его странице указана версия 0.7, а в коде модуля 0.6 (при формировании строки запроса)...)))
     
  19. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    И кстати...по поводу моих предложений, можно ли выделить в отдельную строку дополнительную стоимость ("не бензин").

    А то, получается не очень корректно - заказчик видит одну цену на сайте, а на почте ему называют меньше.

    Просто сделать отдельным полем с лейблом, ну например "Упаковка заказа" или "Обработка заказа"?
     
  20. skyglider

    skyglider

    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Я самостоятельно написал на postcalc...вот ответ:
    И как это понимать? Он разбирается или нет???