コード例 #1
0
        /// <summary>
        /// 永乐充值接口
        /// </summary>
        /// <param name="post">充值参数数组,顺序为:充值时间、充值号码、充值金额(个数)、使用类型、真实姓名</param>
        /// <param name="usetype">充值类型</param>
        /// <returns></returns>
        public static string APIyolly(object[] post, usetype usetype)
        {
            string YOLLYID  = yollyinterface.yollyid;
            string YOLLYKEY = yollyinterface.yollykey;
            string url      = "";
            string para     = string.Empty;

            switch (usetype)
            {
            case usetype.Phone:
                url   = " http://www.yolly.cn/third/interfaceNew/recharge.do?";
                para += string.Format("YOLLYID={0}", HttpContext.Current.Server.UrlEncode(YOLLYID));
                para += string.Format("&YOLLYTIME={0}", HttpContext.Current.Server.UrlEncode((post[0]).ToString()));                        //发起时间
                para += string.Format("&YOLLYURL={0}", HttpContext.Current.Server.UrlEncode(Globals.API_Domain + "Calls/call_yolly.ashx")); //回调url
                para += string.Format("&YOLLYFLOW={0}", HttpContext.Current.Server.UrlEncode((post[3]).ToString()));                        //流水号
                para += string.Format("&MOBILE={0}", HttpContext.Current.Server.UrlEncode((post[1]).ToString()));                           //充值号码
                para += string.Format("&MONEY={0}", HttpContext.Current.Server.UrlEncode((post[2]).ToString()));                            //充值金额  65548187000000120160823184853134770789511D39316FEC4984ABE97ED554D749EBE86
                para += string.Format("&TYPE={0}", HttpContext.Current.Server.UrlEncode(""));
                para += string.Format("&CIPHERTEXT={0}", HttpContext.Current.Server.UrlEncode("yolly2.0"));                                 //密文标识
                string Pmd5 = SecurityHelper.GetMd5To32(YOLLYID + (post[3]).ToString() + (post[0]).ToString() + Globals.API_Domain + "Calls/call_yolly.ashx" + (post[1]).ToString() + (post[2]).ToString() + "" + YOLLYKEY).ToLower();
                para += string.Format("&MD5TEXT={0}", HttpContext.Current.Server.UrlEncode(Pmd5));
                break;

            case usetype.QQB:
                url   = " http://www.yolly.cn/third/interfaceGame/rechargeGame.do?";
                para += string.Format("YOLLYID={0}", HttpContext.Current.Server.UrlEncode(YOLLYID));
                para += string.Format("&YOLLYTIME={0}", HttpContext.Current.Server.UrlEncode((post[0]).ToString()));                        //发起时间
                para += string.Format("&YOLLYURL={0}", HttpContext.Current.Server.UrlEncode(Globals.API_Domain + "Calls/call_yolly.ashx")); //发起时间
                para += string.Format("&YOLLYFLOW={0}", HttpContext.Current.Server.UrlEncode((post[3]).ToString()));                        //流水号
                para += string.Format("&ACCOUNT={0}", HttpContext.Current.Server.UrlEncode((post[1]).ToString()));                          //充值号码
                para += string.Format("&NUM={0}", HttpContext.Current.Server.UrlEncode((post[2]).ToString()));                              //充值金额  65548187000000120160823184853134770789511D39316FEC4984ABE97ED554D749EBE86
                para += string.Format("&TYPE={0}", HttpContext.Current.Server.UrlEncode((post[4]).ToString()));
                para += string.Format("&CIPHERTEXT={0}", HttpContext.Current.Server.UrlEncode("yolly2.0"));                                 //密文标识
                para += string.Format("&alipayName={0}", HttpContext.Current.Server.UrlEncode((post[5]).ToString()));                       //用户支付宝真实姓名
                string Qmd5 = SecurityHelper.GetMd5To32(YOLLYID + (post[3]).ToString() + (post[0]).ToString() + Globals.API_Domain + "Calls/call_yolly.ashx" + (post[1]).ToString() + (post[4]).ToString() + (post[2]).ToString() + (post[5]).ToString() + YOLLYKEY).ToLower();
                para += string.Format("&MD5TEXT={0}", HttpContext.Current.Server.UrlEncode(Qmd5));
                break;

            case usetype.Alipay:
                string reusename = HttpUtility.UrlEncode(HttpUtility.UrlEncode((post[5]).ToString(), UTF8Encoding.UTF8), UTF8Encoding.UTF8);
                url   = " http://www.yolly.cn/third/interfaceGame/rechargeGame.do?";
                para += string.Format("YOLLYID={0}", HttpContext.Current.Server.UrlEncode(YOLLYID));
                para += string.Format("&YOLLYTIME={0}", HttpContext.Current.Server.UrlEncode((post[0]).ToString()));                        //发起时间
                para += string.Format("&YOLLYURL={0}", HttpContext.Current.Server.UrlEncode(Globals.API_Domain + "Calls/call_yolly.ashx")); //发起时间
                para += string.Format("&YOLLYFLOW={0}", HttpContext.Current.Server.UrlEncode((post[3]).ToString()));                        //流水号
                para += string.Format("&ACCOUNT={0}", HttpContext.Current.Server.UrlEncode((post[1]).ToString()));                          //充值号码
                para += string.Format("&NUM={0}", HttpContext.Current.Server.UrlEncode((post[2]).ToString()));                              //充值金额  65548187000000120160823184853134770789511D39316FEC4984ABE97ED554D749EBE86
                para += string.Format("&TYPE={0}", HttpContext.Current.Server.UrlEncode((post[4]).ToString()));                             //1.QQ币 2.支付宝账号充值
                para += string.Format("&CIPHERTEXT={0}", HttpContext.Current.Server.UrlEncode("yolly2.0"));                                 //密文标识
                para += string.Format("&alipayName={0}", HttpContext.Current.Server.UrlEncode(reusename));                                  //用户支付宝真实姓名
                string Amd5 = SecurityHelper.GetMd5To32(YOLLYID + (post[3]).ToString() + (post[0]).ToString() + Globals.API_Domain + "Calls/call_yolly.ashx" + (post[1]).ToString() + (post[4]).ToString() + (post[2]).ToString() + (post[5]).ToString() + YOLLYKEY).ToLower();
                para += string.Format("&MD5TEXT={0}", HttpContext.Current.Server.UrlEncode(Amd5));
                break;
            }

            return(sendreceive(Encoding.ASCII.GetBytes(para), url));
        }
コード例 #2
0
        /// <summary>
        /// 生成订单号
        /// </summary>
        public static string GenerateYollyID(usetype usetype)
        {
            //根据业务设置订单号前辍
            string strPrev = "W";

            switch (usetype)
            {
            case usetype.Phone:
                strPrev = "P";
                break;

            case usetype.QQB:
                strPrev = "Q";
                break;

            case usetype.Alipay:
                strPrev = "A";
                break;

            case usetype.Wangba:
                strPrev = "W";
                break;
            }

            //框架自带随机在大数据量下很容易重复,自写递增随机毫秒数再加随机数来确保订单唯一性
            int currStep = yollyinterface.step;

            yollyinterface.step = yollyinterface.step + 1;
            if (yollyinterface.step > 999)
            {
                yollyinterface.step = 0;
            }

            //生成
            Random rd      = new Random();
            int    iRandom = rd.Next(100, 999);
            string orderid = strPrev + DateTime.Now.AddMilliseconds(currStep).ToString("yyMMddHHmmssfff") + iRandom.ToString();

            return(orderid);
        }