@SerimGrup; bu işlem için 3 adet yol önerebilirim.

Pratik basit yol 1: sessionu denedim demişsiniz ama fonksiyonun içinde session değerini okuyabilirsiniz, fonksiyonun tanımlı olduğu php dosyasının üstünde session_start(); olmasına dikkat ediniz ve aşama aşama print_r($_SESSION); diyerek session yazıyormu nerde kayboluyor bunun debugunu yapabilirsiniz.

Pratik basit yol 2: ode.php dosyanıza ode.php?urun_miktari=x&taksit=y&toplam_tutar=z

şeklinde yönlendirirsiniz, callback yeni geri dönüşte urlyi bu şekilde verirseniz GET ile değerleri çekip kullanabilirsiniz. Geri dönüş urlsini ilk 3d secure isteği yaptığınız success_url ve failure_url kısmından yapabilirsiniz.

Ama ben bu özellikle 2. yöntemi hiç önermiyorum, dikkat edilmezse güvenlik zafiyetleri oluşturabilir.

Önerdiğim yöntem yol 3:
Bu yöntem diğerlerine göre daha profesyonel bir yöntemdir, siz ilk başta kredi kartı ödeme sayfasına hiç gelmeden kullanıcının bilgilerini, hangi üründen kaç adet aldığını toplam ödeme miktarını dbde bir tabloya (örn: siparisler veya faturalar vb.) eklersiniz.

Sonrasında ode.php nize ise ode.php?siparisno=x şeklinde kullanıcıyı yönlendirirsiniz ve yine aynı şekilde callback yani 3dsecureden dönüş linklerinide ode.php?siparisno=x şeklinde ayarlarsanız. burdaki siparisno yu get ile çekip dbden sorgulayarak siparişle ilgili gerekli bilgileri elde edebilirsiniz.