public static PDTHolder Success(string tx) { PayPalConfig payPalConfig = PayPalService.GetPayPalConfig(); ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; IdentityToken = payPalConfig.IdentityToken; txToken = tx; query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, IdentityToken); string url = payPalConfig.PostUrl; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); if (strResponse.StartsWith("SUCCESS")) { return(PDTHolder.parse(strResponse)); } return(null); }
private static PDTHolder parse(string postData) { string sKey, sValue; PDTHolder ph = new PDTHolder(); try { string[] StringArray = postData.Split('\n'); int i; for (i = 0; i < StringArray.Length; i++) { string[] StringArray1 = StringArray[i].Split('='); sKey = StringArray1[0]; if (StringArray1.Length > 1) { sValue = HttpUtility.UrlDecode(StringArray1[1]); switch (sKey) { case "mc_gross": ph.GrossTotal = Convert.ToDouble(sValue); break; case "invoice": ph.InvoiceNumber = Convert.ToInt32(sValue); break; case "payment_status": ph.PaymentStatus = Convert.ToString(sValue); break; case "first_name": ph.PaymentStatus = Convert.ToString(sValue); break; case "mc_fee": ph.PaymentStatus = Convert.ToString(sValue); break; case "business": ph.PaymentStatus = Convert.ToString(sValue); break; case "payer_email": ph.PayerEmail = Convert.ToString(sValue); break; case "Tx_Token": ph.TxToken = Convert.ToString(sValue); break; case "last_name": ph.PayerLastName = Convert.ToString(sValue); break; case "receiver_email": ph.ReciverEmail = Convert.ToString(sValue); break; case "item_name": ph.ItemName = Convert.ToString(sValue); break; case "mc_currency": ph.TxToken = Convert.ToString(sValue); break; case "txn_id": ph.TransactionId = Convert.ToString(sValue); break; case "custom": ph.Custom = Convert.ToString(sValue); break; case "subscr_id": ph.SubscriberId = Convert.ToString(sValue); break; } } } return(ph); } catch (Exception ex) { throw ex; } }