3D secure sisteminin en yaygın kullanılan entegrasyon modellelrinden birisi olan 3D model, 3D doğrulama ve Ödeme adımlarıyla iki koşuldan oluşmaktadır. 3D Secure entegrasyon modellerinden hangisinin kullanılacağı tamamen entegrasyonu yapan web sitesi/ kuruluş tarafından tercih edilen, belirlenen bir süreçtir. Entegrasyon modelleri kart sahiplerini(Kartını kullanarak alışveriş yapan) ilgilendiren bir süreç değildir. Her modelin kendine göre bazı kural ve koşulları söz konusudur. Bu yazımızda tamamen 3D Model’i odak noktası alarak ilerleyeceğiz.
3D Model entegrasyonu ile kart sahibi tarafından girilecek olan, kart numarası(cardpan), kart son kullanma tarihi(skt) ve kartın arkasında bulunan güvenlik kodu(CVV) nun bulundğu sayfa web sitesi tarafından host edilen bir sayfa olmaktadır. Yani kart bilgilerinin girildiği bu sayfanın .css ve .hmtl yapısı özetle makyajlaması web sitesi developerları tarafından yapılmaktadır.
3D Doğrulama Adımı
3D entegrasyon modeli, kart sahibi tarafından girilen kart bilgilerinin ilk önce 3D Secure sistemine gönderilmesine, kartın bankası tarafından kart sahibinin cep telefonuna gönderilen 3D secure doğrulma kodunun girileceği ekranın açılmasına, ve secure kodun girierek işlem devam edilmesinin ardından 3D Secure sisteminden gelen yanıt değerlerinin ise üye işyerinin kontrolü ile istenirse ödemeye devam ettirilip/ ettirilmeme kararını yönetmesine olanak sağlar.
3D secure sisteminden dönen yanıt parametlerinden birisi olan “3D işlem durmum kodu” parametresi olan mdstatus kodu, ilgili işlemin Ödeme adımına devam edip/ etmemesine karar verilebilecek bir kontrol olarabilir. Çünkü bu durum kodu ilgili işlemin secure kod girilip/ girilmeden yapılıp yapılmadığını bildiren bir parametredir.
3D secure sisteminden mdstatus kodunun “1” olarak dönmesi, işlemin “Full Secure” yani kart sahibine gönderilen secure kodun girilerek devam edildiği anlamına gelmektedir.
Peki işlemin hem 3D Secure olarak başlatılması hemde “secure kodun girilerek devam edilmeme durumu” ne demektir?
3D Secure sisteminde yapılan tüm işlemler her zaman mdstatus=1 ile full secure olarak demek edecektir diye bir kural bulunmamaktadır. Full Secure haricindeki durumlarda işlem ya reddedilir, yada half secure doğrulama cevabı üye işyerine döner.
Diğer Mdstatus değerleri ve açaıklamaları aşağıdaki gibidir;
mdStatus = 0 | 3D Secure kod geçersiz veya girilmedir. |
mdStatus = 2 | Kart sahibi veya bankası sisteme kayıtlı değil, bu nendele secure kod gönderimi yapılmadı. |
mdStatus = 3 | Kartın bankası sisteme kayıtlı değil, secure kod gönderilmedi. |
mdStatus = 4 | kart sahibi sisteme daha sonra kayıt olmayı seçmiş ve bu nedenle belirli bir sınırda half secure devam edecektir. |
mdStatus = 5 | Doğrulama yapılamıyor |
mdStatus = 6 | 3D Secure hatası |
mdStatus = 7 | Sistem hatası |
mdStatus = 8 | Bilinmeyen kart no |
Tam olarakda yukarıda bahsedilen ve 3D Model ile üye işyerinin ilgili işlemi ödemeye gönderme tercihi kontrol edebildiği nokta burası olabilir.
Burada işlemin ödemeye devam ettirme kararı alınabildiği gibi, istenirse Sanal POS sistemini sadece 3D Secure doğrulamak(kart sahibini doğrulamak) içinde kullanabilirler. Bu tamamen iş yerinin kararıdır.
Ödeme Adımı
3D Secure sisteminden dönen yanıt prametreleri sadece mdstatus parametresi ile sınırlı değildir. Bu parametreler Sanal POS alt yapı sağlayıcı kuruluşun 3D secure sistemiyle olan entegrasyonuna göre değişebilir.
Burada önemli olan 3D secure sisteminden dönen yanıt parametreleri ile ödeme adımına işlemi göndermektedir. Üye işyerleri kendi business kararları gereği bazen mdstatus=1 haricindeki işlemleri ödemeye göndermek istemeyebilir.
Dikkat ettiyseni 2 aşamalı bir adımdan bahsediyoruz;
3D Doğrulama
Ödeme
Kart sahibi kart bilgielrini bir kere girdiği için, ödeme adımında 3D doğrulama sisteminden üye işyerine kart bilgilerini içeren bazı hashlenmiş bilgiler dönmektedir. Bu parametrelerde alt yapı sağlayıcıya göre değişmekle birlikte en yaygın olarak aşağıdaki parametrelerdir.
Response: “Approved”, “Declined” veya“Error”
mdStatus: “1” 3D işlem durum kodu
eci: Elektronik Ticaret Göstergesi (Electronic Commerce Indicator)
cavv: Kart güvenlik numarası (Cardholder Authentication Verification Value,ACS tarafından belirlenir.)
md: Kart numarası yerine Hash
mdErrorMsg: “Authenticated” 3D secure hata mesajları
xid: Benzersiz internet işlem numarası
Dönen bu değerlerle Sanal POS entegrasyon dökümanlarında belirtildiği yöntemlerle işlemler ödeme adımına gönderilebilmektedir. 3D Secure sisteminden dönen yukarıdaki örnek parametreler olduğu gibi ödeme adımında gönderilmelidir. Kartın güvenliği sağlamak adına 3D secure sistemi, kart sahibinin ilk adımda girdiği gibi tüm bilgileri üye işyerine açık olarak göndermez. Zaten böyle bir durum söz konusu olsaydı 3D secure sisteminin tam anlamıyla işlemediğini düşünürdük.
Ödeme adımından sonra örnek sonuç parametreleri aşağıdaki gbidiri.
- Yanıt: “Approved” (Onaylanan)
ProcReturnCode “00” olur. Bu, işlemin başarılı olarak sonuçlandığını yani kart sahibinden tutarın çekildiğini göstermiş olur.
- Yanıt: “Declined” (Reddedilen)
ProcReturnCode “00” ve “99” dan başka, sanal POS sağlayan banka 2 basamaklı farklı bir sayı ile hata kodu alır. Bu mesajda sanal POS sağlayan bankanın işleme onay vermediği anlaşılır. ErrMsg parametreleri hatanın detay açıklamalarını verir. Sanal POS sağlayan bankadan gelen hata kodlarının detaylı açıklamalarını başka bir yazıda sizlerle paylaşacağım.
- Yanıt: “Error” (Hata)
ProcReturnCode “99” alır. bu mesajda; işlemin sanal POS sağlayan bankanın ödeme adımında takıldığını gösterir. ErrMsg parametreleri hatanın detaylı açıklamasını verir.
3D Secure sisteminden dönen parametrelerle ilgili işlemin ödemeye gönderilmesi arasında bankalar veya 3D secure sisteminin belirlemiş olduğu bir zaman aşımı süresi söz konusudur.