Beispiel #1
0
        string setPostDate(Order order)
        {
            string oid   = order.OrderInsideID;                                                                           //	商家订单ID	必选	String	是	商家自己生成的平台ID,注意参数为小写
            string cid   = merchantID;                                                                                    //	商家ID	必选	String	是	商家注册的时候产生的一个商家ID
            string pid   = SQLProduct.getChargeClassProductCode(order.ProductID, order.MerchantCode);                     //	商品ID	必选	String	是	商品ID请在对接的时候向对接技术索要
            string pn    = System.Web.HttpUtility.UrlEncode(order.TargetAccount, Encoding.UTF8);                          //	充值号码	必选	String	是	您所需要充值的帐号信息
            string nb    = order.BuyAmount.ToString();                                                                    //	商品数量	必选	String	是	您所需要充值帐号的充值数量个数
            string fm    = (order.ProductParValue * order.BuyAmount).ToString();                                          //	充值金额	必选	String	是	充值金额=商品面值*商品数量
            string ru    = System.Web.HttpUtility.UrlEncode("http://116.62.44.48/NotifyFromRuiLian.aspx", Encoding.UTF8); //	通知地址	必选	String	是	帐号充值结果所反馈到的地址
            string at    = System.Web.HttpUtility.UrlEncode(order.TargetAccountType, Encoding.UTF8);                      //	帐号类型	可选	String	否	辅助参数,与指定的商品有关
            string ct    = System.Web.HttpUtility.UrlEncode(order.RechargeModeName, Encoding.UTF8);                       //	计费类型	可选	String	否	辅助参数,与指定的商品有关
            string fr    = "";                                                                                            //	充值区域	可选	String	否	辅助参数,与指定的商品有(格式:区域编号|区域名称)
            string fs    = "";                                                                                            //	充值服务器	可选	String	否	辅助参数,与指定的商品有(格式:服务器编号|服务器名称)
            string rin   = "";                                                                                            //	商家区域	可选	String	否	辅助参数,商家所在区域
            string pip   = order.CustomerIp;                                                                              //	充值帐号IP	可选	String	否	辅助参数,充值帐号IP地址
            string info1 = "";                                                                                            //	商家自定义	可选	String	否	可选参数,商家自定义参数,原样返回
            string info2 = "";                                                                                            //	商家自定义	可选	String	否	可选参数,商家自定义参数,原样返回
            string sign  = "";                                                                                            //	MD5签名	必选	String	否	原串拼接规则:oid-cid-pid-pn-nb-fm-ru-key 例:101447975-test-10097-123456-1-1-backcallurl-test

            string md5str = oid + "-" + cid + "-" + pid + "-" + pn + "-" + nb + "-" + fm + "-" + ru + "-" + key;

            sign = Md5Helper.MD5Encrypt(md5str);

            if (!string.IsNullOrEmpty(order.AreaName))
            {
                //string Area = new ChargeInterface.MBJ.PayAndQueryMBJ().getAreaValue(order.AreaName, pid, AreaValueType.ShuWang);//游戏区域
                fr = System.Web.HttpUtility.UrlEncode(order.Area + "|" + order.AreaName, Encoding.UTF8);
            }

            if (!string.IsNullOrEmpty(order.Server))
            {
                string Area = new ChargeInterface.MBJ.PayAndQueryMBJ().getAreaValue(order.AreaName, pid, AreaValueType.ShuWang);//游戏区域
                fs = System.Web.HttpUtility.UrlEncode(order.Server + "|" + order.ServerName, Encoding.UTF8);
            }

            StringBuilder str = new StringBuilder();

            str.AppendFormat("oid={0}", oid);
            str.AppendFormat("&cid={0}", cid);
            str.AppendFormat("&pid={0}", pid);
            str.AppendFormat("&pn={0}", pn);
            str.AppendFormat("&nb={0}", nb);
            str.AppendFormat("&fm={0}", fm);
            str.AppendFormat("&ru={0}", ru);
            str.AppendFormat("&at={0}", at);
            str.AppendFormat("&ct={0}", ct);
            str.AppendFormat("&fr={0}", fr);
            str.AppendFormat("&fs={0}", fs);
            str.AppendFormat("&rin={0}", rin);
            str.AppendFormat("&pip={0}", pip);
            str.AppendFormat("&info1={0}", info1);
            str.AppendFormat("&info2={0}", info2);
            str.AppendFormat("&sign={0}", sign);

            return(str.ToString());
        }
Beispiel #2
0
        public string setPostDate(Order order, string responseUrl, string iD)
        {
            string MerchantID            = merchantID;                                                                   //商家编号	Y
            string MerchantOrderID       = order.OrderInsideID;                                                          //商家订单编号(不允许重复)	Y
            string ProductID             = SQLProduct.getChargeClassProductCode(order.ProductID, order.MerchantCode);    //商品编号	Y
            string BuyAmount             = order.BuyAmount.ToString();                                                   //充值数量	Y
            string TargetAccount         = order.TargetAccount;                                                          //充值账户	N
            string TargetAccountType     = System.Web.HttpUtility.UrlEncode(order.TargetAccountType, Encoding.UTF8);     //充值账户类型	N
            string TargetAccountTypeName = System.Web.HttpUtility.UrlEncode(order.TargetAccountTypeName, Encoding.UTF8); //充值账户类型名称	N
            string RechargeMode          = System.Web.HttpUtility.UrlEncode(order.RechargeMode, Encoding.UTF8);          //充值方式	N
            string RechargeModeName      = System.Web.HttpUtility.UrlEncode(order.RechargeModeName, Encoding.UTF8);      //充值方式名称	N
            string Game           = System.Web.HttpUtility.UrlEncode(order.Game, Encoding.UTF8);                         //充值游戏	N
            string GameName       = System.Web.HttpUtility.UrlEncode(order.GameName, Encoding.UTF8);                     //充值游戏名称	N
            string Area           = getAreaValue(order.AreaName, ProductID, iD);                                         //游戏区域	N
            string AreaName       = System.Web.HttpUtility.UrlEncode(order.AreaName, Encoding.UTF8);                     //游戏区域名称	N
            string Server         = System.Web.HttpUtility.UrlEncode(order.Server, Encoding.UTF8);                       //游戏服务器	N
            string ServerName     = System.Web.HttpUtility.UrlEncode(order.ServerName, Encoding.UTF8);                   //游戏服务器名称	N
            string CustomerIP     = order.CustomerIp;                                                                    //客户IP/客户区域,用来确定消费区域,只需传一个即可。如果都传以IP为准,如果都不传则默认区域为全国。	N
            string CustomerRegion = System.Web.HttpUtility.UrlEncode(order.CustomerRegion, Encoding.UTF8);
            string ResponseUrl    = System.Web.HttpUtility.UrlEncode(responseUrl, Encoding.UTF8);                        //接收异步通知订单状态的Url	N
            string Sign           = string.Empty;                                                                        //数字签名	Y

            string TargetAccount_Sign = order.TargetAccount;

            if (new ChargeInterface.SW.PayAndQuerySW().isChinese(TargetAccount))
            {
                TargetAccount = System.Web.HttpUtility.UrlEncode(order.TargetAccount, Encoding.UTF8);
            }


            Game = new ChargeInterface.SW.PayAndQuerySW().getGameValue(order.GameName);//充值游戏

            if (order.GameName.Contains("魔域") || order.GameName.Contains("魔域掉钱版") || order.GameName.Contains("魔域口袋版") ||
                order.GameName.Contains("机战") || order.GameName.Contains("征服"))
            {
                new ChargeInterface.SW.PayAndQuerySW().getmoyuAreaAndServer(order.GameName, order.AreaName, order.ServerName, ref Area, ref Server);

                switch (order.RechargeModeName)
                {
                case "魔石卡":
                    RechargeMode = "1021101902000000001";
                    break;

                case "神石卡":
                    RechargeMode = "1021372029000000001";
                    break;

                case "太阳石卡":
                    RechargeMode = "1021111902000000001";
                    break;

                default:
                    RechargeMode = "";
                    break;
                }
            }
            else
            {
                Area   = new ChargeInterface.MBJ.PayAndQueryMBJ().getAreaValue(order.AreaName, ProductID, AreaValueType.ShuWang);
                Server = System.Web.HttpUtility.UrlEncode(order.Server, Encoding.UTF8);
            }


            string MD5Str = MerchantID + MerchantOrderID + ProductID + BuyAmount + TargetAccount_Sign + key;

            Sign = Md5Helper.MD5Encrypt(MD5Str);

            StringBuilder str = new StringBuilder();

            str.AppendFormat("MerchantID={0}", MerchantID);
            str.AppendFormat("&MerchantOrderID={0}", MerchantOrderID);
            str.AppendFormat("&ProductID={0}", ProductID);
            str.AppendFormat("&BuyAmount={0}", BuyAmount);
            str.AppendFormat("&TargetAccount={0}", TargetAccount);
            str.AppendFormat("&TargetAccountType={0}", TargetAccountType);
            str.AppendFormat("&TargetAccountTypeName={0}", TargetAccountTypeName);
            str.AppendFormat("&RechargeMode={0}", RechargeMode);
            str.AppendFormat("&RechargeModeName={0}", RechargeModeName);
            str.AppendFormat("&Game={0}", Game);
            str.AppendFormat("&GameName={0}", GameName);
            str.AppendFormat("&Area={0}", Area);
            str.AppendFormat("&AreaName={0}", AreaName);
            str.AppendFormat("&Server={0}", Server);
            str.AppendFormat("&ServerName={0}", ServerName);
            str.AppendFormat("&CustomerIP={0}", CustomerIP);
            str.AppendFormat("&CustomerRegion={0}", CustomerRegion);
            str.AppendFormat("&ResponseUrl={0}", ResponseUrl);
            str.AppendFormat("&Sign={0}", Sign);  // 签名
            return(str.ToString());
        }
Beispiel #3
0
        string setPostDate(Order order)
        {
            string MerchantID         = merchantID;                                                                //商家编号
            string MerchantOrderID    = order.OrderInsideID;                                                       //商家订单编号(不允许重复)
            string ProductID          = SQLProduct.getChargeClassProductCode(order.ProductID, order.MerchantCode); //商品编号
            string BuyAmount          = order.BuyAmount.ToString();;                                               //充值数量
            string TargetAccount      = string.Empty;                                                              //充值账户
            string TargetAccount_Sign = string.Empty;

            if (order.GameName.Contains("新水浒Q传"))
            {
                if (order.TargetAccount.Contains("手机号码"))
                {
                    TargetAccount = order.TargetAccount.Replace("手机号码", "");
                }
                else if (order.TargetAccount.Contains("其他邮箱【请填写完整账户】"))
                {
                    TargetAccount = order.TargetAccount.Replace("其他邮箱【请填写完整账户】", "");
                }
                else if (order.TargetAccount.Contains("无"))
                {
                    TargetAccount = order.TargetAccount.Replace("无", "");
                }
            }
            else if (order.GameName.Contains("魔兽世界"))
            {
                TargetAccount = order.TargetAccount.Replace("+", ";");
            }

            if (string.IsNullOrEmpty(TargetAccount))
            {
                TargetAccount = order.TargetAccount;
            }

            TargetAccount_Sign = TargetAccount;

            if (isChinese(TargetAccount))
            {
                TargetAccount = System.Web.HttpUtility.UrlEncode(order.TargetAccount, Encoding.UTF8);
            }

            string TargetAccountType     = System.Web.HttpUtility.UrlEncode(order.TargetAccountType, Encoding.UTF8);     //充值账户类型
            string TargetAccountTypeName = System.Web.HttpUtility.UrlEncode(order.TargetAccountTypeName, Encoding.UTF8); //充值账户类型名称

            string RechargeMode = string.Empty;                                                                          //充值方式

            if (order.RechargeModeName.Contains("帐号直充"))
            {
                RechargeMode = "1";
            }
            else if (order.RechargeModeName.Contains("点数寄售"))
            {
                RechargeMode = "2";
            }
            else if (order.RechargeModeName.Contains("魔兽世界游戏时间"))
            {
                RechargeMode = "WOW_TIME";
            }

            if (order.GameName.Contains("春秋Q传") || order.GameName.Contains("剑网3") ||
                order.GameName.Contains("反恐行动") || order.GameName.Contains("剑侠世界"))
            {
                if (order.RechargeModeName.Contains("金币"))
                {
                    RechargeMode = "5";
                }
                else if (order.RechargeModeName.Contains("通宝"))
                {
                    RechargeMode = "6";
                }
                else if (order.RechargeModeName.Contains("月卡"))
                {
                    RechargeMode = "1";
                }
                else if (order.RechargeModeName.Contains("点卡"))
                {
                    RechargeMode = "2";
                }
            }

            string RechargeModeName = string.Empty; //充值方式名称

            if (order.RechargeModeName.Contains("起凡一卡通"))
            {
                RechargeModeName = string.Empty;
            }
            else
            {
                RechargeModeName = System.Web.HttpUtility.UrlEncode(order.RechargeModeName, Encoding.UTF8);
            }

            string Game     = getGameValue(order.GameName); //充值游戏
            string GameName = string.Empty;                 //充值游戏名称

            GameName = System.Web.HttpUtility.UrlEncode(order.GameName, Encoding.UTF8);

            string Area       = "";                                                                //游戏区域
            string AreaName   = System.Web.HttpUtility.UrlEncode(order.AreaName, Encoding.UTF8);   //游戏区域名称
            string Server     = "";                                                                //游戏服务器
            string ServerName = System.Web.HttpUtility.UrlEncode(order.ServerName, Encoding.UTF8); //游戏服务器名称

            if (order.GameName.Contains("魔域") || order.GameName.Contains("魔域掉钱版") || order.GameName.Contains("魔域口袋版") ||
                order.GameName.Contains("机战") || order.GameName.Contains("征服"))
            {
                getmoyuAreaAndServer(order.GameName, order.AreaName, order.ServerName, ref Area, ref Server);

                switch (order.RechargeModeName)
                {
                case "魔石卡":
                    RechargeMode = "1021101902000000001";
                    break;

                case "神石卡":
                    RechargeMode = "1021372029000000001";
                    break;

                case "太阳石卡":
                    RechargeMode = "1021111902000000001";
                    break;

                default:
                    RechargeMode = "";
                    break;
                }
            }
            else
            {
                Area   = new ChargeInterface.MBJ.PayAndQueryMBJ().getAreaValue(order.AreaName, ProductID, AreaValueType.ShuShan);
                Server = System.Web.HttpUtility.UrlEncode(order.Server, Encoding.UTF8);
            }

            string CustomerIP     = order.CustomerIp;                                                                               //客户IP/客户区域,用来确定消费区域,只需传一个即可。如果都传以IP为准,如果都不传则默认区域为全国。
            string CustomerRegion = "";
            string ResponseUrl    = System.Web.HttpUtility.UrlEncode("http://116.62.44.48/NotifyFromShuShan.aspx", Encoding.UTF8);; //接收异步通知订单状态的Url
            string Sign           = "";                                                                                             //数字签名数字签名

            if (string.IsNullOrEmpty(TargetAccount_Sign))
            {
                TargetAccount_Sign = order.TargetAccount;
            }

            string md5str = MerchantID + MerchantOrderID + ProductID + BuyAmount + TargetAccount_Sign + key;

            Sign = Md5Helper.MD5Encrypt(md5str);

            StringBuilder str = new StringBuilder();

            str.AppendFormat("MerchantID={0}", MerchantID);
            str.AppendFormat("&MerchantOrderID={0}", MerchantOrderID);
            str.AppendFormat("&ProductID={0}", ProductID);
            str.AppendFormat("&BuyAmount={0}", BuyAmount);
            str.AppendFormat("&TargetAccount={0}", TargetAccount);
            str.AppendFormat("&TargetAccountType={0}", TargetAccountType == null ? "" : TargetAccountType);
            str.AppendFormat("&TargetAccountTypeName={0}", TargetAccountTypeName == null ? "" : TargetAccountTypeName);
            str.AppendFormat("&RechargeMode={0}", RechargeMode == null ? "" : RechargeMode);
            str.AppendFormat("&RechargeModeName={0}", RechargeModeName == null ? "" : RechargeModeName);
            str.AppendFormat("&Game={0}", Game == null ? "" : Game);
            str.AppendFormat("&GameName={0}", GameName == null ? "" : GameName);
            str.AppendFormat("&Area={0}", Area == null ? "" : Area);
            str.AppendFormat("&AreaName={0}", AreaName == null ? "" : AreaName);
            str.AppendFormat("&Server={0}", Server == null ? "" : Server);
            str.AppendFormat("&ServerName={0}", ServerName == null ? "" : ServerName);
            str.AppendFormat("&CustomerIP={0}", CustomerIP == null ? "" : CustomerIP);
            str.AppendFormat("&CustomerRegion={0}", CustomerRegion == null ? "" : CustomerRegion);
            str.AppendFormat("&ResponseUrl={0}", ResponseUrl);
            str.AppendFormat("&Sign={0}", Sign);

            return(str.ToString());
        }