Session Destroy Setelah Redirect dari Payment Gateway
Pernah mengalami sesi atau session tiba-tiba terhapus atau hilang setelah redirect dari halaman payment gateway? masalahnya adalah bukan pada pemograman anda. Hal ini merupakan kebijakan dari Browser yang disebut sebagai SameSite. Bagaimana Solusinya?
Standar IETF baru menjelaskan atribut baru yang bisa diatur dalam header HTTP. Disebut "SameSite," atribut harus ditetapkan oleh pemilik situs web dan harus menggambarkan situasi di mana cookie situs dapat dimuat.
Atribut SameSite dari "strict" berarti cookie hanya dapat dimuat di situs yang sama. Sederhananya, kendali itu akan menciptakan garis pemisah antara cookie, yang akan menjadi cookie situs yang sama atau lintas situs. Google mengharapkan pemilik situs web memperbarui situs mereka dan mengonversi cookie lama yang mereka gunakan.
Semua cookie lama yang tidak memiliki header SameSite, akan secara otomatis menggunakan atribut "None". Chrome akan menganggapnya sebagai cookie lintas situs atau pelacakan. Lebih lanjut, Google berencana menambahkan opsi di pengaturan Chrome sehingga pengguna dapat melihat bagaimana situs menggunakan cookie, serta kendali yang lebih sederhana untuk cookie lintas situs.
Jadi sudah terbayang? nah sekarang bagimana mengatasinya supaya ketika Payment gateway redirect tidak terhapus sesinya. Jika anda menggunakan PHP maka anda cukup menambahkan baris berikut di paling atas koding anda.header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');
Ini berarti situs kita akan menerima sesi cross site, dan sesi yang anda gunakan tidak terhapus ketika anda redirect dari halaman website lain, bukan hanya payment gateway. Semoga bermanfaat.