Pierderea sesiunii dupa un request POST facut the un third-party

Salutare,

Implementand un procesator de plati intr-o aplicatie Laravel m-am lovit de urmatoarea problema.

Dupa ce clientul introduce datele cardului in interfata procesatorului de plati, acesta din urma face un request de tip POST catre aplicatia Laravel pentru a comunica rezultatul tranzactiei (nu ma refer la IPN, acela este un request separat). In urma acestui request clientul ar trebui sa fie redirectionat spre o pagina in care este informat despre statusul tranzactiei.

Fiind un request facut de un third-party inseamna ca se pierde sesiunea curenta, iar cand redirectionez clientul catre pagina de status acesta este nevoit sa se logheze pentru a o putea vizualiza.

Problema pare sa fie din cauza modului in care sunt salvate cookie-urile. In mod implicit, in session.php, optiunea same_site are valoarea lax. Daca modific in null functioneaza, insa modificarea vine cu o serie de riscuri de securitate.

Drept urmare eram curios daca v-ati lovit de situatia asta pana acum si ce ati facut pentru a o rezolva.

Multumesc.

salut Cosmin,

toți comercianți mei la Plati.online se lovesc de această problemă

Cătă

Ai putea crea un token asociat sesiunii curente care-l folosești în url-ul de la redirect. Cînd utilizatorul e redirectat de la procesatorul de plăți verifici token-ul și repopulezi sesiunea cu datele la care face referire token-ul…

@Catalin_Maftei, imi inchipui, e o problema comuna.

@Cornel, ar fi o idee. As putea salva sesiunea curenta in tabelul de utilizatori, apoi sa generez token-ul in baza ei, iar dupa redirect sa vad carei sesiuni ii corespunde si sa autentific utilizatorul respectiv.