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.
Kontrol Senaryoları
Entegrasyon sırasında yapılmasını beklediğimiz test senaryolarına buradan
ulaşabilirsiniz.
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.
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.
TP_Islem_Odeme_OnProv_WMD Hash Formülü
Dim Islem_Guvenlik_Str$ = CLIENT_CODE & GUID & Islem_Tutar & Toplam_Tutar & Siparis_ID & Hata_URL & Basarili_URL
Dim Islem_Hash$ = SHA2B64(Islem_Guvenlik_Str)
Parametre | Zorunlu | Tip | Uzunluk | Açıklama |
---|---|---|---|---|
G | Evet | Nesne | - | ST_WS_Guvenlik Nesnesi |
GUID | Evet | String | 36 | Üye İşyerine ait Anahtar |
KK_Sahibi | Evet | String | 100 | Kredi Kartı Sahibi |
KK_No | Evet | String | 16 | Kredi Kartı numarası |
KK_SK_Ay | Evet | String | 2 | 2 hane Son Kullanma Ay |
KK_SK_Yil | Evet | String | 4 | 4 haneli Son Kullanma Yıl |
KK_CVC | Evet | String | 3 | CVC Kodu |
KK_Sahibi_GSM | Evet | String | 10 | Kredi Kartı Sahibi GSM No, Başında 0 olmadan (5xxxxxxxxx) |
Hata_URL | Evet | String | 256 | Ödeme işlemi başarısız olursa yönlenecek sayfa adresi |
Basarili_URL | Evet | String | 256 | Ödeme işlemi başarılı olursa yönlenecek sayfa adresi |
Siparis_ID | Evet | String | 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 | Hayır | String | 250 | Siparişe ait açıklama |
Taksit | Evet | Integer | 2 | Seçilen Taksit Sayısı. Tek çekim için 1 gönderiniz. |
Islem_Tutar | Evet | String | - | Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50) |
Toplam_Tutar | Evet | String | - | Komisyon Dahil Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50) |
Islem_Hash | Evet | String | - | İşlem Hash Değeri |
Islem_Guvenlik_Tip | Evet | String | - | NS (NonSecure) veya 3D |
Islem_ID | Hayır | String | - | İşleme ait Sipariş ID haricinde tekil ID opsiyoneldir. |
IPAdr | Evet | String | 50 | IP Adresi |
Ref_URL | Hayır | String | 256 | Ödemenin gerçekleştiği sayfanın URLsi |
Data1 | Hayır | String | 250 | Extra Alan 1 |
Data2 | Hayır | String | 250 | Extra Alan 2 |
Data3 | Hayır | String | 250 | Extra Alan 3 |
Data4 | Hayır | String | 250 | Extra Alan 4 |
Data5 | Hayır | String | 250 | Extra Alan 5 |
Parametre | Tip | Uzunluk | Açıklama |
---|---|---|---|
Islem_ID | Long | - | SID Değeri |
Islem_GUID | String | 36 | İşlem GUID değeri |
UCD_HTML | String | - | 3D HTML kod |
UCD_MD | String | - | 3D MD değeri |
Sonuc | Integer | - | İşlem sonucu |
Sonuc_Str | String | - | İşlem sonucu açıklama |
Bank_Trans_ID | String | - | Banka Transaction ID değeri |
Bank_AuthCode | String | - | Banka Auth Code değeri |
Bank_HostMsg | String | - | Banka HostMsg değeri |
Banka_Sonuc_Kod | Integer | - | Bankanın döndüğü kod |
Bank_Extra | String | - | Banka Extra değeri |
Sonuç Parametreleri Örnek: NS li işlemler için
Sonuç Parametreleri Örnek: 3D li işlemler için
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 | String | - | TP_WMD_Pay metodu UCD_MD parametresine gönderilecek MD değeri |
mdStatus | Integer | 1 | 3D Doğrulama Sonucudur. 1:Başarılı - Diğer durumlarda 3D doğrulama başarısızdır. |
orderId | String | - | TP_Islem_Odeme_OnProv_WMD metoduna gönderilen Siparis_ID değeri |
transactionAmount | String | - | TP_Islem_Odeme_OnProv_WMD metoduna gönderilen İşlem Tutarı |
islemGUID | String | 36 | TP_Islem_Odeme_OnProv_WMD metodundan dönen İşlem GUID değeri |
islemHash | String | - | TP_Islem_Odeme_OnProv_WMD 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 ( anahtar Lower küçük olarak
gidilmeli)
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ğunuz 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..
Doğrulaması yapılan kartlardan ön provizyonu tamamlamak için bu metot kullanılır.
Gönderilecek Parametreler:
Parametre | Zorunlu | Tip | Uzunluk | Açıklama |
---|---|---|---|---|
G | Evet | Nesne | - | ST_WS_Guvenlik Nesnesi |
GUID | Evet | String | 36 | Üye İşyerine ait Anahtar |
UCD_MD | Evet | String | - | Banka 3D MD değeri |
Islem_GUID | Evet | String | 36 | İşlem GUID değeri |
Siparis_ID | Evet | String | - | Sipariş ID değeri |
Sonuç Parametreler:
Parametre | Tip | Uzunluk | Açıklama |
---|---|---|---|
Sonuc | Integer | - | İşlem sonucu |
Sonuc_Ack | String | 36 | İşlem sonuç açıklama |
Dekont_ID | String | 36 | İşlemin Dekont ID si |
Siparis_ID | String | - | Sipariş ID değeri |
UCD_MD | String | - | Banka 3D MD Değeri |
Bank_Trans_ID | String | - | Banka Transaction ID değeri |
Bank_AuthCode | String | - | Banka Auth Code değeri |
Bank_HostMsg | String | - | Banka HostMsg değeri |
Bank_Extra | String | - | Banka Extra değeri |
Bank_Sonuc_Kod | Integer | - | Banka Sonuç Kod değeri |
Bank_HostRefNum | String | - | Banka RRN 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.
Ön provizyon - Kapama metoduna geçebilirsiniz.
Entegrasyon sırasında yapılmasını beklediğimiz test senaryolarına buradan ulaşabilirsiniz.
Ön provizyon işlemini satışa dönüştürür.
Parametre | Zorunlu | Tip | Uzunluk | Açıklama |
---|---|---|---|---|
G | Evet | Nesne | - | ST_WS_Guvenlik Nesnesi |
GUID | Evet | String | 36 | Üye İşyerine ait Anahtar |
Prov_ID | Hayır | String | - | Provizyon ID (Opsiyonel, boş geçilebilir) |
Prov_Tutar | Evet | String | - | Kapama Yapılacak Tutar (sadece virgüllü kuruş formatında 1000,50) |
Siparis_ID | Evet | String | - | Sipariş ID Değeri |
Parametre | Tip | Uzunluk | Açıklama |
---|---|---|---|
Sonuc | Integer | - | İşlem sonucu |
Sonuc_Str | String | - | İşlem sonuç açıklama |
Prov_ID | String | - | Provizyon ID si |
Dekont_ID | Long | - | İşlemin Dekont ID si |
Banka_Sonuc_Kod | Integer | - | Bankanın döndüğü kod |
Bu metot, satış işlemi yapılmamış Provizyon iptali için kullanılır.
Parametre | Zorunlu | Tip | Uzunluk | Açıklama |
---|---|---|---|---|
G | Evet | Nesne | - | ST_WS_Guvenlik Nesnesi |
GUID | Evet | String | 36 | Üye İşyerine ait Anahtar |
Prov_ID | Hayır | String | - | Provizyon ID (Opsiyonel, boş geçilebilir) |
Siparis_ID | Evet | String | - | Sipariş ID Değeri |
Parametre | Tip | Uzunluk | Açıklama |
---|---|---|---|
Sonuc | Integer | - | İşlem sonucu |
Sonuc_Str | String | - | İşlem sonuç açıklama |
Banka_Sonuc_Kod | Integer | - | Bankadan dönen kod |