3D ödeme sistemi ve cookie/session problemi hakkında

Abdullah Karipcin
Abdullah Karipcin
Published in
2 min readNov 16, 2020

Sorunu anlatan senaryo şöyle, kullanıcı kart bilgilerini girer ve ödeme yap butonuna basar, bu arada siz cookie ya da sessiona 3d ödeme sonrası doğrulama yapabilmek için bazı veriler atarsınız. Kullanıcı 3d doğrulaması için banka ekranına gider sms ile gelen kodu girer tekrar sizin success sayfanıza döner ki en istenmeyen durum yaşanır ve session/cookie den verileri alamadığınız için ödemeyi sisteme işleyemezsiniz. Kullanıcı ödeme yapmıştır fakat siz sisteme işleyememişinizdir.

Bu sorun Chrome ve chrome tabanlı browserlarda marttan itibaren güncelleme ile oluştuğu söylenmekte fakat burada sorun kelimesinin üzerinde durmak istiyorum zira aslında bu bir browser hatası, bug vs. değil bilerek yapılmış, csrf tekniğinin yerini almak için geliştirilmiş yeni bir özellik gibi duruyor, ihtiyaç olup olmadığı ya da ne kadar etkili olduğu tartışılır.

Bu sorunu bende araştırırken çeşitli kaynak arasında iyziconun önerdiği çözümü gördüm aşağıdaki linkten size bakabilirsiniz.

Bizim ödeme alt yapımızda iyzico fakat iyziconun çözümü yerine ben daha farklı bir çözüm bularak php 7.4.x kullandığım için php.ini dosyasına aşağıdaki satırı ilave ederek sorunu kökten çözdüm.

session.cookie_samesite=”None”;

Size de tavsiyem kod üzerinden uğraşmaktansa php.ini den bu sorunu çözmek.

Sizde daha farklı çözümler konusunda bilgi sahibiyseniz burada yorum yazarak paylaşabilirsiniz.

Samesite ve csrf üzerine bunlarıda okumanız faydalı olabilir;

--

--