/// <summary> /// 盗魂传充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gc.AgentId + "|" + gu.UserName + "|" + gs.ServerNo + "|" + tstamp + "|" + OrderNo + "|" + PayGold + "|" + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?ptid=" + gc.AgentId + "&account=" + gu.UserName + "&areaid=" + gs.ServerNo + "&tt=" + tstamp + "&orderno=" + OrderNo + "&point=" + PayGold + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 PayResult = PayResult.Substring(0, PayResult.IndexOf('}')); //处理返回结果 PayResult = PayResult.Replace(PayResult.Substring(0, PayResult.LastIndexOf('{') + 1), ""); string[] b = PayResult.Split(','); switch (b[0].Substring(13)) //对充值结果进行解析 { case "0": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "1": return("充值失败!错误原因:商家错误或者不存在!"); case "2": return("订单重复,之前已经处理成功!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 热血海贼王充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns></returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要登录的服务器 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 Sign = DESEncrypt.Md5(gu.Id.ToString() + order.PayMoney + OrderNo + gs.ServerNo + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?qid=" + gu.Id + "&order_amount=" + order.PayMoney + "&order_id=" + OrderNo + "&server_id=" + gs.ServerNo + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值返回结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "2": return("充值失败!无法提交重复订单!"); case "0": return("充值失败!未知原因!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 古剑奇侠充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gc.PayTicket + OrderNo + gu.UserName + order.PayMoney + PayGold + tstamp, 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?paynum=" + OrderNo + "&username="******"&paymoney=" + order.PayMoney + "&payticket=" + PayGold + "&time=" + tstamp + "&flag=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!错误:更新订单状态失败!"); } case "2": return("充值失败!错误原因:非法访问Ip!"); case "3": return("充值失败!错误原因:参数错误!"); case "4": return("充值失败!错误原因:请求超时!"); case "5": return("充值失败!错误原因:验证错误!"); case "6": return("充值失败!错误原因:角色不存在!"); case "7": return("充值失败!错误原因:无法提交重复订单!"); case "8": return("充值失败!错误原因:数据录入失败!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 街机三国充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 string sign = DESEncrypt.Md5(gu.Id + gc.AgentId + tstamp + gs.ServerNo + PayGold + order.PayMoney * 100 + OrderNo + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?user="******"&pay_amount=" + PayGold + "&amount=" + order.PayMoney * 100 + "&time=" + tstamp + "&order_id=" + OrderNo + "&server_id=" + gs.ServerNo + "&platform=" + gc.AgentId + "&sign=" + sign + ""; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "2": return("充值失败!错误原因:充值的服务器不存在!"); case "3": return("充值失败!错误原因:充值金额有误!"); case "4": return("充值失败!错误原因:验证参数错误!"); case "5": return("充值失败!错误原因:无非提交重复订单!"); case "6": return("充值失败!错误原因:不存在的用户!"); case "7": return("充值失败!错误原因:充值服务器出错!"); case "8": return("充值失败!错误原因:请求订单超时!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 怒斩充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(order.PayMoney + gu.Id.ToString() + OrderNo + tstamp + gc.PayTicket, 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "exchange.php?amount=" + order.PayMoney + "&u=" + gu.Id + "&order_no=" + OrderNo + "&time=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "success": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "err_time": return("充值失败!错误原因:订单请求超时!"); case "err_sign": return("充值失败!错误原因:验证参数错误!"); case "err_repeat": return("充值失败!错误原因:无法提交重复订单!"); case "fail": return("充值失败!错误原因:其它错误!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 可乐三国充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("money=" + order.PayMoney + "&orderId=" + OrderNo + "&payPoint=" + PayGold + "&platId=" + gc.AgentId + "&platUid=" + gu.UserName + "&sid=" + gs.ServerNo + "&test=1&tm=" + tstamp + "&" + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?orderId=" + OrderNo + "&money=" + order.PayMoney + "&payPoint=" + PayGold + "&platId=" + gc.AgentId + "&platUid=" + gu.UserName + "&sid=" + gs.ServerNo + "&test=1&tm=" + tstamp + "&sig=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!错误原因:更新订单状态失败!"); } case "0": return("充值失败!充值失败!"); case "-1": return("充值失败!验证参数错误!"); case "-2": return("充值失败!请求超时!"); case "-3": return("充值失败!平台或者服务器不存在!"); case "-4": return("充值失败!验证失败!"); case "-5": return("充值失败!用户不存在!"); case "-6": return("充值失败!服务器不存在角色!"); case "-7": return("充值失败!IP限制!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 最无极充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 Sign = DESEncrypt.Md5(OrderNo + gu.Id + gs.QuFu + PayGold + order.PayMoney + tstamp + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?server_id=" + gs.QuFu + "&order_id=" + OrderNo + "&user_id=" + gu.Id + "&coin=" + PayGold + "&money=" + order.PayMoney + "&time=" + tstamp + "&sign=" + Sign + "&role_id=" + gui.Id; if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { try { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 Dictionary <string, string> PRE = Json.JsonToArray(PayResult); switch (PRE["code"]) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "-1": return("充值失败!错误原因:充值失败!"); case "-2": return("充值失败!错误原因:用户不存在!"); case "-3": return("充值失败!错误原因:IP限制!"); case "-4": return("充值失败!错误原因:验证失败!"); case "-5": return("充值失败!错误原因:无法提交重复订单!"); case "-6": return("充值失败!错误原因:请求超时!"); case "-7": return("充值失败!错误原因:服务器繁忙!"); case "-8": return("充值失败!错误原因:参数错误!"); default: return("充值失败!未知错误!"); } } catch (Exception ex) { return("充值失败!错误原因:" + ex.Message); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(("amount=" + order.PayMoney + "&gid=221&money=" + order.PayMoney + "&oid=" + OrderNo + "&pid=" + gc.AgentId + "&point=" + PayGold + "&sid=" + gs.QuFu + "&uid=" + gu.UserName + "&utime=" + tstamp).ToUpper() + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?pid=" + gc.AgentId + "&gid=221&sid=" + gs.QuFu + "&uid=" + gu.UserName + "&point=" + PayGold + "&amount=" + order.PayMoney + "&money=" + order.PayMoney + "&oid=" + OrderNo + "&utime=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { try { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!发生错误:更新订单状态失败!"); } case "11": return("充值失败!错误原因:金额错误!"); case "2006209": return("充值失败!错误原因:参数错误!"); case "13": return("充值失败!错误原因:请求方式错误!"); case "17": return("充值失败!错误原因:验证失败!"); case "10": return("充值失败!错误原因:充值服务器不存在!"); case "14": return("充值失败!错误原因:请求超时!"); case "18": return("充值失败!错误原因:非法请求的IP!"); case "19": return("充值失败!错误原因:充值游戏不存在!"); case "20": return("充值失败!错误原因:充值比例错误!"); case "-10": return("充值失败!错误原因:无效的服务器!"); case "-11": return("充值失败!错误原因:无效的玩家帐号!"); case "12": case "-12": return("充值失败!错误原因:无法提交重复订单!"); case "-14": return("充值失败!错误原因:无效的时间!"); case "-15": return("充值失败!错误原因:充值金额错误!"); case "-17": return("充值失败!错误原因:无效的时间!"); case "-18": return("充值失败!错误原因:验证失败!"); default: return("充值失败!未知错误!"); } } catch (Exception) { return("充值失败!错误原因:充值失败!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 大将军充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 string url = string.Format("op_id={0}&sid={1}&game_id={2}&account={3}&order_id={4}&game_money={5}&u_money={6}&time={7}", gc.AgentId, gs.ServerNo, 7, gu.UserName, OrderNo, PayGold, order.PayMoney, tstamp); //获取验证字符串 Base64Protector bp = new Base64Protector(); Auth = bp.Base64Code(url); //获取验证码 Sign = DESEncrypt.Md5(Auth + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?auth=" + Auth + "&verify=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 PayResult = PayResult.Substring(0, PayResult.IndexOf('}')); //处理充值结果 PayResult = PayResult.Replace(PayResult.Substring(0, PayResult.LastIndexOf('{') + 1), ""); switch (PayResult.Substring(9)) //对充值结果进行解析 { case "0": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "1": return("充值失败!错误原因:商家错误或者不存在!"); case "2": return("充值失败!错误原因:服务器不存在!"); case "3": return("充值失败!错误原因:游戏不存在!"); case "4": return("充值失败!错误原因:无效时间戳!"); case "5": return("充值失败!错误原因:检验码错误!"); case "6": return("充值失败!错误原因:缺少参数!"); case "7": return("充值失败!错误原因:订单号不存在!"); case "8": return("充值失败!错误原因:角色不存在!"); case "9": return("充值失败!错误原因:排行榜类型不存在!"); case "10": return("充值失败!错误原因:方法名字错误!"); case "11": return("充值失败!错误原因:非法IP!"); case "12": return("充值失败!错误原因:充值金额不对!"); case "13": return("充值失败!错误原因:游戏币金额不对!"); case "14": return("充值失败!错误原因:游戏币和游戏币币比列不对!"); case "100": return("充值失败!未知原因"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 大清英雄传充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gu.UserName + tstamp + OrderNo + PayGold + order.PayMoney + gs.QuFu + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?sid=" + gc.AgentId + "&gid=1&servid=" + gs.ServerNo + "&username="******"&rmb=" + order.PayMoney + "&orderid=" + OrderNo + "&paytime=" + tstamp + "&md5=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "0": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "-1": return("充值失败!错误原因:用户不存在!"); case "-2": return("充值失败!错误原因:无法提交重复订单!"); case "-3": return("充值失败!错误原因:服务器不存在!"); case "-4": return("充值失败!错误原因:服务器繁忙!"); case "-5": return("充值失败!错误原因:没有权限!"); case "-6": return("充值失败!错误原因:超过最大额度!"); case "-7": return("充值失败!错误原因:验证失败!"); case "-8": return("充值失败!错误原因:其它错误!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 绝代双骄充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要登录的服务器 tstamp = DateTime.Now.ToString("yyyyMMddHHmmss"); //获取时间戳 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 Sign = DESEncrypt.Md5("uid=" + gu.Id + "&uname=" + gu.UserName + "&serverid=" + gs.ServerNo + "&point=" + PayGold + "&amount=" + order.PayMoney + "&oid=" + OrderNo + "&time=" + tstamp + "&type=" + gc.AgentId + "&key=" + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?uid=" + gu.Id + "&uname=" + gu.UserName + "&serverid=" + gs.ServerNo + "&point=" + PayGold + "&amount=" + order.PayMoney + "&oid=" + OrderNo + "&time=" + tstamp + "&type=" + gc.AgentId + "&sign=" + Sign + "&format=xml"; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值返回结果 Dictionary <string, string> list = XmlHelper.ReadXml2(PayResult); //解析返回结果 switch (list["status"]) //对充值结果进行解析 { case "400": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!错误原因:更新订单状态失败!"); } case "401": return("充值失败!错误原因:缺少用户!"); case "402": return("充值失败!错误原因:缺少用户名!"); case "403": return("充值失败!错误原因:缺少服务器!"); case "404": return("充值失败!错误原因:缺少充值点数!"); case "405": return("充值失败!错误原因:缺少充值金额!"); case "406": return("充值失败!错误原因:缺少订单!"); case "407": return("充值失败!错误原因:缺少充值时间!"); case "408": return("充值失败!错误原因:缺少运营商!"); case "409": return("充值失败!错误原因:验证!"); case "410": return("充值失败!错误原因:非法访问IP!"); case "411": return("充值失败!未知错误!验证失败!"); case "412": return("充值失败!错误原因:用户角色不存在!"); case "413": return("充值失败!错误原因:获取角色信息失败!"); case "414": return("充值失败!错误原因:内部错误!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 仙侠傲世充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(OrderNo + gu.UserName + PayGold + order.PayMoney + tstamp + DESEncrypt.Md5(gc.PayTicket, 32), 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.LoginCom + "/api/recharge.php?ordernum=" + OrderNo + "&account=" + gu.UserName + "&money=" + order.PayMoney + "&gold=" + PayGold + "&time=" + tstamp + "&flag=" + Sign + "&server_id=" + gs.ServerNo; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!错误:更新订单状态失败!"); } case "-1": return("充值失败!错误原因:参数不完整!"); case "-2": return("充值失败!错误原因:验证错误!"); case "-3": return("充值失败!错误原因:非法访问Ip!"); case "-4": return("充值失败!错误原因:请求超时!"); case "-5": return("充值失败!错误原因:账号或角色不存在!"); case "-6": return("充值失败!错误原因:无法提交重复订单!"); case "-7": return("充值失败!错误原因:服务器账号不存在!"); case "-10": return("充值失败!错误原因:充值失败!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 冒险契约充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gu.UserName + gc.AgentId + OrderNo + order.PayMoney + gc.PayTicket + tstamp + gs.ServerNo + "mxqy", 32); string PayUrl = "http://" + gc.PayCom + "?game=mxqy&agent=" + gc.AgentId + "&user="******"&order=" + OrderNo + "&money=" + order.PayMoney + "&server=" + gs.ServerNo + "&time=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "0": return("充值失败!错误原因:参数不全!"); case "2": return("充值失败!错误原因:不存在的合作方!"); case "3": return("充值失败!错误原因:金额错误!"); case "4": return("充值失败!错误原因:服务器不存在!"); case "5": return("充值失败!错误原因:验证失败!"); case "6": return("充值失败!错误原因:游戏不存在!"); case "7": return("充值失败!错误原因:角色不存在!"); case "-7": return("充值失败!错误原因:无法提交重复订单!"); case "-1": return("充值失败!错误原因:非法访问的IP!"); case "-4": return("充值失败!错误原因:未知错误!"); case "-102": return("充值失败!错误原因:游戏无响应!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 九龙朝充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("sid=" + gs.ServerNo + "&uid=" + gu.UserName + "&oid=" + OrderNo + "&money=" + order.PayMoney + "&gold=" + PayGold + "&time=" + tstamp + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?sid=" + gs.ServerNo + "&uid=" + gu.UserName + "&oid=" + OrderNo + "&money=" + order.PayMoney + "&gold=" + PayGold + "&time=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "-10": return("充值失败!错误原因:服务器编号错误或者不存在!"); case "-11": return("充值失败!错误原因:无效的玩家账号!"); case "-12": return("充值失败!错误原因:无法提交重复订单!"); case "-14": return("充值失败!错误原因:无效时间戳!"); case "-15": return("充值失败!错误原因:充值金额错误!"); case "-16": return("充值失败!错误原因:虚拟币数量错误!"); case "-17": return("充值失败!错误原因:校验码错误!"); case "-18": return("充值失败!错误原因:其他错误!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 天界充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要登录的服务器 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 Auth = gc.AgentId + OrderNo.Substring(0, 19) + gu.UserName + "212" + gs.ServerNo + order.PayMoney + PayGold; Sign = DESEncrypt.Md5(Auth + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "jointoppay/?pid=" + gc.AgentId + "&order_id=" + OrderNo.Substring(0, 19) + "&uid=" + gu.UserName + "&gid=" + "212" + "&sid=" + gs.ServerNo + "&order_amount=" + order.PayMoney + "&point=" + PayGold + "&money=" + order.PayMoney + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值返回结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "-10": return("充值失败!无效服务器编号!"); case "-11": return("充值失败!无效玩家帐号!"); case "-12": return("充值失败!无法提交重复订单!"); case "-14": return("充值失败!无效时间戳!"); case "-15": return("充值失败!冲值金额错误!"); case "-16": return("充值失败!充值元宝数错误!"); case "-17": return("充值失败!校验码错误!"); case "-18": return("充值失败!非法的访问IP!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 猎魔充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gc.AgentId + "|" + gu.Id + "|1233|" + gs.ServerNo + "|" + order.PayMoney + "|" + tstamp + "|" + OrderNo + "|" + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?site=" + gc.AgentId + "&uid=" + gu.Id + "&game=1233&num=" + gs.ServerNo + "&money=" + order.PayMoney + "&time=" + tstamp + "&orderId=" + OrderNo + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 string[] b = PayResult.Replace("[", "").Replace("]", "").Split(','); if (b[0] == "1") { if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } } else { switch (b[1]) { case "1": return("充值失败!错误原因:站点不存在!"); case "2": return("充值失败!错误原因:验证错误!"); case "3": return("充值失败!错误原因:服务器不存在!"); case "4": return("充值失败!错误原因:服务器未开启!"); case "5": return("充值失败!错误原因:服务器维护中!"); case "6": return("充值失败!错误原因:金额错误!"); case "7": return("充值失败!错误原因:角色不存在!"); case "8": return("充值失败!错误原因:数据库错误!"); case "9": return("充值失败!错误原因:卡类型错误!"); case "10": return("充值失败!错误原因:角色不存在!"); case "11": return("充值失败!错误原因:卡已发完!"); case "12": return("充值失败!错误原因:IP限制!"); case "13": return("充值失败!错误原因:游戏不存在!"); case "255": return("充值失败!错误原因:未知错误!"); default: return("充值失败!未知错误!"); } } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 武尊充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回订单结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("7" + gc.AgentId + gs.QuFu + gu.Id + gu.UserName + OrderNo + order.PayMoney + tstamp + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gc.PayCom + "?orderid=" + OrderNo + "&partnerid=" + gc.AgentId + "&gameid=7&sid=" + gs.QuFu + "&userid=" + gu.Id + "&username="******"&actorid=&actorname=&money=" + order.PayMoney + "&time=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "2": return("充值失败!错误原因:缺少参数!"); case "3": return("充值失败!错误原因:验证失败!"); case "4": return("充值失败!错误原因:非法的访问IP!"); case "5": return("充值失败!错误原因:合作方不存在!"); case "6": return("充值失败!错误原因:充值的游戏不存在!"); case "7": return("充值失败!错误原因:游戏未登记!"); case "8": return("充值失败!错误原因:游戏服务器未登记!"); case "9": return("充值失败!错误原因:合作商未开启!"); case "10": return("充值失败!错误原因:游戏未开启!"); case "11": return("充值失败!错误原因:游戏服务器未开启!"); case "12": return("充值失败!错误原因:充值金额不对!"); case "13": return("充值失败!错误原因:游戏币金额不对!"); case "14": return("充值失败!错误原因:游戏未创建!"); case "15": return("充值失败!错误原因:请求超时!"); case "-1": return("充值失败!错误原因:玩家角色不存在!"); case "-2": return("充值失败!错误原因:无法提交重复的订单号!"); case "-3": return("充值失败!错误原因:游戏签名失败!"); case "-4": return("充值失败!错误原因:游戏非法的访问IP!"); case "-5": return("充值失败!错误原因:游戏缺少参数!"); case "-6": return("充值失败!错误原因:充值失败!"); case "-7": return("充值失败!错误原因:充值异常!"); case "-8": return("充值失败!错误原因:游戏请求超时!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 封天传充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("[" + gc.PayTicket + gu.UserName + "1" + order.PayMoney + tstamp + "]", 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?userName="******"&goodsId=1&num=" + order.PayMoney + "&time=" + tstamp + "&sign=" + Sign + "&orderId=" + OrderNo + "&source=tt&serverId=" + gs.ServerNo; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { try { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "0": return("充值失败!错误原因:充值失败!"); case "2": return("充值失败!错误原因:无法提交重复订单!"); default: return("充值失败!未知错误!"); } } catch (Exception) { return("充值失败!错误原因:充值失败!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(OrderNo + gu.UserName + PayGold + tstamp + gc.PayTicket, 32); //获取验证参数 string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?p=" + OrderNo + "|" + gu.UserName + "|" + PayGold + "|" + tstamp + "|" + Sign + "|" + order.PayMoney + "|" + gs.ServerNo; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 XmlDocument MyXml = new XmlDocument(); MyXml.LoadXml(PayResult); XmlNode ShowList = MyXml.DocumentElement; switch (ShowList.InnerText) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值成功!发生错误:更新订单状态失败!"); } case "2": return("充值失败!错误原因:无法提交重复订单!"); case "-1": return("充值失败!错误原因:参数不正确!"); case "-2": return("充值失败!错误原因:验证失败!"); case "-3": return("充值失败!错误原因:用户不存在!"); case "-4": return("充值失败!错误原因:请求超时!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 一剑轩辕充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(gu.UserName + "|" + tstamp + "|" + PayGold + "|" + gs.QuFu + "|" + gc.PayTicket, 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?accname=" + gu.UserName + "&paytime=" + tstamp + "&gold=" + PayGold + "&billno=" + OrderNo + "&serverid=" + gs.QuFu + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 Dictionary <string, string> PRE = Json.JsonToArray(PayResult); switch (PRE["ret"]) //对充值结果进行解析 { case "0": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "1": return("充值失败!错误原因:角色不存在!"); case "2": return("充值失败!错误原因:无法提交重复订单!"); case "3": return("充值失败!错误原因:验证失败!"); case "4": return("充值失败!错误原因:参数错误!"); case "5": return("充值失败!错误原因:非法Ip!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!角色不存在!"); } } else { return("充值失败!用户不存在!"); } }
/// <summary> /// 楚汉传奇充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("from=" + gc.AgentId + "game=chuhan" + "server=" + gs.ServerNo + "user_id=" + gu.UserName + "amount=" + order.PayMoney * 100 + "order_number=" + OrderNo + "t=" + tstamp + "transfer_secret_signature=" + gc.PayTicket, 32); string PayUrl = "http://" + gc.PayCom + "?from=" + gc.AgentId + "&game=chuhan&server=" + gs.ServerNo + "&user_id=" + gu.UserName + "&amount=" + order.PayMoney * 100 + "&order_number=" + OrderNo + "&t=" + tstamp + "&signature=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { try { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 PayResult = PayResult.Substring(0, PayResult.IndexOf('}')); //处理充值结果 PayResult = PayResult.Replace(PayResult.Substring(0, PayResult.LastIndexOf('{') + 1), ""); string[] b = PayResult.Split(','); if (b[2] == "\"status\":1") { if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } } else { switch (b[0]) { case "\"status\":1": case "\"status\":-6": return("充值失败!错误原因:充值失败!"); case "\"status\":-93": return("充值失败!错误原因:签名错误!"); default: return("充值失败!未知错误!"); } } } catch (Exception) { return("充值失败!错误原因:充值失败!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 获取用户是否存在 /// </summary> /// <param name="UserName">用户名</param> /// <returns>返回是否存在</returns> public Boolean IsGameUser(string UserName) { return(gus.IsGameUser(UserName)); }
/// <summary> /// 太古遮天充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5(OrderNo + gu.UserName + PayGold + tstamp + gc.PayTicket + gc.AgentId + gs.QuFu + order.PayMoney, 32); string PayUrl = "http://" + gc.PayCom + "/api/v1/mc/pay.php?order=" + OrderNo + "&username="******"&money=" + order.PayMoney + "&gold=" + PayGold + "&time=" + tstamp + "&flag=" + Sign + "&server=" + gs.QuFu + "&agentName=" + gc.AgentId + "&moneyType=1"; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { try { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "2": return("充值失败!错误原因:该订单已提交,请勿重复提交!"); case "-1": return("充值失败!错误原因:参数错误!"); case "-2": return("充值失败!错误原因:验证失败!"); case "-3": return("充值失败!错误原因:账号不存在!"); case "-4": return("充值失败!错误原因:请求超时!"); case "-5": return("充值失败!错误原因:非法访问IP!"); case "-6": return("充值失败!错误原因:其他未知错误!"); default: return("充值失败!未知错误!"); } } catch (Exception) { return("充值失败!错误原因:充值失败!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 烈焰充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("ly" + gc.AgentId + gs.ServerNo + gu.UserName + OrderNo + order.PayMoney + PayGold + tstamp + gc.PayTicket, 32).ToUpper(); string PayUrl = "http://" + gc.PayCom + "?game=ly&agent=" + gc.AgentId + "&user="******"&order=" + OrderNo + "&money=" + order.PayMoney + "&coin=" + PayGold + "&server=" + gs.ServerNo + "&time=" + tstamp + "&sign=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "0": return("充值失败!参数不正确!"); case "2": return("充值失败!合作方不存在!"); case "3": return("充值失败!金额有误!"); case "4": return("充值失败!不存在的服务器!"); case "5": return("充值失败!验证失败!"); case "6": return("充值失败!充值游戏不存在!"); case "7": return("充值失败!玩家角色不存在!"); case "8": return("充值失败!时间超时(大于5分钟)!"); case "9": return("充值失败!请求过于频繁!"); case "-7": return("充值失败!无法提交相同订单!"); case "-1": return("充值失败!非法的访问IP!"); case "-4": return("充值失败!验证失败!"); case "-102": return("充值失败!充值异常,游戏方无响应!"); case "-103": return("充值失败!充值异常,充值接口异常!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return("充值失败!错误原因:不存在角色!"); } } else { return("充值失败!错误原因:用户不存在"); } }
/// <summary> /// 斗破乾坤充值接口 /// </summary> /// <param name="OrderNo">订单号</param> /// <returns>返回充值结果</returns> public string Pay(string OrderNo) { order = os.GetOrder(OrderNo); //获取用户的充值订单 gu = gus.GetGameUser(order.UserName); //获取充值用户 gs = gss.GetGameServer(order.ServerId); //获取用户要充值的服务器 string PayGold = (order.PayMoney * game.GameMoneyScale).ToString(); //计算支付的游戏币 if (gus.IsGameUser(gu.UserName)) //判断用户是否属于平台 { tstamp = Utils.GetTimeSpan(); //获取时间戳 Sign = DESEncrypt.Md5("account=" + gu.UserName + "&agent=" + gc.AgentId + "&amount=" + PayGold + "&order=" + OrderNo + "&price=" + order.PayMoney + "&serverid=" + gs.ServerNo + "&time=" + tstamp + "&" + gc.PayTicket, 32); string PayUrl = "http://" + gs.ServerNo + "." + gc.PayCom + "?account=" + gu.UserName + "&agent=" + gc.AgentId + "&amount=" + PayGold + "&order=" + OrderNo + "&price=" + order.PayMoney + "&serverid=" + gs.ServerNo + "&time=" + tstamp + "&token=" + Sign; GameUserInfo gui = Sel(gu.Id, gs.Id); //获取玩家查询信息 if (gui.Message == "Success") //判断玩家是否存在 { if (order.State == 1) //判断订单状态是否为支付状态 { string PayResult = Utils.GetWebPageContent(PayUrl); //获取充值结果 switch (PayResult) //对充值结果进行解析 { case "1": if (os.UpdateOrder(order.OrderNo)) //更新订单状态为已完成 { gus.UpdateGameMoney(gu.UserName, order.PayMoney); //跟新玩家游戏消费情况 return("充值成功!"); } else { return("充值失败!错误原因:更新订单状态失败!"); } case "-102": return("充值失败!验证参数错误!"); case "-201": return("充值失败!角色不存在!"); case "-207": return("充值失败!账号不存在!"); case "-300": return("充值失败!金额有误!"); case "-301": return("充值失败!无效订单!"); case "-302": return("充值失败!无非提交重复订单!"); case "-303": return("充值失败!充值接口已关闭!"); case "-304": return("充值失败!IP限制!"); default: return("充值失败!未知错误!"); } } else { return("充值失败!错误原因:无法提交未支付订单!"); } } else { return(gui.Message); } } else { return("充值失败!用户不存在!"); } }