예제 #1
0
파일: Form1.cs 프로젝트: AnCalm/PayClient
        void GetSUPOrders()
        {
            while (isGetSUPOrdersThreadStatus)
            {
                try
                {
                    int time = 0;

                    WriteLog.Write("方法:GetSUPOrders 开始取单:" + DateTime.Now.ToString(), LogPathFile.Other);

                    List <Order> orderSet = new GetAndNotifySUPOrders().getOrderFromSUP(ref time);

                    WriteLog.Write("方法:GetSUPOrders 取到订单:" + DateTime.Now.ToString(), LogPathFile.Other);

                    if (orderSet != null && orderSet.Count > 0)
                    {
                        bool result  = SQLOrder.AddOrder(orderSet);
                        int  Recount = 0;
                        while (!result)
                        {
                            if (Recount > 10)
                            {
                                break;
                            }
                            result = SQLOrder.AddOrder(orderSet);
                            Recount++;
                            Thread.Sleep(1 * 1000);
                        }

                        WriteLog.Write("方法:GetSUPOrders 订单保存成功:" + DateTime.Now.ToString(), LogPathFile.Other);

                        //foreach (Order order in orderSet)
                        //{
                        //    bool result = SQLOrder.AddOrder(order);
                        //    int Recount = 0;
                        //    while (!result)
                        //    {
                        //        if (Recount > 10)
                        //        {
                        //            break;
                        //        }
                        //        result = SQLOrder.AddOrder(order);
                        //        Recount++;
                        //        Thread.Sleep(1 * 1000);
                        //    }
                        //}
                    }
                    Thread.Sleep(time * 1000);
                }
                catch (Exception ex)
                {
                    WriteLog.Write("方法:GetSUPOrders异常,信息:" + ex.Message + ex.StackTrace, LogPathFile.Exception.ToString());
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 订单返回通知
        /// </summary>
        /// <param name="NotifyOrderSet"></param>
        void NotifyOrders(List <Order> NotifyOrderSet)
        {
            try
            {
                List <Order> orders = new List <Order>();

                foreach (object order in NotifyOrderSet)
                {
                    Order queryOrder = (Order)order;

                    bool isNotifyState = false;

                    if (queryOrder.MerchantCode == MerchantCodeType.SW)
                    {
                        isNotifyState = new ManageSW().notigyOrderToSW(queryOrder);
                    }
                    else if (queryOrder.MerchantCode == MerchantCodeType.SUP)
                    {
                        isNotifyState = new GetAndNotifySUPOrders().notigyOrderToSUP(queryOrder);
                    }

                    if (isNotifyState)
                    {
                        queryOrder.IsNotify    = true;
                        queryOrder.EndDatetime = DateTime.Now;

                        orders.Add(queryOrder);
                    }

                    AssignmentDatagirdView(queryOrder);
                }

                //更新本地数据库
                if (orders != null && orders.Count > 0)
                {
                    //foreach (var item in orders)
                    //{
                    //    new SQLOrder().UpdateOrder(item);
                    //}
                    new SQLOrder().MultiUpdateData(orders);
                }
            }
            catch (Exception ex)
            {
                Common.LogHelper.WriteLog.Write("方法:NotifyOrders,异常:" + ex.Message + " ," + ex.Source, LogPathFile.Exception.ToString());
            }
        }
예제 #3
0
파일: Program.cs 프로젝트: AnCalm/PayClient
        static void Main(string[] args)
        {
            List <string> ses = new List <string>();

            ses.Add("444");
            ses.Add("4434");
            ses.Add("44e4");
            ses.Add("44e4");

            List <Order> orders  = new List <Order>();
            Order        order12 = new Order()
            {
                OrderID  = 1653631,
                IsNotify = true
            };
            Order order1 = new Order()
            {
                OrderID  = 1653630,
                IsNotify = true
            };

            orders.Add(order12);
            orders.Add(order1);

            new SQLOrder().MultiUpdateData(orders);

            CookieContainer coockie = new CookieContainer();
            string          result  = PostAndGet.HttpPostString("http://121.42.166.214:8099/select.aspx", "username=15071226434&type=qb&sporderid=01201904152304350000011081&buyhaoma=3258222489&sign=0a81867f2a42f8990cd6e47e0cc45a69", ref coockie);



            string AreaName   = "第四十九大区(王者/天使电信)";
            string Servername = "王者一区(电信)";
            string Area       = "";
            string Server     = "";

            new PayAndQuerySW().getmoyuAreaAndServer("魔域", AreaName, Servername, ref Area, ref Server);

            List <Order> dbOrderList = new SQLOrder().GetOrder_top1000();

            Order order123 = new Order()
            {
                OrderExternalID = "2695468386217401"
            };

            GetAndNotifySUPOrders.CheckRepeatOrder(order123, dbOrderList);

            bool bo = new PayAndQuerySW().isChinese("ksdflhg少哦好东西 41561");

            int ssssssss = new QuerySW().getOrderStatus("upay_oidb_0x4fd verify failed for uin[166355766] userip[223.4.205.37] valid[0] reason[4]", "601");

            Order order133 = new Order()
            {
                OrderInsideID = "11",
                BuyAmount     = 1,
                TargetAccount = "鄂尔多斯飞",
                //CustomerIp = "223.104.63.183"
            };

            new PayAndQueryBaiYou().SubmitOrder(order133);

            new ChargeInterface.Charge.PayFulu().Charge(order133);

            new PayAndQueryXunTong().SubmitOrder(order133);

//2018/6/24 21:27:58	方法:Kamen回调,ChargeTime:2018-06-24 21:27:55 CustomerOrderNo:01201806242127490000000008OrderNo:1375870705 ReMark:交易失败 Status:False
//2018/6/24 21:27:58	方法:Kamen回调,Kamen订单号:1375870705 本地系统订单号:01201806242127490000000008签名验证错误,Kamen数字签名69962afcc9ff56fdd4fadfbb04ea5841本地签名:D70A7255A9D91F4E867340B4288C55AF


            string md5str          = "chargetime=2018-06-24 21:27:55&customerorderno=01201806242127490000000008&orderno=1375870705&remark=" + System.Web.HttpUtility.UrlEncode("交易失败", Encoding.UTF8) + "&Status=False918BB8A545017EB8B5E26D9F62AD33E1";
            string ChargeTime      = "2016-02-18 11:44:06";
            string CustomerOrderNo = "t0001";
            string OrderNo         = "653063195";
            string ReMark          = "交易成功";
            string Status          = "True";
            string Secret          = "F636297CB44B2F02BA4651282266EC2F";
            string sData           = "chargetime=" + ChargeTime.Replace("/", "-") + "&customerorderno=" + CustomerOrderNo + "&orderno=" + OrderNo + "&remark="
                                     + ReMark + "&status=" + Status;

            //string sign = EncryptMd5UTF8(sData+Secret);

            md5str = "chargetime=2016-02-18 11:44:06&customerorderno=t0001&orderno=653063195&remark=交易成功&status=TrueF636297CB44B2F02BA4651282266EC2F";
            //md5str = "chargetime=2014-11-12 10:31:03&customerorderno=493171&orderno=338833405&remark=交易成功&status=True+商户密钥";

            string dfdd = System.Web.HttpUtility.UrlEncode(md5str, Encoding.UTF8);
            //ec01cb60874420ab1c11083b07dd98ad

            string checkSign = Md5Helper.EncryptMd5_Kamen1(sData + Secret);


            // 01201903312106160000107708 RuiLian 提交参数:oid=01201903312106160000107708&cid=100183&pid=1078&pn=%e7%b4%ab%e5%85%89%e9%98%81-&nb=1&fm=15.0000&ru=http%3a%2f%2f116.62.44.48%2fNotifyFromRuiLian.aspx&at=&ct=%e6%96%b0%e6%b5%aa%e5%be%ae%e5%8d%9a%e4%bc%9a%e5%91%98&fr=&fs=&rin=&pip=219.140.132.224&info1=&info2=&sign=7839fe0efd29c9775f86d392f1182918

            //Kamen数字签名69962afcc9ff56fdd4fadfbb04ea5841本地签名:D70A7255A9D91F4E867340B4288C55AF



            // "oid=101447975&cid=test&pid=10097&pn=123456&nb=1&fm=1&ru=backcallurl&at=xxx&ct=xxx&fr=xxx&fs=xxx&rin=xxx&pip=118.249.190.100&info1=xxx&info2=xxx
            //&sign=c608f410759bf59d925ceb9d9c02dad0"


            string md5str1 = "101447975-test-10097-123456-1-1-backcallurl-test";
            string sign1   = Md5Helper.GetMD5String_utf8(md5str1);
            string sign2   = Md5Helper.EncryptMd5_Kamen(md5str1);
            string sign3   = Md5Helper.EncryptMd5_Kamen1(md5str1);

            Order order = new Order();

            order.BuyAmount     = 10;
            order.TargetAccount = "15072412234";
            ChargeInterface.Charge.Pay_91_com pt = new ChargeInterface.Charge.Pay_91_com();
            order = pt.Charge(order);

            new QuerySW().Query(order);

            CookieContainer cookie = new CookieContainer();
            Cookie          ck     = new Cookie()
            {
                Name   = "test",
                Value  = "123",
                Domain = "www"
            };

            cookie.Add(ck);

            Common.CookieOperation.CookieHelper.WriteCookiesToDisk("357440019", cookie);

            CookieContainer cc = Common.CookieOperation.CookieHelper.ReadCookiesFromDisk("E:\\testcookie\\357440019");

            string ss = ChargeInterface.ChargeHelper.OrderHelper.OrderStatusForXml.GetOrderStatus("91y", "充值失败");

            Console.WriteLine(ss);
            ss = ChargeInterface.ChargeHelper.OrderHelper.OrderStatusForXml.GetOrderStatus("91y", "充值成功");

            Console.WriteLine(ss);
        }