Пример #1
0
        private void ProcessVerificationResponse(string requestInformation, string verificationResponse)
        {
            if (verificationResponse.Equals("VERIFIED"))
            {
                string orderId = getOrderId(requestInformation);
                NLogger.Infor("orderId = " + orderId);
                NLogger.Infor("update FulfillmentStatusEnum with orderId: " + orderId);
                Order order = db.Orders.First(a => a.Id.Equals(orderId));
                order.PaymentStatus = PaymentStatusEnum.Paid;
                db.SaveChanges();
                NLogger.Infor("update success");

                // check that Payment_status=Completed
                // check that Txn_id has not been previously processed
                // check that Receiver_email is your Primary PayPal email
                // check that Payment_amount/Payment_currency are correct
                // process payment
            }
            else if (verificationResponse.Equals("INVALID"))
            {
                string orderId = getOrderId(requestInformation);
                NLogger.Infor("orderId = " + orderId);
                //Log for manual investigation
                NLogger.Infor("ERROR Payment " + orderId);
            }
            else
            {
                //Log error
            }
        }
Пример #2
0
        public IHttpActionResult Datachart(DateTime fromDate, DateTime toDate, String typeDate)
        {
            List <long[]> result    = new List <long[]>();
            String        startDate = fromDate.ToString("yyyy-MM-dd 00:00:00");
            //DateTime start_date = Convert.ToDateTime(startDate);
            //String startDate2 = fromDate.ToString("yyyy-MM-dd HH:mm:ss");
            String       endDate   = toDate.AddDays(1).ToString("yyyy-MM-dd 00:00:00");
            List <Order> listOrder = db.Orders
                                     .SqlQuery("Select * from Orders where CreatedAt > '" + startDate + "' and CreatedAt <'" + endDate + "' order by createdat;")
                                     .ToList <Order>();
            DateTime dateToConvert = (DateTime)listOrder[0].CreatedAt;

            fromDate = new System.DateTime(dateToConvert.Year, dateToConvert.Month, dateToConvert.Day, 0, 0, 0);
            //fromDate = (DateTime)listOrder[0].CreatedAt;
            if (listOrder.Count > 0)
            {
                int      day    = 1;
                int      number = 0;
                DateTime testFormat;
                for (int i = 0; i < listOrder.Count; i++)
                {
                    if (listOrder[i].CreatedAt < fromDate.AddDays(day))
                    {
                        NLogger.Infor("fromDate.AddDays(day): " + fromDate.AddDays(day));
                        number++;
                    }
                    else
                    {
                        long[] subItem = convertData2(fromDate.AddDays(day - 1), number);
                        result.Add(subItem);
                        number = 0;
                        i      = i - 1;
                        day++;
                    }
                }
                long[] lastItem = convertData2(fromDate.AddDays(day - 1), number);
                result.Add(lastItem);
                try
                {
                    return(Ok(result));
                }
                catch (Exception ex)
                {
                    return(Exception(ex.Message));
                }
            }
            else
            {
                return(Ok());
            }
        }
Пример #3
0
        private void VerifyTask(HttpRequestBase ipnRequest)
        {
            var    verificationResponse = string.Empty;
            string informationRequets   = "";

            try
            {
                var verificationRequest = (HttpWebRequest)WebRequest.Create("https://www.sandbox.paypal.com/cgi-bin/webscr");

                //Set values for the verification request
                verificationRequest.Method      = "POST";
                verificationRequest.ContentType = "application/x-www-form-urlencoded";
                var param      = Request.BinaryRead(ipnRequest.ContentLength);
                var strRequest = Encoding.ASCII.GetString(param);

                //Add cmd=_notify-validate to the payload
                strRequest = "cmd=_notify-validate&" + strRequest;
                NLogger.Infor("strRequest: " + strRequest);
                informationRequets = strRequest;
                verificationRequest.ContentLength = strRequest.Length;

                //Attach payload to the verification request
                var streamOut = new StreamWriter(verificationRequest.GetRequestStream(), Encoding.ASCII);
                streamOut.Write(strRequest);
                streamOut.Close();

                //Send the request to PayPal and get the response
                var streamIn = new StreamReader(verificationRequest.GetResponse().GetResponseStream());
                verificationResponse = streamIn.ReadToEnd();
                streamIn.Close();
            }
            catch (Exception exception)
            {
                //Capture exception for manual investigation
            }

            ProcessVerificationResponse(informationRequets, verificationResponse);
        }