public static bool VerifyPayment(PayPalIpnParameters ipn, string verifyUrl)
        {
            bool isVerified = false;

            if (ipn.IsValid)
            {
                if (DnnUtils.GetDataResponseAsString(verifyUrl) == "VERIFIED")
                {
                    isVerified = true;
                }
            }
            return(isVerified);
        }
Esempio n. 2
0
        public static bool VerifyPayment(PayPalIpnParameters ipn, string verifyURL)
        {
            try
            {
                bool isVerified = false;

                if (ipn.IsValid)
                {
                    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

                    HttpWebRequest PPrequest = (HttpWebRequest)WebRequest.Create(verifyURL);
                    if ((PPrequest != null))
                    {
                        PPrequest.Method        = "POST";
                        PPrequest.ContentLength = ipn.PostString.Length;
                        PPrequest.ContentType   = "application/x-www-form-urlencoded";
                        StreamWriter writer = new StreamWriter(PPrequest.GetRequestStream());
                        writer.Write(ipn.PostString);
                        writer.Close();
                        HttpWebResponse response = (HttpWebResponse)PPrequest.GetResponse();
                        if ((response != null))
                        {
                            StreamReader reader         = new StreamReader(response.GetResponseStream());
                            string       responseString = reader.ReadToEnd();
                            reader.Close();
                            if (string.Compare(responseString, "VERIFIED", true) == 0)
                            {
                                isVerified = true;
                            }
                        }
                    }
                }
                return(isVerified);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Esempio n. 3
0
        public static bool VerifyPayment(PayPalIpnParameters ipn, string verifyUrl)
        {
            bool isVerified = false;

            if (ipn.IsValid)
            {
                if (DnnUtils.GetDataResponseAsString(verifyUrl) == "VERIFIED") isVerified = true;
            }
            return isVerified;
        }
Esempio n. 4
0
        /// <summary>
        /// This function needs to process and returned message from the bank.
        /// This processing may vary widely between banks.
        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {
            var modCtrl = new NBrightBuyController();
            var info    = ProviderUtils.GetProviderSettings("NBrightPayPalpayment");

            try
            {
                var ipn = new PayPalIpnParameters(context.Request.Form);

                var debugMode = info.GetXmlPropertyBool("genxml/checkbox/debug.mode");

                var debugMsg = "START CALL" + DateTime.Now.ToString("s") + " </br>";
                debugMsg += "returnmessage: " + context.Request.Form.Get("returnmessage") + "</br>";
                if (debugMode)
                {
                    info.SetXmlProperty("genxml/debugmsg", debugMsg);
                    modCtrl.Update(info);
                }

                debugMsg += "NBrightPayPal DEBUG: " + DateTime.Now.ToString("s") + " </br>" + context.Request.Form + "<br/>";

                if (Utils.IsNumeric(ipn.item_number))
                {
                    var validateUrl = info.GetXmlProperty("genxml/textbox/paymenturl") + "?" + ipn.PostString;

                    // check the record exists
                    debugMsg += "OrderId: " + ipn.item_number + " </br>";
                    var nbi = modCtrl.Get(Convert.ToInt32(ipn.item_number), "ORDER");
                    if (nbi != null)
                    {
                        var orderData = new OrderData(nbi.ItemID);
                        if (ProviderUtils.VerifyPayment(ipn, validateUrl))
                        {
                            if (debugMode)
                            {
                                info.SetXmlProperty("genxml/debugmsg", debugMsg);
                                modCtrl.Update(info);
                            }

                            //set order status to Payed
                            orderData.PaymentOk();
                        }
                        else
                        {
                            if (ipn.IsValid)
                            {
                                info.SetXmlProperty("genxml/debugmsg", "NOT VALIDATED BY PAYPAL");
                                //set order status to Not verified
                                orderData.PaymentOk("050");
                            }
                            else
                            {
                                info.SetXmlProperty("genxml/debugmsg", "PAYMENT FAIL");
                                orderData.PaymentFail();
                            }
                        }
                    }
                    else
                    {
                        debugMsg += "ORDER does not exists";
                    }
                    if (debugMode)
                    {
                        info.SetXmlProperty("genxml/debugmsg", debugMsg);
                        modCtrl.Update(info);
                    }
                }
            }
            catch (Exception ex)
            {
                if (!ex.ToString().StartsWith("System.Threading.ThreadAbortException")) // we expect a thread abort from the End response.
                {
                    info.SetXmlProperty("genxml/debugmsg", "NBrightPayPal ERROR: " + ex.ToString());
                    modCtrl.Update(info);
                }
            }
        }