コード例 #1
0
ファイル: PayPalFormWriter.cs プロジェクト: axefrog/XMerchant
 public PayPalFormWriter BeginForm(NameValueCollection payPalVariables, IPayPalSettings cfg)
 {
     lock(_writer)
     {
         _writer.Write(@"<form method=""post"" action=""{0}"">", cfg.TestMode ? PayPalUrl.Sandbox : PayPalUrl.Production);
         foreach(var key in payPalVariables.AllKeys)
             _writer.Write(@"<input type=""hidden"" name=""{0}"" value=""{1}"" />", HttpUtility.HtmlEncode(key), HttpUtility.HtmlEncode(payPalVariables[key]));
     }
     return this;
 }
コード例 #2
0
 public static NameValueCollection Encrypt(NameValueCollection vars, IPayPalSettings settings)
 {
     var sb = new StringBuilder();
     foreach(var key in vars.AllKeys)
         sb.Append(key).Append("=").Append(vars[key]).Append("\n");
     sb.Append("cert_id=").Append(settings.CertID);
     var ewp = new PayPalEncryptedWebsitePayments();
     ewp.LoadSignerCredential(settings.SignerPfxPath, settings.SignerPfxPassword);
     ewp.RecipientPublicCertPath = settings.RecipientPublicCertPath;
     return new NameValueCollection
     {
         { PayPalRequestVariables.Command, PayPalManager.ValueOf(PayPalCommand.EncryptedCommand) },
         { PayPalRequestVariables.EncryptedData, ewp.SignAndEncrypt(sb.ToString()) }
     };
 }
コード例 #3
0
 public PaypalSubscriptionRequest(IPayPalSettings settings)
     : this()
 {
     _settings = settings;
 }
コード例 #4
0
 public PaypalBuyNowRequest(IPayPalSettings settings)
     : this()
 {
     _settings = settings;
 }
コード例 #5
0
ファイル: PayPalUrlWriter.cs プロジェクト: axefrog/XMerchant
 public static Uri GetUrl(NameValueCollection payPalVariables, IPayPalSettings cfg)
 {
     var url = cfg.TestMode ? PayPalUrl.Sandbox : PayPalUrl.Production;
     var list = payPalVariables.AllKeys.Select(key => string.Concat(HttpUtility.UrlEncode(key), "=", HttpUtility.UrlEncode(payPalVariables[key]))).ToList();
     return new Uri(string.Concat(url, "?", list.Concat("&")));
 }