3D Model

Ödeme Sürecinin Başlaması
Metot Adı: TP_WMD_UCD

Nonsecure/3D ödeme işleminin başlatılacağı metottur. 3D işlemler için metot sonucu dönen 3D Banka HTML kod içeriği ekrana bastırılır ve yönlendirme yapılmış olur. Kredi kartı doğrulama işlemi başlar.

İşlem Hash Değeri Hesaplama:

Bu servisin SHA2B64 metodu, parametresine gönderdiğiniz değer sonucunda, bu değeri hashleyip Base64String e çevirir. Aşağıdaki örnekte olduğu gibi, bu parametreleri yazılım dilinize uygun string birleştirme yöntemi kullanarak birleştiriniz ve SHA2B64 metoduna gönderiniz. Elde ettiğiniz sonuç Islem_Hash değeridir. Islem_Hash’i oluşturacak parametre formatlarını, Gönderilecek Parametreler tablosuna bakarak oluşturunuz.(Islem_Tutar’ın virgüllü olması gibi)

Dim Islem_Guvenlik_Str$ = CLIENT_CODE & GUID & Taksit & Islem_Tutar & Toplam_Tutar & Siparis_ID
Dim Islem_Hash$ = SHA2B64(Islem_Guvenlik_Str)
Komisyon Dahil Sipariş Tutarı Hesaplama

Komisyon Oran: TP_Ozel_Oran_SK_Liste metodundan seçilen taksitin komisyon oranı
Islem_Tutar: Siparişinizin tutarı
Toplam_Tutar = Islem_Tutar + ((Islem_Tutar x Komisyon Oran) / 100)
şeklindedir.

 

Gönderilecek Parametreler:

Parametre Tip Uzunluk Açıklama
G NS - ST_WS_Guvenlik Nesnesi
GUID N 36 Üye İşyerine ait Anahtar
KK_Sahibi N 100 Kredi Kartı Sahibi
KK_No N 16 Kredi Kartı numarası
KK_SK_Ay N 2 2 hane Son Kullanma Ay
KK_SK_Yil N 4 4 haneli Son Kullanma Yıl
KK_CVC N 3 CVC Kodu
KK_Sahibi_GSM N 10 Kredi Kartı Sahibi GSM No, Başında 0 olmadan (5xxxxxxxxx)
Hata_URL N 256 Ödeme işlemi başarısız olursa yönlenecek sayfa adresi
Basarili_URL N 256 Ödeme işlemi başarılı olursa yönlenecek sayfa adresi
Siparis_ID N 50 Siparişe özel tekil ID. Bu değeri daha önce gönderdiyseniz sistem yeni Siparis_ID atar. İşlem sonucunda bu Siparis_ID yi döner.
Siparis_Aciklama N 250 Siparişe ait açıklama
Taksit I 2 Seçilen Taksit Sayısı. Tek çekim için 1 gönderiniz.
Islem_Tutar N - Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50)
Toplam_Tutar N - Komisyon Dahil Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50)
Islem_Hash N - İşlem Hash Değeri
Islem_Guvenlik_Tip N - 3D veya NS (Nonsecure) destekler.
Islem_ID N - İşleme ait Sipariş ID haricinde tekil ID, opsiyoneldir.
IPAdr N 50 IP Adresi
Ref_URL N 256 Ödemenin gerçekleştiği sayfanın URLsi
Data1 N 250 Extra Alan 1
Data2 N 250 Extra Alan 2
Data3 N 250 Extra Alan 3
Data4 N 250 Extra Alan 4
Data5 N 250 Extra Alan 5

Sonuç Parametreleri:

Parametre Tip Uzunluk Açıklama
Islem_ID N - İşlem ID Değeri
Islem_GUID N - İşlem GUID değeri
UCD_HTML N - Banka 3D HTML içeriği
UCD_MD N - Banka 3D Doğrulama Öncesi MD değeri
Sonuc N - İşlem sonucu
Sonuc_Str N - İşlem sonuç açıklama
Bank_Trans_ID N - Banka Transaction ID değeri
Bank_AuthCode N - Banka Auth Code değeri
Bank_HostMsg N - Banka HostMsg değeri
Banka_Sonuc_Kod I - Banka Sonuç Kod değeri
Bank_Extra N - Banka Extra değeri

Sonuc parametresi “0” dan büyükse, 3D Güvenli Ödeme işlemini başlatmak için UCD_HTML içeriğini ekrana bastırınız.
Kredi kartından çekim işlemini tamamlamak için aşağıdaki adımlarını izlemeniz gerekmektedir.

NonSecure işlemler için (Önemli)
Sonuc > 0 ise UCD_HTML nin 'NONSECURE' eşitliği aranır. Eğer eşitse İşlem sonlanır. Islem_ID değeri Dekont No değeridir.
Başarılı bir NonSecure işlemi için, Sonuc > 0, Islem_ID > 0 ve UCD_HTML='NONSECURE' olmalıdır. Aksi durumda işlem başarısızdır.
NONSECURE işlemin hatalı olması durumunda Sonuc_Str değer bankadan gelen hata mesajını döner.
Eğer Sonuc > 0 ve UCD_HTML <> 'NONSECURE' ise 3D işlemi gibi ele alınır.

UCD_HTML içeriğini ekrana bastırdığınızda Banka 3D ekranı görüntülenecektir. 3D doğrulama yapıldıktan sonra Basarili_URL veya Hata_URL sayfalarınıza aşağıdaki parametreler post edilecektir.

Parametre Tip Uzunluk Açıklama
md N - TP_WMD_Pay metodu UCD_MD parametresine gönderilecek MD değeri
mdStatus I 1 3D Doğrulama Sonucudur.
1:Başarılı - Diğer durumlarda 3D doğrulama başarısızdır.
orderId N - TP_WMD_UCD metoduna gönderilen Siparis_ID değeri
transactionAmount N - TP_WMD_UCD metoduna gönderilen İşlem Tutarı
islemGUID N - TP_WMD_UCD metodundan dönen İşlem GUID değeri
islemHash N - TP_WMD_UCD metodundan dönen İşlem Hash değeri

Hash Kontrolü
Parametre doğrulaması yapmak için aşağıdaki işlemler uygulanmalıdır.

Hash değerini oluşturan parametreler
islemGUID + md + mdStatus + orderId + Üye İşyerine ait Anahtar

Hash değeri based64 olarak kodlanmıştır. (SHA1)

Örnek kod
Dim _sha As SHA1 = New SHA1CryptoServiceProvider()
Dim _bytes() As Byte = System.Text.Encoding.UTF8.GetBytes(islemGUID + md + mdStatus + orderId + Üye İşyerine ait Anahtar)
Dim _hashingbytes() As Byte = _sha.ComputeHash(_bytes)
Dim _hash As String = Convert.ToBase64String(_hashingbytes)

Oluşturduğuuz hash değeri ile post edilen islemHash değeri aynı olmalıdır.

mdStatus Değerleri
1 = Doğrulanmış İşlem (Full 3D)
2, 3, 4 = kart kayıtlı değil (Half 3D)
5, 6, 7, 8 = Geçerli doğrulama yok veya sistem hatası
0 = Doğrulama Başarısız

mdStatus : 1, 2, 3, 4 ise Ödemeyi tamamlamak için TP_WMD_Pay metoduna istek gönderebilirsiniz.
mdStatus : 0,5,6,7,8 ise 3D doğrulama başarısızdır. TP_WMD_Pay metoduna istek göndermeyiniz..


MD Değeri ile Para Çekme İşlemi
Metot Adı: TP_WMD_Pay

MD değeri ile çekim işlemini tamamlamak için kullanılır.

Gönderilecek Parametreler:

Parametre Tip Uzunluk Açıklama
G NS - ST_WS_Guvenlik Nesnesi
GUID N 36 Üye İşyerine ait Anahtar
UCD_MD N - Banka 3D MD değeri
Islem_GUID N - İşlem GUID değeri
Siparis_ID N - Sipariş ID değeri

Sonuç Parametreleri:

Parametre Tip Uzunluk Açıklama
Sonuc N - İşlem sonucu
Sonuc_Ack N - İşlem sonuç açıklama
Dekont_ID N - İşlemin Dekont ID si
Siparis_ID N - Sipariş ID değeri
UCD_MD N - Banka 3D MD Değeri
Bank_Trans_ID N - Banka Transaction ID değeri
Bank_AuthCode N - Banka Auth Code değeri
Bank_HostMsg N - Banka HostMsg değeri
Bank_Extra N - Banka Extra değeri
Bank_Sonuc_Kod I - Banka Sonuç Kod değeri

Sonuc > 0 ve Dekont_ID > 0 ise işlem başarılıdır. Aksi halde işlem başarısızdır.