Paypal ile Ödeme Sistemi ASP.NET

ASP.NET ile paypal ödeme sisteminin birçok yöntemi var aslında. Ama en basiti aşağıdaki gibi. Çok fazla uğraşmadan ödeme tutarını ve email adresini paypal sayfasına request ediyorsunuz ve ödeme sayfasını açıyor. Eğer işlem başarılıysa sizin belirttiğiniz adrese gönderiyor (örnek siteadi.com/basarili.aspx) değilse siteadi.com/basarisiz.aspx gibi. Aşağıdaki kodları kendinize göre uyarlarsanız paypal ile ödeme sistemini gerçekleştirmiş olacaksınız.

Classımızı oluşturduktan sonra satış işlemini yaptığımız aspx sayfasında yapacağımız sadece yönlendirmedir. Bunu hyperlink yada buton ile yapabilirsiniz.

Örnek :
Response.Redirect(PaypalOdeme.Adres(toplam, “UrunAdi”, SiparisID));

 

kemalburakyilmaz.com’a katkılarından dolayı teşekkürler

BENZER MAKALELER

62 Yorum

  1. Hocam güzel anlatmışsınız da simdi benim sormak istediğim söyle birşey var.Ben paypal ile ödeme almak istiyorum üye oldum ticari hesap actırdım sonra geri ayarları nasıl yapacagım beceremedim bir türlü.Yani buton olusturdum vs fakat benim istedigim sepetim var ödeme secenekleri içinde havale/ptt/kredi kartı ve paypal ın da cıkmasını istiyorum.simdi sizin bu hazırladıgınız dokumana bakıp bunu direk ödeme olayında kullanabiliyor muyum???

  2. paypal ın verdigi magazaId vs var Api Kullanıcı Adı Api Sifresi gibi bilgiler veriyor paypal bunlara gerek yok mu yani??

    1. Burdaki kodda paypalın sitesine gidip ödeme yaptığı için email adresi yeterli. Eğer sanal pos mantığı ile paypalın sitesinde gitmeden , kendi siteniz içinde ödeme yapılmasını istiyorsanız magazaid ve api kullanıcı adını kullanmanız gerekmekte. Onun kodlarını da paypalın sitesinde bulabilirsiniz.

  3. Hocam ben o kodları bir türlü anlayamadım.Yani böyle birşey yapmak istiyorum aynı dediginiz gibi paypalın websitesine gitmeden benim websitemde sanal pos mantıgı gibi calısmasını istiyorum.Cunku paypal da üye olmadan direk kredi kartı ilede ödeme alınıyor o yüzden hiç sanal pos a bulasmadan bu sekilde halledebilirim diye dusundum.

  4. Hocam bu verdiğiniz kodu kullanmaya calıstım kendime göre duzenledim fakat hata veriyor calısmıyor.

    Response.Redirect(PaypalOdeme.Adres(toplam, “UrunAdi”, SiparisID)); <<< burada hata veriyor neden olabilir acaba?

  5. Öncelikle bu paylaşımınız için teşekkürler. Bu konuya yabancı olduğum için soruyorum. Anlayamadığım bir nokta var. “resimadresin” olarak belirtilen adrese ne koymamız gerekiyor. Yardımcı olursanız sevinirim. Şimdiden teşekkürler.

      1. o kısmı boş bırakıp kodla ilgili kısımdan da ilgili bölümü çıkartırsam bir sorun olmaz herhalde dimi?

  6. PayPal sistemine girmek için kullandığınız bağlantı yanlış formatlı bir ürün tutarı içeriyor.

    hatası alıyorum. bu sistemde önceden tanımlı bir ürünü mü ödemeyebiliyoruz? kurumsal hesapta kullanabilir miyiz?

    1. ürün tutarını yanlış gönderiyorsunuz sanırım. Gönderdiğiniz tutar şöyle olmalı : 10,50 yada 10,00 gibi.

      kurumsal hesaba bağlı email adresini de kullanabilirsiniz.

  7. Enver hocam merhaba
    paylaşım için teşekkür ederim benim sormak istediğim konu şu.
    Senaryom : Üye giriş yapar üyeliğini vip yapmak ister paypal ödemesi yapar ve sistem ödeme yapıldığında üyeliği vip üyelik yapar. böyle bir sistem için nasıl bir yol izlemek lazım. buton oluşturup ödeme alıyorum ve direk yönlendiriyorum fakat bu yönlenme işinde ödeme yapılıp yapılmadığını nasıl yakalabilirim acaba

    1. şöyle bir yol izleyebilirsiniz:

      ödeme yapıldıysa ” SuccessUrl ” e yazdığınız linke gidecek.
      ödeme başarısız ise ” CancelUrl ” e yazdığınız linke gidecek.

      eğer ödeme yapıldıysa üyeyi vip yapın.
      Örnek SuccessUrl = vipyap.aspx?uyeid=100 gibi bir link olsun. eğer başarılıysa vipyap.aspx e gidecek ve uyeid si 100 olan kayıtı vip yapacak.

      cancelUrl = odemebasarisiz.aspx olsun. ödeme başarısız ise bu linke gidecek.

      umarım yardımcı olmuşumdur. kolay gelsin.

      1. evet bu şekilde bir yol izliyorum açıkçası fakat burda şöyle bir durum beni rahatsız ediyor ödeme yapıldığında SuccessUrl otomatik yönlendirme işlemi gerçekleştiremiyorum. Ödeme yapıldıktan sonra kullanıcı ancak sayfada link ile geri dönmek zorunda paypalda otomatik yönlendirmeyi açtığımda ise bu sefer benden bir link istiyor bu linki yazdığımdada yazdığım linke yönleniyor. bunun için bir fikriniz varmıdır. ödeme tamamlandığında benim belirlediğim SuccessUrl ye nasıl yönlendirebilirim

        1. normalde eğer ödeme başarılıysa successurl e yazdığınız linke geri döner. Kodlarınızda ya da paypal hesap ayarlarınızla ilgili bir sıkıntı olabilir. Tekrar gözden geçirmenizi tavsiye ederim.

  8. Hyperlink e tıklatığında bir örnek verebilirmisiniz.. Ayrıca Benim ürünüm sabit fiyat tek ürün, tam olarak fiyatı nereye gireceğim?

    Response.Redirect(PaypalOdeme.Adres(toplam, “UrunAdi”, SiparisID));

    1. Teşekkürler biraz inceleyince halloldu. Amatörlük. :)

      //public static string Adres(decimal Amount, string ItemName)

      protected void LinkButton1_Click(object sender, EventArgs e)
      {
      Response.Redirect(PaypalOdeme.Adres(50, “UrunAdi”));
      }

  9. Merhaba, burda kullanıcı yönlendiği adresi yakalayıp ödeme miktarını azaltabilir galiba, successurl verdiğimiz sayfaya kullanıcı kaç para ödemiş gibi bir parametre otomatik geliyor mu?

  10. Kodlar için elinize sağlık diyorum.

    Sormak istediğim paypal sitesinde “buy now” butonu oluşturmak zorunda mıyım? Yoksa doğrudan bukodları kullanarak ödeme alabilir miyim?

    Teşekkürler.

  11. Hocam Selam,

    Burada ki sipariş numarasını dinamik olarak göndersek nasıl bir sonuç çıkar? aynı soru ürün adı ve tutarını da?

    Ayrıca başarılı ise gönderilecek olan sayfanı clas içinde dinamik olarak atayabilirmiyiz? örneğin basarili.aspx?id=5&tutar=10 gibi yapma şansımız var mı? var ise nasıl yaparız yardımcı olabilirmisiniz?

    1. burda kendinize bir siparişkodu üretin ve bu sipariş kodunu gönderin paypal’a, bu sipariş kodunu ister session,ister cookie yada veritabanına kaydedin. Bu kod sayesinde tutarı,siparişi vs. çekebilirsiniz. paypal’dan gelen linkde şu şekilde olur : basarili.aspx?kod=1HGF21SS322 gibi.

  12. Hocam Selam,

    Ödeme işlemini yaptırıyorum örneğin 5 tl alıyorum.Fakat şöyle bir hata alıyorum sayfaya yönlenmek için,

    The requested URL /tr/cgi-bin/basarili.aspx was not found on this server.

    Benim dosyam httpdocs içinde.Bunun sebebi nedir?

    PaypalOdeme.cs dosyamda başarılı olunca gidecek sayfa şu şekilde.

    private static string SuccessUrl = “http://www.xxxxx.com/basarili.aspx?ad=” + HttpContext.Current.Session[“Uye_Kadi”] + “&siparis_kodu=” + HttpContext.Current.Session[“siparis_kodu”] + “&tutar=” + HttpContext.Current.Session[“tutar”];

    Yardımlarınızı bekliyorum.

  13. Hocam merabalar ,
    Uzun zmandır.Paypal üzerinden ödeme alıyorum ama son zamanlarda ödeme sayfasına yönlendirdiğim zman hata vermeye başladı.Aşağıda ki hata mesajını alıyorum bir türlü düzeltemedim.Acaba sorun ne olabilir ve nasış çözebilirim.
    “The link you have used to enter the PayPal system contains an incorrectly formatted item amount.”

  14. Hocam acil olarak bir sorum olacaktı;
    Birden fazla ürün olması durumunda paypal’da ödeme sayfasının solunda görünen ürünler nasıl olacak sizin verdiğiniz örnekte sadece 1 adet ürün satın alınabiliyor. Birden fazla ürün için ne yapmamız gerekiyor…

    1. Birden fazla ürün sitenizde olabilir tabiki. Bunun paypal ile ilgisi yok. Paypal’a toplam ödecenecek tutarı post ediyorsunuz.

      3 ürün varsa 3 ürünün toplam fiyatını post ediyorsunuz.

      1. Hocam dediğiniz şekilde zaten yapıyorum ancak ürünlerin sırasıyla ürün adı fiyatı adeti olarak göstermemiz gerekiyor. Sizin hazırladığınız kod ile yapmamız mümkün mü

        1. Ürünlerin sırasıyla ürün adı fiyatı adeti olarak göstermeyi kendi ödeme sayfanızda yapacaksınız. Paypal sayfasında sadece toplam tutarı ödeyebilirsiniz , ürün listeleme yapamazsınız.

          1. Hocam dediğiniz şekilde değil.İstediğiniz kadar ürünü paypala fiyatları ile beraber gönderip toplam rakamıda gönderebilirsiniz ben dediğiniz mantık değil ama çok farklı yöntem ile paypal olayını çözdüm.

          2. Hocam şu şekilde basit aslında

            Url.AppendFormat(“&item_name_0={0}”, HttpUtility.UrlEncode(ItemName));

            Url.AppendFormat(“&item_number_0={0}”,HttpUtility.UrlEncode(ItemNumber));

            Url.AppendFormat(“&image_url_0={0}”,HttpUtility.UrlEncode(ImageUrl));

            Url.AppendFormat(“&amount_0={0:f2}”, tutar);

            Url.AppendFormat(“&item_name_1={0}”, HttpUtility.UrlEncode(ItemName));

            Url.AppendFormat(“&item_number_1={0}”,HttpUtility.UrlEncode(ItemNumber));

            Url.AppendFormat(“&image_url_1={0}”,HttpUtility.UrlEncode(ImageUrl));

            Url.AppendFormat(“&amount_1={0:f2}”, tutar);

            amount_sırasını yazarsanız kaç tane ürün var ise mesela sepette onları foreach ile döndürüp veya for ile döndürüp paypala gönderdiğinizde alt alt her ürüne ait fiyat,resim,adını gönderebilirsiniz.

  15. Merhabalar ban ürün satışında paypal kullanıyorum ama para birimini TL yaptığımda “PayPal sistemine girmek için kullandığınız bağlantı yanlış formatlı bir ürün tutarı içeriyor.” Gibi bir hata alıyorum İngilizce kullanınca yazdığım kod problemsiz çalışıyor sadece fiyat $ olarak görünüyor ..
    Türkçe Yani TL Formatını nasıl kullanabilirim bir fikri olan varsa .. yazarsa tşk ederim şimdiden iyi çalışmalar …

  16. merhaba,

    Paypal hesabı açıyorum. 10 gün içersinde sınırlandırılıyor ya da kapatılıyor.
    Sizden ricam paypal da hesabım kapanmaması için ne yapabilirim. Bireysel satış yapıyorum.
    Uygun fiyata bulduğum ürünleri koyuyorum. Parfüm,şampuan,kilim,krem gibi ürünler.
    Ufak çaplı bütçeyle yaptığımdan 6 ay satılan parayı çekemiyorum.
    Sizden ricam bu paypal da nasıl kalıcı bir hesabım olabilir.
    Teşekkür ederim.

    1. İlk olarak paypal hesabınızı neden sınırlandırır?
      Paypal hesabınızı ödeme aldığınız kaynaklar yüzünden, ödeme yaptığınız yerler yüzünden, aldığınız itirazlar, iadeler, açılan itirazlar, bilgi eksikliği, teyit edilmemiş hesap v.b. pek çok sebepten hatta hiç bir sebep göstermeden de sınırlandırabilir. Kısacası hesabınızın akıbeti tamamen paypalın keyfine kalmış durumdadır.

      Paypal hesabınızı neden kapatır?
      Paypal önce belirlediği sebeplerden dolayı hesabınızı sınırlandırır, sonrasında sizden göndermenizi istediği belge ve bilgiler varsa ve onları göndermezseniz hesabınızı kapatır. Varsa diyorum çünkü bazen sizden bilgi yada belge istemeden hesabınızı sınırlandırarak 6 ay sonrada kapatılmasına karar verebilir. Sınırlandırma sürecinde hesabınızdan para çekemez, yatıramaz yada ödeme alamazsınız. Sadece içinde bakiyeniz varsa süreç sonunda geri ödenmesini beklersiniz.

      Paypal’ın alternatifi varmı?
      Alternatif çözüm noktasında ülkemiz kör noktada kalıyor. Amerika İngiltere Rusya v.b. ülkelerde alternatif çözümler olsada Türkiye’yi para birimimizi veya dilimizi destekleyen, şartları paypala yakın olan bir mobil ödeme sistemi malesef yoktur.

      Bu noktada yapılan bir girişim ciddi talep ve karlarla sonuçlanacaktır. Fakat konuyla ilgili hiç bir girişim henüz söz konusu değildir. Webmoney, payooner, strill v.b. sistemler kod bilgisi gerektiren sitelere entegre etmesi zor, çalıştırabilmek için api gerektiren sistemlerdir. Bir çoğunda Türkçe dil desteği ve TL bazında ödeme alma yoktur.

      Çözüm nedir?
      Bireysel kullanıcı iseniz, ciddi anlamda paypala ihtiyacınız yoksa hiç uğraşmayın. Ticaret için, sitenizden ürün satmak için kullanıyorsanz, yaptığınız işlerin ödemesini paypal yolu ile alıyorsanız tek çözüm başka bir hesap açmaktır. Açılacak yeni hesap tekrar kapatılma riskine girmemek için başkasının adına olmalıdır. Kredi kartı ile veya enpara hesabı ile onaylanmalıdır. Hesabın sahibi gerçek kişi olmalı, gerektiğinde kimlik veya ehliyet fotokopisini gönderebilmelisiniz. Hesap açma işlemide dahil olmak üzere, para çekme, hesaba giriş ve çıkışlar başka bir bilgisayardan, başka bir İP adresinden yapılması sizin yararınıza olacaktır.

      Paypalın açılan 2. hesabı tespit etme ve kapatma ihtimali ne kadar var olsa da başka çözümü olmayanlar için mecburiyettir.

  17. Meraba hocam anlatımınız çok iyi olmuş yalnız bi sorum var ödeme yapıldıktan sonra return olmuyor return olması için sayfana geri dön linkine tıklamam gerekiyor bunu nasıl çözebiliriz.Bunu sormamın nedenı ödemenin yapılıp yapılmadığını anlamak için acil cevap bekliyorum teşekkürler.

  18. Enver bey merhabalar, websitemizde eğitim satışları yapmak istiyoruz ve paypal ile ödeme almak niyetindeyiz. Sayfanın başında verdiğiniz kod ile paypal sayfasına gönderilmeden ödeme yapabiliyoruz anladığım kadarıyla fakat ilk kez böyle bir çalışma yapıyorum; wordpress tabanlı bir sitede bu kodu nereye yerleştirmemiz gerektiğini biilmiyorum. Yardımcı olabilir misiniz?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

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