ADNAN ŞAHİN

A quest for software excellence...

ASP.NET’te Paypal Kullanımı

PayPal, e-posta adresi olan herkesin güvenli bir şekilde para gönderip alabilmesine olanak sağlayan alternatif bir ödeme sistemidir. Bu sistem bazı e-ticaret siteleri tarafından temel ödeme sistemi olarak tanınmış ve birçok site tarafından da alternatif ödeme sistemi olarak desteklenmektedir. PayPal ödeme sistemini destekleyen bir elektronik ticaret sitesinden alışveriş yaparken alışverişinizi sonlandırmak istediğinizde sitenin sizin için hazırladığı PayPal ödeme ara yüzünden PayPal hesabınıza ait e-posta adresiniz ve parolanızı girerek ödeme işlemini gerçekleştirebilirsiniz. Bu sistemin en güzel yönü kredi kartı bilgilerinizi PayPal üzerine kaydettikten sonra kredi kartı bilgilerinizi her sitede yeniden vermek zorunda olmayışınızdır. ASP.NET ile paypal ödeme sisteminin aslında birçok yöntemi var. Ama en basiti aşağıdaki gibidir. Çok fazla uğraşmadan ödeme tutarını ve e-mail 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. Sonuç olarak burada yapılan QueryString ile Paypal'e bilgiler gönderilip ve daha sonra kullanıcı PayPal hesabına giriş yapıp ödemesini tamamlar .Aşağıda bu PayPal ile ödeme yapmak için oluşturmuş olduğumuz metot bulunmaktadır.
 public static string ToPayPalCheckout(string orderName, decimal pTotalAmount,string name,string shippingCost,string taxCost,string city,string state)
    {
        //Amerikada "." kullanıldığı için "," ile replace ediyoruz.
        string totalAmount = Convert.ToString(pTotalAmount).Replace(',', '.');
        string taxAmount = Convert.ToString(taxCost).Replace(',', '.');
        totalAmount = totalAmount.Substring(0, totalAmount.Length - 2);
 
        string redirecturl = "";
 
        redirecturl += SanalSatisConfiguration.PayPalUrl + "cmd=_xclick&business=" +
        SanalSatisConfiguration.PayPalEmail; 
 
        redirecturl += "&first_name"+name;
 
 
        redirecturl += "&city="+city;
 
        redirecturl += "&state="+state;
 
        //Product Name
        redirecturl += "&item_name=" + orderName;
 
 
        //Product Amount
         redirecturl += String.Format("&amount={0:c}",totalAmount );
 
        redirecturl += "&shipping="+shippingCost
       
        redirecturl += "&tax="+taxAmount;
 
 
        //Currency code
        redirecturl += "&cy=" + SanalSatisConfiguration.PayPalCurrency;
 
        //Success return page url
        redirecturl += "&return=" + SanalSatisConfiguration.PayPalReturnUrl;
 
        redirecturl += "&cancel_return=" + SanalSatisConfiguration.PayPalCancelUrl;
 
        return HttpUtility.UrlPathEncode(redirecturl);
 
    }
Metotta SanalSatisConfiguration.PayPalUrl, SanalSatisConfiguration.PayPalReturnUrl, SanalSatisConfiguration. PayPalCancelUrl ve SanalSatisConfiguration.PayPalEmail değerlerini webconfig dosyasından okuyoruz.
  
    
    
    
    
    

Bu metoda gerekli parametreleri verdikten sonra satış işlemini yaptığımız aspx sayfasında yapacağımız sadece yönlendirmedir. Bunu hyperlink ile ya da buton ile yapabiliriz.

Yorumlar (2) -

merhaba SanalSatisConfiguration nerde tanımladınız o satırıda yazarmısınız?

www.adnansahin.net/.../asp-net-te-web-config-dosyasi-ozellikleri1 burdaki yazınıza da baktım böyle bir şey tanımlı göremedim

Yanıtla

adnan.sahin

Merhaba Okan;
Web.config dosyasında bulunan ayarlara her yerden erişmek  için  SanalSatisConfiguration adlı static bir sınıf tanımladım.

public static class SanalSatisConfiguration
{
   private static string     _Provider;
   private static string     _ConnectionString;
    private static string    _MailServer;
   private static string     _ PayPalUrl;

   public static string Provider
    {
   //Sadece değer gönderme işlemi yapar.Düzenleme özelliği yok.
        get { return _Provider; }
    }

    public static string ConnectionString
    {
        //Sadece değer gönderme işlemi yapar.Düzenleme özelliği yok.
        get { return _ConnectionString; }
    }
    public static string MailServer
    {
        get { return ConfigurationManager.AppSettings["MailServer"]; }
    }


    public static string PayPalUrl
    {
        get { return ConfigurationManager.AppSettings["PayPalUrl"]; }
    }

}

Saygılarımla,
Adnan ŞAHİN

Yanıtla

Yorum ekle