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()); }
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()); }
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()); }