Budżet: 3000 UAH Termin: 2 dni
Готов взяться за работу, пишите, сделаю все качественно! Опыт работы уже больше 10ти лет!
На движке Codeigniter 3 была реазизована оплата через WayForPay и Liqpay но при получении коллбека с сервисов и редиректа на return url через раз выбрасывает сесию и не выполняется скрипт оплаты. Были предприняты решения перемещение cookie в бд, но это не решило проблему
Budżet: 3000 UAH Termin: 2 dni
Готов взяться за работу, пишите, сделаю все качественно! Опыт работы уже больше 10ти лет!
Budżet: 1000 UAH Termin: 1 dzień
Доброго времени. Готов помочь. Большой опыт работы, из подключений оплаты работал с PayPal, Stripe и множеством других еще с начала 2000х. Разберемся, что к чему.
Доброго времени, то-есть у вас стоит роут на колбак от платежки(liqpay), при получении платежа - у вас крашится сессия ?
на роут редиректа - повести var_dump($session) -> по-моему оно криво записывает - а точнее перезаписывает, и удаляет старые данные.
А ещё вы не проверяете сигнатуру запроса - его можно подделать и человек получит подписку
Про проверку сигнатуры в курсе и сделаем, сейчас это в тестовом режиме с тестовыми реквизитами, в приоритете главное чтобы не дропало ссесию
Как я догадываюсь - там у нас обработчик собственно говоря ответа от платежки, оно записывает в бд платеж - и что-то делает с сессией, скорее всего проблема в записи сессии
Судя по сриншотам, за сессию отвечает строка
$user = User::auth("user");
Вопрос, после прохождения оплаты пользователь остается залогинен, когда сессия "потерялась"?
Нужно внимательно отследить, при каких именно обстоятельствах теряется сессия. Случайностей не бывает.
Сессия теряется когда выполняется редирект с внешнего урла на сайт
$user = User::auth("user"); вызывает юзера, которая уже дальше переходит в функцию записи оплаты
Ну так этот код же и выполняется при возврате назад на ваш сайт, а эта строка отвечает за извлечения id пользователя из сессии и именно в этом месте должно не срабатывать исходя из вашего описания. А почему это так, нужно разбираться, наблюдая весь процесс, так как сессия может потеряться и до перехода на оплату на самом деле.
Например, одна из причин может быть вы начали оплату с http или без www, а возврат идёт на https://www... Из-за этого несоответствия в адресе сессия и теряется, как вариант.
ваще это запрос насколько я помню идет по апи и там сессия не нужна там просто запись в базу
на liqpay есть два урла когда вы передаете их системе первый это узера куда отправить когда оплата сделана и для вас что бы вы знали как прошла оплата СЕРВЕР-СЕРВЕР и не надо тут кук не каких. так вот если тот скрин (а суда по нем ) то это именно сервер-сервер и там не редиректа не кук не надо
а в result_url вы ставите тот урл который юзер увидет
Теряется сессия после редиректа с платежки!!! Читайте задачу и не пишите глупостей, я подключил ликпей на 300 магазинов, автор модуля для Opencart.Я вам пишу почему сбрасывается сессия, колбек работает правильно, но при обратном редиректе на result -сессия теряется из-за новых политик браузера! Выше написал
сори если че не так. но в скрине функция обрабатывает данные и сохраняет ее а это делается только сервер-сервер
я там смотря на ваш скиншот если он для result_url то это не правильно то безапасности так как это дыры
Я скриншотов не давал, это не мой.
Суть в том, что при проведении платежа идет колбек сервер-сервер, вы написали верно. При таком общении сессия живет, все классно. Но как только человек нажимает вернуться в магазин и у него cтарые настройки SameSite - он переходит в магазин уже с новой сессией, старая улетает. А если авторизация хранится в сессии - то и с личного кабинета выходит и тд.
сори я по скриншоту описывал проблему
в вашей тогда надо смотреть может быть как какой-то редирект языковой так и настройки сессий
надо смотреть
Если интересно, вот официальный модуль, он слегка корявый, но тут вот колбек принимает именно в POST https://github.com/liqpay/plugin-opencart/blob/master/catalog/controller/extension/payment/liqpay_checkout.php
Я это не просто так написал, у опенкарта тоже еще старые параметры, это было большой проблемой пока сам не разрыл что и как, а только уже потом нашел ветки на гите... Но поковырялся прилично, разговор именно о возврате с платежной системы на сайт. Ликпей умееет на урл возврата слать еще POST массив с результатами оплаты.
на оперкарт там есть такое не спорю здесь не модуль
тут самописный и по скрину не так сделали (в доке что на liqpay понять что то это проблема)
тут именно проблем больше
- почему-то в коллбек приходит план_ид а должен ордер_ид (любой уникальный ид а план скорей всего не уникальный)
- нет проверки сигнатуры
- если это функция серсер-сервер то не кук не редиректа тут не надо
- если это сервер-клиент то это не безопасно так писать то что дыра
ну и тд
Я понимаю что там топорно. Просто если слетает сессия (и это не только ликпей, не важно какой движок) нужно добавлять SameSite, я чисто по ТЗ пишу. Человек в задаче написал что слетает сессия https://screenrec.com/share/SjQdMUIJuK
А так уже все выяснили) Без обид)
Kopiowanie bazy i frontu dla bazy (Obecnie częściowo skopiowany front i niektóre cechy, ale niepoprawnie. Parser wypełnił bazę swoimi cechami) Synchronizacja parsera z bazą i cechami bazy Naprawa błędu agenta parsera Przycinanie zdjęć proporcjonalnie do znaku wodnego, które spływają z parsera Praca bufora z nową bazą i narzędziami z obiektami tej bazy Poprawienie drobnych błędów: na przykład tekst popupów lub drobne momenty na froncie, błędy, które pojawią się podczas realizacji zadań Podłączenie nowego magazynu do przechowywania mediów Logi przestały trafiać do tabeli operacji finansowych, co nas stronach bilansu i planu taryfowego (płatność taryfy, doładowanie konta (sukces/nie)) Sprawdzić jeszcze raz działanie płatności i po tym zamienić testowe API billingowe od monobanku na rzeczywiste Udoskonalić prawa dostępu dla użytkownika administratora baz Obecnie są zawieszone procesy, które obciążają serwer, trzeba to sprawdzić Logika komentarzy i notatek obecnie działa niepoprawnie, trzeba, aby dla tego samego obiektu w 2 bazach - komentarze były przypisane do każdej bazy, a nie do obiektu, źródłem którego jest obiekt tej bazy (Bardziej szczegółowo mogę wyjaśnić osobiście) Zafiksować w bazach poprawne sortowanie (Obecnie od pierwszego dodanego do ostatniego. trzeba odwrotnie, funkcjonalność sortowania stworzona) Sprawdzić i poprawić poprawność filtrów w bazach, możliwe, że dodać ograniczenia na filtrację przy dużych objętościach danych
Trzeba przenieść autorski projekt z CodeIgniter 2 na Laravel 12. Szczegóły podam w wiadomościach prywatnych.
Projekt Istniejąca strona została opracowana w Symfony. Należy przejąć projekt na wsparcie, zapoznać się z kodem i w przyszłości realizować poprawki. Główne zadania Wdrożyć wszystkie techniczne zalecenia specjalisty SEO zgodnie z dostarczonym zadaniem technicznym. Wprowadzić zmiany w konfiguratorze pomników zgodnie z oddzielną listą wymagań. Zrealizować zaktualizowany design strony (markup i integracja nowego designu). Wykonywać dalsze techniczne poprawki i wsparcie strony w razie potrzeby. Od dewelopera oczekuje się Zapoznania się ze strukturą projektu i bazą kodu. Oceny kosztów i terminów realizacji każdego etapu. Przestrzegania istniejącej architektury projektu i jakościowej realizacji zmian. Utrzymywania kontaktu w sprawie realizacji zadań i możliwych rozwiązań technicznych.
Chcę bota do Telegramu. Ładowanie dialogów. Z pomocą AI sprawdzanie na potencjalne kłamstwo. Strona z rozszerzonymi możliwościami. Rejestracja, API, statystyki itd.
Potrzebna jest migracja sklepu internetowego Opencart z PHP 7.4 na PHP 8.x. Obecnie zainstalowane jest jądro w wersji 3.0.3.8. Czytamy, że najprawdopodobniej będzie trzeba również zaktualizować jądro do wersji 4.0 i że nie powinno być większych trudności... Funkcjonalność jest głównie niestandardowa, są również Simple, OCFilter, Nowa poczta. Oczekujemy rekomendacji i orientacyjnej ceny. Idealnie, jeśli ktoś już przeprowadzał podobną pracę.