ASP.NET Hazır Sanal Pos Kodları ( 7 Banka )

Asp.net olarak class’lar halinda kodlanmış 7 bankanın sanal pos kodları. Size sadece gerekli bilgileri class a göndermek kalıyor.
Aşağıdaki 7 bankanın sanal posları bulunmaktadır
1. İş Bankası
2. Garanti Bankası
3. Vakıfbank
4. Akbank
5. Yapı Kredi
6. FinansBank
7. DenizBank

Sanal Pos Kodlarını  indirmek için

public void Cekim() {
            // kullanıcıdan kart bilgilerini alıyoruz.
            PosForm pf = new PosForm {
                ay = 1,
                yil=2011,
                guvenlikKodu = 123,
                kartNumarasi = 1234567891234568,
                kartSahibi = "kart sahibi",
                taksit = 3,
                tutar = 1.00
            };
            // Poslarımıza yukarıdaki bilgileri gönderiyoruz.
            Pos p = new Pos();
            // Örnek gönderim;
            p.Akbank(pf);
            //p.GarantiBankasi(pf);
            //p.VakifBank(pf);
            //p.YapiKredi(pf);
            //p.IsBankasi(pf);
            // Poslardan geriye dönen bilgileri alıyoruz.
            if (p.sonuc)
            {
                // Çekim işlemi başarılı ise, geri dönen bilgileri alıyoruz.
                // Genellikle bu bilgiler veritabanında saklanır.
                // Bankadan bankaya değişiklik göstereceği için, alanlardan bazıları boş gelebilir.
                Response.Write(p.referansNo);
                Response.Write(p.groupId);
                Response.Write(p.transId);
                Response.Write(p.code);
            }
            else
            {
                // Çekim işlemi herhangi bir sebepden dolayı olumsuz sonuçlanmışsa, bankadan dönen hatayı alıyoruz.
                // Hata kodlarının açıklamaları ilgili banka dökümantasyonunda belirtilmiştir.
                Response.Write(p.sonuc);
                Response.Write(p.hataMesaji);
                Response.Write(p.hataKodu);
            }
        }

Gerekli Dll Dosyaları

You may also like

101 yorum

  1. Merhabalar hocam bu sanal pos kodları halen çalışır durumda mı? ekstra bir şey yapmamıza gerek varmıdır.

    1. Kodlar aktif olarak çalışır durumda. Ben kendim şuan aktif olarak kullanıyorum. Eğer hata aldığınız bir yer olursa yardımcı olmaya çalışırım.

      1. Merhgaba, Yapı Kredi C_Posnet i kullanmaya çalışıyorum Şu hatayı alıyorum.
        902/ : Data at the root level is invalid. Line 1, position 1.
        Eğer sakıncası yoksa formu oluşturduğunuz kodu da ekleyebilirmisiniz. Yani Result öncesini

      2. Merhabalar kodlar tamamen kullanılabilir mi şuanda, herhangi bir değişiklik var mı ? teşekkürler.

  2. hocam takıldığım bir konu var, bankanın bize verdiği taksit seçenekleri ile kullanıcıyı bilgilendiriyoruz ya, ödeme esnasında kullanıcı istediği bir taksit seçeneğini seçerse biz fiyatı taksit seçeneğine göre değiştirip mi gönderiyoruz yoksa ana tutar fiyatı neyse onu mu gönderiyoruz yani bankaya giden taksit seçeneğine göre banka mı ayarlıyor taksitlendirmeyi

    1. Fiyatları bankanın taksit oranlarına göre sizin düzenlemeniz gerekiyor. Yani kodlama yaparken komisyonları ekleyip o şekilde kullanıcıya göstermeniz gerekiyor.

  3. Selam hocam. Acaba bu pos sınıflarını kullanırken güvenlik açısından riskler ve dikkat etmemizi tavsiye ettiğiniz noktalar var mı?

    1. SSL Sertifikası yüklemeniz gerektiği için bilgilerin yabancı kişiler tarafından çalınması imkansız hale geliyor. Siz de yazılım tarafında kredi kartı bilgilerinin hepsini kayıt etmezsiniz. Böylece 2 taraflı da güvenlik olmuş olur.

  4. Merhabalar Hocam,
    Aldığım hata şudur,
    ‘Installments’ value is not valid. Please check and try again.
    bu hatayı neden alıyorum acaba ?
    Teşekkürler

  5. Merhaba,
    finans bank işlemi için bir bu kodları kullanmak istedim,
    Ödeme işlemi başarısız..
    SonuçFalse
    Hata Kodu
    Hata Mesajı at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at ePayment.cc5payment.processorder()
    hatası alıyoruz.

    1. Merhaba,
      Ben de Akbank pos için aynı hata mesajını alıyorum, asseco bu hata ile ilgili destek veremiyor ve Local server üzerinde hata oluşmadığı için ilerleyemedim, sadece production ortamında hata oluşuyor ki orada da “İş Bankası, YKB, DenizBank, Finansbank, Garanti” sorunsuz olarak çalışıyor.
      Çözümü ile ilgili bir ilerleme sağlayabildiniz mi?

  6. Ayrıca Hata Kodlarını gireceğim. Ama internet sitelerinde kiminde hata kodu 1 yazmış kiminde 01 yazmış. bunu nasıl kullanmalıyım?

  7. Ben bu pos kodlarına baktım. Şimdi garantiye destek vermiyorlarmış. Ama garantinin normal pos kodları var ayrıca destek veren firmaya ulaştığım zaman bana verdiği kodlarda sizdekilerden farklı bir pos adresleri verdiler. Yani sizin yazdığınız pos adresleri galiba artık geçerli değil.

  8. Her banka için ayrı dll mi olacak yoksa sizin verdiğiniz ePayment.dll ve PosnetDotNetModule.dll leri yeterli oacakmıdır.

    1. Benim verdiğim 7 banka için bu 2 dll yeterli olacaktır. Çünkü birçok banka est firmasıyla çalışıyor. Çalışmayanların da kendine özel dll leri oluyor. Şimdilik bu 2 dll yeterli olacaktır.

  9. Hocam Merhabalar ,
    Kodlarınız İş bankası ödeme sayfası(3D Hosting) için kullanılabilir mi ? Değil ise bu konu ile alakalı bakabileceğim bir kaynak var mıdır?

  10. Merhaba Enver bey, yorumlarda 3 bankanın daha pos sistemini eklediğinizi söylemişsiniz acaba hangi pos sistemleri ve hangi tarihte paylaşacaksınız bana ziraat bankasının pos entegrasyonu lazım yardımcı olabilirmisiniz.

  11. Merhabalar,

    Öncelikle emeğinize sağlık.

    Kredi kartı bilgilerini banka tarafında saklayarak sonraki işlemlerde kullanmak istersek nasıl bir yol izlemeliyiz. Bu konuda bilgisi olan arkadaşlardan yorumlarını duymayı çok isterim.

    İyi çalışmalar

  12. Enver hocam yapıkredi 3d ile ilgili örnek verebilir misiniz? veya örnek kodlarınız mail ile benimle paylaşırsanız çok sevinirim.
    none3d secure kodlarınız inceledim. tşkler ama 3d Secure de lazım.

  13. iş bankası için aşağıdaki hatayı veriyor
    konum: System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
    konum: System.Net.HttpWebRequest.GetRequestStream()
    konum: ePayment.cc5payment.processorder()

    1. Bu makale çok eski olduğu için bankalar kodları değiştirmiş olabilir. Banka ile görüşürseniz yardımcı olacaklardır.

  14. Şuanda bankaların sanal pos ayarları yapıldı. Taksitli ve tek çekim geliyor . Ancak + kampanyalarını ayarlayamadık. Bize yardımcı olur musunuz ?

  15. Öncelikle emeğinize sağlık.
    Yapıkredi için “Üye işyeri no (MID)” ve “Terminal no (TID)” yanısıra “PosnetID” de girmemiz gerekmiyor mu? Ben yüklemiş olduğunuz projeyi ve dll dosylarını indirdim test sırasında “148 MID,TID,IP HATALI: X.X.X.X” hatası işle karşılaşıyorum. Elimde yapıkredi pos bilgileri var IP de tanımlı neden bu hatayı alıyorum anlayamadım. Bana yardımcı olursanız sevinirim.

    1. Yapı kredi bankası ile iletişime geçin isterseniz. Ip kısıtlaması yapmış olabilirler.

  16. Enver Bey merhaba ben akbank ve ziraat 3d sanal posu entegre ettim yazılımıma fakat yapı kredi ile günlerdir uğraşıyorum.Çok karışık geldi ilk önce test parametreleri veriyorlar henüz oturtamadım.Boş vaktiniz varmıdır? Proje alıyormusunuz? Aciliyetinden dolayı destek almam gerekiyor firmam için.

  17. Merhabalar Hocam, iptal veya geri ödeme işlemleri için otomatik bir yöntem söz konusumudur dll içinde varmı, yoksa yapılan ödeme bilgilerindeki kart numarıların veri tabanında tutulan bilgilere göre ödeme yapılabilirmi, nasıl olmalı, nasıl efektif ve güvenli bir şekilde yapılabilir?

  18. Enver bey merhabalar. Ziraat bankası için uyarlanmışı var mı. DLL’lerin .Net Core versiyonu var mı.
    Teşekürler

  19. Hocam son dönemde, bankaya işlem gönderilip, geri dönüşünde başarılı/başarısız sonuçtan bağımsız olarak sessionların kaybolsı gibi bir sorun çıkıyor. Biraz araştırdım sorunu 2019 sonu gibi insanlar bunu belirtip yazmış. Çözümde göremedim. Sizin bir fikriniz var mı? bu konuda. Bir grup sadece chrome bunu yaşıyorum diyor. Bazı müşterilerim bu konuda ara ara şikayette bulunuyor. Budur dediğim bir çözüm üretemedi. bulduğumda buradan bende paylaşım sağlarım.

  20. Öncelikle paylaşım için çok teşekkürler mükemmel bir paylaşım. Benim bir sorum olacak . Kart bilgilerini gönderdiğimizde 3D doğrulama sayfası geliyor mu ?

  21. Vakıfbank kodlarının klasik asp için olanı lazım Enver Bey yardımcı olabilir misiniz ?

  22. Oncelikle ellerinize emeginize saglik. Güzel calisma olmus. Su siralar Yapıkredi entegrasyonu ile ilgileniyorum. 1- 2 ek yapmak istedim normalde yapmam 🙂

    Oncelikle yapıkredi icin asagidaki gibi security protokol set edilmesi gerekiyor POS cagrilmadan once.

    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

    Bu sekilde baglanti kuruluyor ancak request in onune asagdaki satir ekleniyormu bilmiyorum ancak POSNET_ID ve XID ler de setlenmedigi icin (C_Posnet) result false geliyor.

    “”

    Acikcasi ben requesti aliyorum 3d ye geciyorum oradan donuyor ama orada kaldim. Devam ediyorum gelistirmeye.

    Belki gelistirmeniz adima 1 parca katkım olmussa ne mutlu bana. Bilgi paylasildikca büyür.

  23. Hocam merhaba qnb finans sanal post alt yapısı değişmiş siz bu alt yapıyı yaptınız mi yardimci olur musunuz?

  24. merhabalar;
    yapı kredi entegrasyonunda sürekli olarak Kök düzeyindeki veriler geçersiz. Satır 1, konum 1. bu hatayı alıyorum. ayrıca bankayla bağlantı kurulamadı hatası da almaktayım. daha önce bu sorunla karşılaştınız mı?

  25. Merhabalar,
    İş Bankası Sanal Pos İncelediğimde 3D Model Hakkında Bir İşlem Göremedim, 3D Model Durumunu Nasıl Dahil Edebilirim ?
    Ayrıca Mevcut Kodlarda 3D Model Modeli Varsa Nedir ve Nasıl Değiştirebilirim ?

  26. Merhaba hocam, ilk defa sanal pos entegrasyonu yapmaya çalışıyorum. Ancak önceki cevaplarınızın birinde button click event’ine test.cs’deki gibi kodları düzenlemeniz gerekiyor demişsiniz. Burayı açabilir misiniz? Tam olarak anlayamadım. O kodları ödeme yap butonuna eklediğimde hiçbir tepki vermiyor. Vakıfbank entegre etmeye çalışıyorum, pos.cs dosyası içeriğinde vakıfbank bilgilerimizi girdim. Şimdiden teşekkürler.

  27. Yapı Kredi C_Posnet kullanıyorum formu bankaya gönderirken özel bir değer gönderimp return url de onu almak istiyoru. Azure a geçmeden önce TempData[“CreditKart”] = kart; ile gönderip alabiliyordum. Bu yöntem bazı güvenlik önlemlerinden dolayı sunucumda yapamıyorum. Buna alternatif değeri nasıl gönderip alabilirim Örneğin : paymentCollection.Add(“merchantReturnURL”, “https://ccccdx.com/Result/ResultView/”);
    paymentCollection.Add(“customeFileld”, “KullaniciId”); // Bu Şekilde bir değer göndermem gerekiyor.

  28. Enver bey merhaba
    bu proje net core da çalışırmı nasıl çalıştırabilirim.
    Syg.

  29. payment.dll dosyasını 10 banka ile çalışıyor isek hangisinden talep edceğiz hocam.

    1. Bu kodları 10 yıl önce yazmıştım, hala çalışıyor mu bilmiyorum. Çalışıyor ise farketmez nereden alacağınız.

  30. 3. satırda, 2 konumundaki ‘meta’ başlangıç etiketi ‘head’ bitiş etiketiyle eşleşmiyor. Satır 4, konum 3.
    Akbank için böyle bir hatayla karşılaşıyorum:(

  31. Merhaba,
    ePayment.dll ile PosNetDotNetModule.dll lerini zip ‘in içinden çıkardınız mı ? Kodu indirdim ama bu iki dll’i bulamadım.

  32. Merhaba Enver Bey, Sanal pos entegrasyonunu yazdım hiçbir sıkıntım yok fakat birşey öğrenmek istiyorum. Banka onay işleminden sonra kendisinde bir sipariş no oluşturuyor bunu nasıl alabilirim?
    İyi Çalışmalar

  33. Hocam 3D Secure yöntemlerini tek class a toplayıp yayınlacağınızı söylemişsiniz acaba ne zaman yayınlarsınız baya zaman geçmiş üzerinden ama 🙂

  34. Merhaba Enver Bey;
    Örneğin ben İş Bankasından bir sanal pos aldım. Ardından sizin verdiğiniz kodları sisteme entegre ettiğimde başka, diğer banka kredi kartlarına sahip müşteriler ödeme yapabilecekler mi? Yoksa hepsinin pos’unu mu almam gerekecek? Yoksa sadece bir bankadan pos alıp sizin verdiğiniz yedi banka haricindeki bankaların dll’ini bulmam yeterli olacak mı? İyi günler.

    1. Herhangi bir bankadan sanal pos aldığınızda, tüm kredi kartlarına tek çekim yaptırabilirsiniz. Fakat sadece o bankanın kredi kartlarına taksit yaptırabilirsiniz. Tek fark budur. Taksitli işlem için her bankanın kendi sanal posunu almanız lazım. Tek çekim işlemler için tek sanal pos yeterli olacaktır.

      1. Hızlı cevabınız için teşekkür ederim. Benim için taksit gerekli değil. Bu yüzden sadece iş bankasından pos alacağım. Fakat buradaki 7 bankadan sadece iş bankasını eklemem yeterlidir değil mi kodlarıma? Sizin vermiş olduğunuz diğer 6 bankanın kodlarını eklemesem dahi, tüm bankaların kredi kartlarına sahip müşteriler ödeme yapabilirler değil mi? İyi günler.

  35. payment.dll ve PosnetDotNetModule.dll hocam bu dll leri her banka ayrı ayrı veriyormu. eğer her banka veriyorsa nasıl referans eklicez. kafam karıştı. yoksa bir bankadan aldığımız tüm bankalar için yetiyor mu?

  36. hocam bankaya başvuru sırasında tek bir bankaya başvurmamız bu sistemi 7 bankada da kullanmamıza yeter mi yok sa her banka için ayrı ayrı mı başvuracağız.

  37. hocam teşekkürler, peki diyelim kullanıcı 6 taksitli ödemeyi seçti ödeme esnasında bankaya ana fiyatı mı göndermemiz gerekir yoksa kullanıcının seçtiği taksit seçeneğine göre komisyonlu fiyatı mı göndermemiz lazım

    1. her zaman kredi kartından çekilecek tutar gönderilir. yani kullanıcının seçtiği taksit tutarını göndereceksiniz.ve bankanın taksit yapabilmesi için taksit sayısını göndereceksiniz kod tarafında.

      1. Giriş dizesi doğru biçimde değildi.
        Açıklama: Geçerli web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.
        Özel Durum Ayrıntıları: System.FormatException: Giriş dizesi doğru biçimde değildi.
        Kaynak Hatası:
        Satır 102: // kullanıcıdan kart bilgilerini alıyoruz.
        Satır 104: PosForm pf = new PosForm
        Bu Hatayı alıyoru satır 104 Neden acaba ?

  38. Merhaba,
    Bu şekilde ödeme işlemi sırasında kullanıcı 3D ile ödemek isterse nasıl bir yol izleniyor?

  39. Hocam merhaba zamanınız varsa 3D Secure ile ilgili makale yayımlayabilir misiniz? iyi çalışmalar diliyorum.

  40. Enver hocam, bir dernek için bağış sitesi yapıyorum. 2 sorum olacak.
    1.) Taksit tutarı = 1 diyerek bu sistemi kullansam olur mu? Yoksa bağış için bu sisteme banka izin vermez mi?
    2.) Makalenizde Visa veya Master Card seçtirme işleminden bahsetmemişsiniz, gerek yok mu acaba buna?

    1. 1- Taksit tutarına 1 gönderebilirsiniz. Sorun olmaz. Eğer bankadan sanal pos alabilirseniz, gerisine karışmaz banka.
      2- visa master gerekli değil artık. Kart numarasından ne olduğunu banka anlıyor.

  41. Hocam; mobil ödeme konusunda nette makale yok bu konuda bir makale yazamaz mısınız. İyi çalışmalar

  42. Enver kardeş sitendeki bilgilerden gerçekten cok istifade ettim. Makalelerinin takipçisi oldum.
    Sanal pos uygulaması kodlarıyla birlikte kusursuz, ancak bir de 3D Secure olduğunda kodlamada fark ne oluyor aynı şekilde detaylı bir yazın varmıdır ?
    Happy Codings

    1. 3D Secure yapısı çok farklı. 3D secure kullandım ama burdaki gibi toplu halde classın içinde kullanmadım. Sanırım nette de yok böyle bir makale. Zamanım olmadığı için 3D Secure kodları bir class da toplam fırsatım olmadı. Şimdilik her bankanın gönderdiği 3d secure kodlarını tek tek entegre yapmaya çalışın. Fırsat bulduğumda toplu halde paylaşırım sitede.
      kolay gelsin.

  43. sanal pos ile ilgili daha fazla bilgi verebilirseniz memnun olurum. .cs dosyalarını nasıl kullanacaz. refereansları nasıl projemizle birleştirecez.

    1. Pos.cs , PosForm.cs ve Tool.cs dosyalarını projenize kopyalayın. App_Code klasörüne atabilirsiniz. ödeme sayfasında da kredi kartının buton_click event’ine test.cs deki gibi kodları kendinize göre düzenleyiniz. Ayrıca bankanızdan payment.dll ve PosnetDotNetModule.dll i isteyip projenize dahil edin.

      1. Enver bey Şimdi benim admin panelim var ben o panelde sliderime veya sitemde baska bı yere resim yükletmem gerek asp.net’te bunu nasıl yapabılırım çok acil yardıma ihtiyacım var panelde resim yükle dicem dosyalar açılcak ordan seçip yükleyebilcem ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.