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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Text; public class PaypalOdeme { public static string AccountEmail = "odemeyapilacakemailadresi"; public static string PayPalUrl = "https://www.sandbox.paypal.com/us/cgi-bin/webscr?"; private static string PayPalBaseUrl = "https://www.paypal.com/cgi-bin/webscr?"; private static string ImageUrl="resimadresin"; private static string SuccessUrl = "ödeme başarlı olursa döneceği adres"; private static string CancelUrl = "ödeme başarılı olmazsa döneceği adres"; private static string ItemNumber="123"; public static string Adres(decimal Amount,string ItemName,string SiparisID) { //Amerikada "." kullanıldığı için "," ile replace ediyoruz string tutar = Convert.ToString(Amount).Replace(',','.'); StringBuilder Url = new StringBuilder(); //HttpUtility.UrlEncode(AccountEmail) Url.Append(PayPalBaseUrl+ "cmd=_xclick&undefined_quantity=0&no_shipping=1&no_note=1& currency_code=USD&add=0"); Url.AppendFormat("&business={0}",HttpUtility.UrlEncode(AccountEmail)); Url.AppendFormat("&item_name={0}", HttpUtility.UrlEncode(ItemName)); Url.AppendFormat("&item_number={0}",HttpUtility.UrlEncode(ItemNumber)); Url.AppendFormat("&image_url={0}",HttpUtility.UrlEncode(ImageUrl)); Url.AppendFormat("&amount={0:f2}", tutar); Url.AppendFormat("&return={0}", HttpUtility.UrlEncode( SuccessUrl )); Url.AppendFormat("&cancel_return={0}", HttpUtility.UrlEncode( CancelUrl )); return Url.ToString(); } } |
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
6.940 okunma
62 Yorum
paypal ödeme sayfasının sol üst köşesinde e mail adresim yazıyor bunu nasıl şirket adı olarak değiştiririm.
ImageUrl şuraya logo olarak ekleyebilirsiniz.
Merhaba;
Ödeme sayfasına gittiğimizde miktarda 1 yazıyor
onu hangi parametreden değiştirebiliyoruz
Teşekkürler
Merhaba,
Acaba hatalı dönen işlemler için; hatanın ne olduğuna dair bir bilgi alabiliyor muyuz? Örn: Kart Limiti yetersiz gibi bir sonuç geliyor mu paypal üzerinden.
Merhabalar ödemeyi aldıktan sonra başarılı.aspx sayfasına yönlendireceğim ve ödeme ile ilgili bilgileri veri tabanına kaydettireceğim ama bu başarılı sayfasına kullanıcı elle gelmediğinden emin olmak için yani geri dönüş sayfasının paypal dan olduğunu doğrulamak için ne yapmam gerekmektedir. Örneğin form == 00 ise gibi. Şimdiden yardımlarınız için teşekkürler.