COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

При запросе callback идет uri encoding и редирект %2F на / отдавая 301 из-за этого он не отрабатывает


arty349

Recommended Posts

С толкнулся с интересной проблемой.

opencart pro 2.3.0.2.3

VDS, на сервере Nginx без апача, rewrite для seo url прописаны стандартно

Скрытый текст

location / {
        try_files $uri @opencart;
    }

    location @opencart {
        rewrite_log on;
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }

Платежка вызывает callback вида index.php?route=extension%2Fpayment%2Fpaybox%2Fcallback&перечисление значений

при включенном чпу происходит url encoding и платежке летит 301 с перенаправлением на index.php?route=extension/payment/paybox/callback&перечисление значений

в ссылке все коды типа %2F, %20 и тп заменяются на соответствующие символы.

платежке нужен 200 и хмл в ответ, 301 не обрабатывается.

если в nginx убрать все rewrite то ничего не меняется

а вот при отключенном чпу, начинает работать, отдает сразу 200

 

добавлял модуль в исключения seo_pro.php, не помогает

если в обычных ссылках (вроде index.php?route=product/product&path=62_67&product_id=286), для которых не прописаны чпу, заменить / на %2F, то редиректа нет

как убрать замену %2F на / при включенном чпу?

 

модуль тут https://github.com/PayBox/module-opencart/tree/2.3

в нем ничего, что бы могло за это отвечать не нашел

Пример полного запроса:

/index.php?route=extension%2Fpayment%2Fpaybox%2Fcallback&pg_order_id=3180&pg_payment_id=8123170&pg_amount=50.00&pg_currency=KZT&pg_net_amount=45.00&pg_ps_amount=50.00&pg_ps_full_amount=50.00&pg_ps_currency=KZT&pg_payment_system=EPAYWEBKZT&pg_description=%D0%A5%D0%BB%D0%BE%D0%BF%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B2%D0%B0%D1%82%D0%B0+HMS+hms+cotton%2A1%3B+%2A%3B&pg_result=1&pg_payment_date=2018-04-17+18%3A10%3A58&pg_can_reject=1&pg_user_phone=77&pg_need_phone_notification=0&pg_user_contact_email=rt%40mail.ru&pg_need_email_notification=1&pg_captured=0&pg_card_pan=4003-03XX-XXXX-&pg_card_exp=05%2F18&pg_card_owner=S+S&pg_auth_code=664596&pg_card_brand=VI&pg_salt=p4VJ3Oanjl8RgdHg&pg_sig=3dc07bf2da6e0c4c1af373313cd0530c
Ссылка на комментарий
Поделиться на других сайтах

  • 7 months later...

Добрый день! 

Столкнулся с такой же проблемой, и с этим же провайдером. Только у меня на сервере apache 

Подскажите, пожалуйста, как решить вопрос? 

Исключение прописать не получилось,  вероятнее всего - криво прописал

 

Ссылка на комментарий
Поделиться на других сайтах

12 минуты назад, anvar1101 сказал:

Добрый день! 

Столкнулся с такой же проблемой, и с этим же провайдером. Только у меня на сервере apache 

Подскажите, пожалуйста, как решить вопрос? 

Исключение прописать не получилось,  вероятнее всего - криво прописал

 

Костылили разные варианты, правки в seo_pro, делали второй виртуалхост без редиректов, на другом порту для обработки колбеков.

Но это такие себе варианты, не надежные

А потом пейбокс начал работать через казком и платежи перестали нормально проходить, отказались от них

Лучше эквайринг от самого хренового банка, чем эта платежка

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу