protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p1_MerId"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r0_Cmd"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r1_Code"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r2_TrxId"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r3_Amt"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r4_Cur"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r5_Pid"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r6_Order"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r7_Uid"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r8_MP"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r9_BType"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("rp_PayDate"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { if (result.R9_BType == "1") { // 写充值记录 ShareDetialInfo detailInfo = new ShareDetialInfo(); detailInfo.OrderID = result.R6_Order; detailInfo.IPAddress = Utility.UserIP; detailInfo.PayAmount = decimal.Parse(result.R3_Amt); Message msg = treasureFacade.FilliedOnline(detailInfo, 0); // 下面的错误提示和成功提示要POST出去。这个判断力。用户访问不到,充值成功与否都得给用户提示。 // 卡密的页面也是如此。都要想办法给用户展示,最好这个页面影藏显示去。别给用户看。 // 你们测试的时候自己看下。 if (!msg.Success) { Response.Redirect("/WiteCard.html?OID=" + result.R6_Order); Response.End(); } else { Response.Redirect("/WiteCard.html?OID=" + result.R6_Order); } // callback方式:浏览器重定向 // Response.Write("支付成功!<br>商品ID:" + result.R5_Pid + "<br>商户订单号:" + result.R6_Order + "<br>支付金额:" + result.R3_Amt + "<br>易宝支付交易流水号:" + result.R2_TrxId + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 // 这里用户可以看见。想办法不要用户看见。但这句绝对不能取消 Response.Write("SUCCESS"); ShareDetialInfo detailInfo = new ShareDetialInfo(); detailInfo.OrderID = result.R6_Order; detailInfo.IPAddress = Utility.UserIP; detailInfo.PayAmount = decimal.Parse(result.R3_Amt); treasureFacade.FilliedOnline(detailInfo, 0); Response.Redirect("/WiteCard.html?OID=" + result.R6_Order); } } else { Response.Write("支付失败!请重试<a href='/'>点击返回</a>"); } } else { Response.Write("交易签名无效!请重试<a href='/pay/payIndex.aspx'>点击返回</a>"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { if (result.R9_BType == "1") { // callback方式:浏览器重定向 Response.Write("支付成功!<br>商品ID:" + result.R5_Pid + "<br>商户订单号:" + result.R6_Order + "<br>支付金额:" + result.R3_Amt + "<br>易宝支付交易流水号:" + result.R2_TrxId + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } } else { Response.Write("支付失败!"); } } else { Response.Write("交易签名无效!"); } } }
/// <summary> /// 获取支付成功返回信息 /// </summary> /// <param name="p1_MerId">商户编号</param> /// <param name="keyValue">商户密钥</param> /// <returns></returns> private BuyCallbackResult GetPayResult() { BuyCallbackResult payResult = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), keyValue, FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); return(payResult); }
/// <summary> /// /// </summary> public void Return() { string opstate = "-1"; int status = 4; BuyCallbackResult result = Buy.VerifyCallback(SuppAccount , SuppKey , FormatQueryString.GetQueryString("r0_Cmd") , FormatQueryString.GetQueryString("r1_Code") , FormatQueryString.GetQueryString("r2_TrxId") , FormatQueryString.GetQueryString("r3_Amt") , FormatQueryString.GetQueryString("r4_Cur") , FormatQueryString.GetQueryString("r5_Pid") , FormatQueryString.GetQueryString("r6_Order") , FormatQueryString.GetQueryString("r7_Uid") , FormatQueryString.GetQueryString("r8_MP") , FormatQueryString.GetQueryString("r9_BType") , FormatQueryString.GetQueryString("rp_PayDate") , FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { string msg = "支付失败"; if (result.R1_Code == "1") { msg = "支付成功"; opstate = "0"; status = 2; } decimal tranAmt = 0M; decimal.TryParse(result.R3_Amt, out tranAmt); if (result.R9_BType == "1") { OrderBankUtils.SuppPageReturn(SuppId , result.R6_Order , result.R2_TrxId , status , opstate , msg , tranAmt, 0M); } else if ((result.R9_BType == "2") || (result.R9_BType == "3")) { OrderBankUtils.SuppNotify(SuppId , result.R6_Order , result.R2_TrxId , status , opstate , msg , tranAmt, tranAmt , Succflag , Failflag); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //p1_MerId = "10000432521"; // 商家ID //keyValue = "8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"; // 商家密钥 p1_MerId = StringConfig.YeepayMerID; // 商家ID keyValue = StringConfig.YeepayKey; // 商家密钥 // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, Buy.GetQueryString("r0_Cmd"), Buy.GetQueryString("r1_Code"), Buy.GetQueryString("r2_TrxId"), Buy.GetQueryString("r3_Amt"), Buy.GetQueryString("r4_Cur"), Buy.GetQueryString("r5_Pid"), Buy.GetQueryString("r6_Order"), Buy.GetQueryString("r7_Uid"), Buy.GetQueryString("r8_MP"), Buy.GetQueryString("r9_BType"), Buy.GetQueryString("rp_PayDate"), Buy.GetQueryString("hmac")); PayOrderID = result.R6_Order; PayMoney = result.R3_Amt; if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { if (result.R9_BType == "1") { // callback方式:浏览器重定向 UpdateDB(result); PayResult = "恭喜您,充值成功!"; //Response.Write("支付成功!<br />充值金额:" + result.R5_Pid + "<br />支付金额:" + result.R3_Amt + "<br><a href='/Manage/' title='返回会员中心'>返回会员中心</a>"); } else if (result.R9_BType == "2") { UpdateDB(result); // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } else if (result.R9_BType == "3") { UpdateDB(result); // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } } else { PayResult = "充值失败!"; } } else { PayResult = "交易签名无效!"; } } }
private void UpdateDB(BuyCallbackResult result) { if (result == null) { return; } //订单流水号 string Orderid = result.R6_Order; //支付金额 string payAmount = result.R3_Amt; BLL.Member member = new BLL.Member(); //金币充值 if (result.R8_MP == "0") { if (!member.IsPaySuccess(Orderid)) //防止重复刷新页面而带来的问题 { //更新订单信息为完成状态 if (Orderid.ToLower().Contains("ka")) { member.Update3PayOrder2((int)(float.Parse(payAmount)), Orderid); } else { member.Update3PayOrder((int)(float.Parse(payAmount)), Orderid); } } } else//积分充值 { if (!member.IsPaySuccess2(Orderid)) //防止重复刷新页面而带来的问题 { //更新订单信息为完成状态 if (Orderid.ToLower().Contains("ka"))//点卡 { member.UpdatePayPointOrder((int)(float.Parse(payAmount)), Orderid, 1); } else { member.UpdatePayPointOrder((int)(float.Parse(payAmount)), Orderid, 0); } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { p1_MerId = "10000432521"; // 商家ID keyValue = "8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"; // 商家密钥 //Buy.NodeAuthorizationURL = @"https://www.yeepay.com/app-merchant-proxy/node"; // 设置请求地址 // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, Buy.GetQueryString("r0_Cmd"), Buy.GetQueryString("r1_Code"), Buy.GetQueryString("r2_TrxId"), Buy.GetQueryString("r3_Amt"), Buy.GetQueryString("r4_Cur"), Buy.GetQueryString("r5_Pid"), Buy.GetQueryString("r6_Order"), Buy.GetQueryString("r7_Uid"), Buy.GetQueryString("r8_MP"), Buy.GetQueryString("r9_BType"), Buy.GetQueryString("rp_PayDate"), Buy.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { if (result.R9_BType == "1") { // callback方式:浏览器重定向 Response.Write("支付成功!<br>商品ID:" + result.R5_Pid + "<br>商户订单号:" + result.R6_Order + "<br>支付金额:" + result.R3_Amt + "<br>易宝支付交易流水号:" + result.R2_TrxId + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } else if (result.R9_BType == "3") { // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } } else { Response.Write("支付失败!"); } } else { Response.Write("交易签名无效!"); } } }
private void UpdateDB(BuyCallbackResult result) { if (result == null) { return; } //订单流水号 string Orderid = result.R6_Order; //支付金额 string payAmount = result.R3_Amt; BLL.Member member = new BLL.Member(); if (!member.IsPaySuccess(Orderid)) //防止重复刷新页面而带来的问题 { //更新订单信息为完成状态 member.Update3PayOrder((int)(float.Parse(payAmount)), Orderid); } }
/// <summary> /// 获取支付成功返回信息 /// </summary> /// <param name="actionData"></param> /// <param name="actionMsg"></param> /// <returns></returns> public WKT.Model.FinancePayDetailEntity GetPayResult(Action <String> actionMsg) { BuyCallbackResult result = GetPayResult(); if (!string.IsNullOrEmpty(result.ErrMsg)) { actionMsg("交易签名无效!"); return(null); } if (result.R1_Code.Equals("1")) { actionMsg("支付成功!"); WKT.Model.FinancePayDetailEntity model = new Model.FinancePayDetailEntity(); //model.BankID = result.R6_Order; model.TransactionID = result.R2_TrxId; model.Currency = result.R4_Cur; model.TotalFee = Convert.ToDecimal(result.R3_Amt); model.IsInCome = 1; model.PayStatus = 1; model.UserAccount = ""; model.BankID = FormatQueryString.GetQueryString("rb_BankId"); model.BankNo = FormatQueryString.GetQueryString("ro_BankOrderId"); string[] arrMP = result.R8_MP.Split(','); model.PayType = arrMP[0].TryParse <Byte>(); model.ProductTable = arrMP[1]; model.ProductID = arrMP[2]; model.ProductDes = arrMP[3]; model.NoticeID = arrMP[4].TryParse <Int64>(); return(model); } else { actionMsg("支付失败!"); return(null); } }
protected void Page_Load(object sender, EventArgs e) { Buy.LogFileName = "c:/YeePay_HTML.txt"; if (!base.IsPostBack) { p1_MerId = this.so["OnlinePay_YeePay_UserNumber"].Value.ToString(); keyValue = this.so["OnlinePay_YeePay_MD5Key"].Value.ToString(); Buy.NodeAuthorizationURL = Utility.GetUrl() + "/Home/Room/OnlinePay/YeePay/Receive.aspx"; try { this.r0_Cmd = base.Request["r0_Cmd"].ToString().Trim(); this.r1_Code = base.Request["r1_Code"].ToString().Trim(); this.r2_TrxId = base.Request["r2_TrxId"].ToString().Trim(); this.r3_Amt = base.Request["r3_Amt"].ToString().Trim(); this.r4_Cur = base.Request["r4_Cur"].ToString().Trim(); this.r5_Pid = base.Request["r5_Pid"].ToString().Trim(); this.r6_Order = base.Request["r6_Order"].ToString().Trim(); this.r7_Uid = base.Request["r7_Uid"].ToString().Trim(); this.r8_MP = base.Request["r8_MP"].ToString().Trim(); this.r9_BType = base.Request["r9_BType"].ToString().Trim(); this.rp_PayDate = base.Request["rp_PayDate"].ToString().Trim(); this.hmac = base.Request["hmac"].ToString().Trim(); } catch { PF.GoError("YeePay_Receive", 0x65, "支付参数获取错误", "Home_Room_OnlinePay_YeePay_Receive"); return; } Users thisUser = new Users(base._Site.ID)[base._Site.ID, _Convert.StrToLong(Encrypt.UnEncryptString(PF.GetCallCert(), this.r8_MP), 0L)]; if ((thisUser != null) && (thisUser.ID == base._User.ID)) { BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, this.r0_Cmd, this.r1_Code, this.r2_TrxId, this.r3_Amt, this.r4_Cur, this.r5_Pid, this.r6_Order, this.r7_Uid, this.r8_MP, this.r9_BType, this.rp_PayDate, this.hmac); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code != "1") { new Log("OnlinePay").Write("易宝支付失败!"); } else { bool flag = this.WriteUserAccount(thisUser, this.r6_Order, _Convert.StrToDouble(result.R3_Amt, 0.0), "易宝支付:订单号:" + result.R6_Order + ",支付金额:" + result.R3_Amt); if (result.R9_BType == "1") { if (flag) { base.Response.Redirect(Utility.GetUrl() + "/Home/Room/OnlinePay/OK.aspx"); } else { base.Response.Redirect(Utility.GetUrl() + "/Home/Room/OnlinePay/Fail.aspx"); } } else if (result.R9_BType == "2") { base.Response.Write("SUCCESS"); if (flag) { base.Response.Redirect(Utility.GetUrl() + "/Home/Room/OnlinePay/OK.aspx"); } else { base.Response.Redirect(Utility.GetUrl() + "/Home/Room/OnlinePay/Fail.aspx"); } } } } else { new Log("OnlinePay").Write("交易签名无效" + result.ErrMsg); } } else { new Log("OnlinePay").Write("用户帐号信息不匹配!"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 校验返回数据包 Buy.logstr(FormatQueryString.GetQueryString("r6_Order"), Request.Url.Query, ""); BuyCallbackResult result = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { //在接收到支付结果通知后,判断是否进行过业务逻辑处理,不要重复进行业务逻辑处理 if (result.R1_Code == "1") { Response.Write("SUCCESS"); if (result.R9_BType == "1") { // callback方式:浏览器重定向 Response.Write("支付成功!" + "<br>接口类型:" + result.R0_Cmd + "<br>返回码:" + result.R1_Code + //"<br>商户号:" + result.P1_MerId + "<br>交易流水号:" + result.R2_TrxId + "<br>商户订单号:" + result.R6_Order + "<br>交易金额:" + result.R3_Amt + "<br>交易币种:" + result.R4_Cur + "<br>订单完成时间:" + result.Rp_PayDate + "<br>回调方式:" + result.R9_BType + "<br>错误信息:" + result.ErrMsg + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("支付成功!" + "<br>接口类型:" + result.R0_Cmd + "<br>返回码:" + result.R1_Code + //"<br>商户号:" + result.P1_MerId + "<br>交易流水号:" + result.R2_TrxId + "<br>商户订单号:" + result.R6_Order + "<br>交易金额:" + result.R3_Amt + "<br>交易币种:" + result.R4_Cur + "<br>订单完成时间:" + result.Rp_PayDate + "<br>回调方式:" + result.R9_BType + "<br>错误信息:" + result.ErrMsg + "<BR>"); } } else { Response.Write("支付失败!" + "<br>接口类型:" + result.R0_Cmd + "<br>返回码:" + result.R1_Code + //"<br>商户号:" + result.P1_MerId + "<br>交易流水号:" + result.R2_TrxId + "<br>商户订单号:" + result.R6_Order + "<br>交易金额:" + result.R3_Amt + "<br>交易币种:" + result.R4_Cur + "<br>订单完成时间:" + result.Rp_PayDate + "<br>回调方式:" + result.R9_BType + "<br>错误信息:" + result.ErrMsg + "<BR>"); } } else { Response.Write("交易签名无效!"); } } }
protected void Page_Load(object sender, EventArgs e) { //设置 log 文件地址 Buy.LogFileName = "c:/YeePay_HTML.txt"; if (!IsPostBack) { p1_MerId = so["OnlinePay_YeePay_UserNumber"].Value.ToString(); //"10000432521"; // 商家ID keyValue = so["OnlinePay_YeePay_MD5Key"].Value.ToString(); //"8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"; // 商家密钥 Buy.NodeAuthorizationURL = Shove._Web.Utility.GetUrl() + "/Home/Room/OnlinePay/YeePay/Receive.aspx"; //@"https://www.yeepay.com/app-merchant-proxy/node"; // 设置请求地址 # region 获取易宝支付成功后的请求信息 try { r0_Cmd = Request["r0_Cmd"].ToString().Trim(); r1_Code = Request["r1_Code"].ToString().Trim(); r2_TrxId = Request["r2_TrxId"].ToString().Trim(); r3_Amt = Request["r3_Amt"].ToString().Trim(); r4_Cur = Request["r4_Cur"].ToString().Trim(); r5_Pid = Request["r5_Pid"].ToString().Trim(); r6_Order = Request["r6_Order"].ToString().Trim(); r7_Uid = Request["r7_Uid"].ToString().Trim(); r8_MP = Request["r8_MP"].ToString().Trim(); r9_BType = Request["r9_BType"].ToString().Trim(); rp_PayDate = Request["rp_PayDate"].ToString().Trim(); hmac = Request["hmac"].ToString().Trim(); } catch { PF.GoError("YeePay_Receive", 101, "支付参数获取错误", "Home_Room_OnlinePay_YeePay_Receive"); return; } #endregion Users user = new Users(_Site.ID)[_Site.ID, Shove._Convert.StrToLong(Shove._Security.Encrypt.UnEncryptString(PF.GetCallCert(), r8_MP), 0)]; //校验用户信息 if (user == null || user.ID != _User.ID) { new Log("OnlinePay").Write("用户帐号信息不匹配!"); return; } // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r7_Uid, r8_MP, r9_BType, rp_PayDate, hmac); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { bool isPaySuccess = WriteUserAccount(user, r6_Order, Shove._Convert.StrToDouble(result.R3_Amt, 0), "易宝支付:订单号:" + result.R6_Order + ",支付金额:" + result.R3_Amt); if (result.R9_BType == "1") { if (isPaySuccess) { Response.Redirect(Shove._Web.Utility.GetUrl() + "/Home/Room/OnlinePay/OK.aspx"); } //else //{ // Response.Redirect(Shove._Web.Utility.GetUrl() + "/Home/Room/OnlinePay/Fail.aspx"); //} } else if (result.R9_BType == "2") { // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } } else { new Log("OnlinePay").Write("易宝支付失败!"); } } else { new Log("OnlinePay").Write("交易签名无效" + result.ErrMsg); } }
public static string YeePaySubmit() { string sRes = string.Empty; // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, Buy.GetQueryString("r0_Cmd"), Buy.GetQueryString("r1_Code"), Buy.GetQueryString("r2_TrxId"), Buy.GetQueryString("r3_Amt"), Buy.GetQueryString("r4_Cur"), Buy.GetQueryString("r5_Pid"), Buy.GetQueryString("r6_Order"), Buy.GetQueryString("r7_Uid"), Buy.GetQueryString("r8_MP"), Buy.GetQueryString("r9_BType"), Buy.GetQueryString("rp_PayDate"), Buy.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) //校验返回数据包成功 { StringBuilder sbText = new StringBuilder(); if (result.R1_Code == "1") //返回充值成功的标识 { if (result.R9_BType == "1") //返回方式1:浏览器重定向方式 { string sTranID = result.R6_Order; decimal dPrice = decimal.Parse(result.R3_Amt); string sAccount = result.R8_MP; int iResNum = TransPBLL.PointSalesCommit(sTranID, sAccount, dPrice); if (0 == iResNum) { sbText.Append("1|"); sbText.Append(result.R6_Order); sRes = sbText.ToString(); } else { if (6 == iResNum) { sbText.Append("1|"); sbText.Append(result.R6_Order); sRes = sbText.ToString(); } else { sbText.Append("2|"); sbText.Append(result.R6_Order); sRes = sbText.ToString(); } } } else if (result.R9_BType == "2") { int iRes = TransPBLL.PointSalesCommit(result.R6_Order, result.R8_MP, decimal.Parse(result.R3_Amt)); sRes = "4"; } else if (result.R9_BType == "3") { sRes = "4"; } } else { sbText.Append("0|"); sbText.Append(result.R1_Code); sRes = sbText.ToString(); } } else { sRes = "0|valerr"; } return(sRes); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { //写易宝记录 ReturnYPDetailInfo resultYB = new ReturnYPDetailInfo(); resultYB.P1_MerId = FormatQueryString.GetQueryString("p1_MerId"); resultYB.R0_Cmd = FormatQueryString.GetQueryString("r0_Cmd"); resultYB.R1_Code = FormatQueryString.GetQueryString("r1_Code"); resultYB.R2_TrxId = FormatQueryString.GetQueryString("r2_TrxId"); resultYB.R3_Amt = Convert.ToDecimal(FormatQueryString.GetQueryString("r3_Amt")); resultYB.R4_Cur = FormatQueryString.GetQueryString("r4_Cur"); resultYB.R5_Pid = FormatQueryString.GetQueryString("r5_Pid"); resultYB.R6_Order = FormatQueryString.GetQueryString("r6_Order"); resultYB.R7_Uid = FormatQueryString.GetQueryString("r7_Uid"); resultYB.R8_MP = FormatQueryString.GetQueryString("r8_MP"); resultYB.R9_BType = FormatQueryString.GetQueryString("r9_BType"); resultYB.Rb_BankId = FormatQueryString.GetQueryString("rb_BankId"); resultYB.Ro_BankOrderId = FormatQueryString.GetQueryString("ro_BankOrderId"); resultYB.Rp_PayDate = FormatQueryString.GetQueryString("rp_PayDate"); resultYB.Rq_CardNo = FormatQueryString.GetQueryString("rq_CardNo"); resultYB.Ru_Trxtime = FormatQueryString.GetQueryString("ru_Trxtime"); resultYB.Hmac = FormatQueryString.GetQueryString("hmac"); treasureFacade.WriteReturnYBDetail(resultYB); if (result.R1_Code == "1") { if (result.R9_BType == "1") { // 写充值记录 ShareDetialInfo detailInfo = new ShareDetialInfo(); detailInfo.OrderID = resultYB.R6_Order; detailInfo.IPAddress = Utility.UserIP; detailInfo.PayAmount = resultYB.R3_Amt; treasureFacade.FilliedOnline(detailInfo, 0); // callback方式:浏览器重定向 Response.Write("支付成功!<br>商品ID:" + result.R5_Pid + "<br>商户订单号:" + result.R6_Order + "<br>支付金额:" + result.R3_Amt + "<br>易宝支付交易流水号:" + result.R2_TrxId + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } } else { Response.Write("支付失败!"); } } else { Response.Write("交易签名无效!"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 校验返回数据包 Buy.logstr(FormatQueryString.GetQueryString("r6_Order"), Request.Url.Query, ""); BuyCallbackResult result = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { //在接收到支付结果通知后,判断是否进行过业务逻辑处理,不要重复进行业务逻辑处理 if (result.R1_Code == "1") { if (result.R9_BType == "1") { Request.Cookies.Remove("ErrorMsg"); Response.Redirect("/showPayInfo.html"); // callback方式:浏览器重定向 // Response.Write("支付成功!" + // "<br>接口类型:" + result.R0_Cmd + // "<br>返回码:" + result.R1_Code + //"<br>商户号:" + result.P1_MerId + // "<br>交易流水号:" + result.R2_TrxId + // "<br>商户订单号:" + result.R6_Order + // "<br>交易金额:" + result.R3_Amt + // "<br>交易币种:" + result.R4_Cur + // "<br>订单完成时间:" + result.Rp_PayDate + // "<br>回调方式:" + result.R9_BType + // "<br>错误信息:" + result.ErrMsg + "<BR>"); } else if (result.R9_BType == "2") { // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); ShareDetialInfo detailInfo = new ShareDetialInfo(); detailInfo.OrderID = result.R6_Order; detailInfo.IPAddress = Utility.UserIP; detailInfo.PayAmount = decimal.Parse(result.R3_Amt); treasureFacade.FilliedOnline(detailInfo, 0); } } else { HttpCookie UserCookie2 = new HttpCookie("ErrorMsg"); UserCookie2["error"] = HttpUtility.UrlEncode(result.ErrMsg); UserCookie2.Expires = DateTime.Now.AddMinutes(7); Response.Cookies.Add(UserCookie2); Response.Redirect("/showPayInfo.html"); } } else { HttpCookie UserCookie2 = new HttpCookie("ErrorMsg"); UserCookie2["error"] = HttpUtility.UrlEncode("交易签名无效"); UserCookie2.Expires = DateTime.Now.AddMinutes(7); Response.Cookies.Add(UserCookie2); Response.Redirect("/showPayInfo.html"); } } }
public static string QuickYeePaySubmit() { string sRes = string.Empty; // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, Buy.GetQueryString("r0_Cmd"), Buy.GetQueryString("r1_Code"), Buy.GetQueryString("r2_TrxId"), Buy.GetQueryString("r3_Amt"), Buy.GetQueryString("r4_Cur"), Buy.GetQueryString("r5_Pid"), Buy.GetQueryString("r6_Order"), Buy.GetQueryString("r7_Uid"), Buy.GetQueryString("r8_MP"), Buy.GetQueryString("r9_BType"), Buy.GetQueryString("rp_PayDate"), Buy.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) //校验返回数据包成功 { StringBuilder sbText = new StringBuilder(); if (result.R1_Code == "1") //返回充值成功的标识 { decimal dPrice = decimal.Parse(result.R3_Amt); int iPrice = Convert.ToInt32(dPrice); string sChannel = string.Empty; switch (Buy.GetQueryString("rb_BankId")) { case "SZX-NET": sChannel = "yp-szx"; break; case "TELECOM-NET": sChannel = "yp-dx"; break; case "UNICOM-NET": sChannel = "yp-lt"; break; case "ZHENGTU-NET": sChannel = "yp-zt"; break; case "SNDACARD-NET": sChannel = "yp-sd"; break; case "JUNNET-NET": sChannel = "yp-jcard"; break; default: sChannel = ""; break; } if (sChannel != "") { dPrice = dPrice * ChannelBLL.FeeScaleSel(sChannel); } if (result.R9_BType == "1") //返回方式1:浏览器重定向方式 { string sPTranID = result.R6_Order; string sAccount = result.R8_MP.Split('|')[0]; string sGame = result.R8_MP.Split('|')[1]; int iResNum = TransPBLL.PointSalesCommit(sPTranID, sAccount, iPrice); string sGTranID = TranQuickBLL.TranQuickGTranIDSel(sPTranID); if (0 == iResNum) { TranQuickBLL.TranQuickUpdateP(sPTranID); string sGTRes = string.Empty; if (sGame.IndexOf("sq") == -1) { sGTRes = PayAll.GameQuickPay(sGame, sAccount, dPrice, sGTranID); } else { string sRoleID = result.R8_MP.Split('|')[2]; sGTRes = PayAll.sqQuickPay(sGame, sAccount, dPrice, sGTranID, sRoleID); } if (sGTRes == "0") { TranQuickBLL.TranQuickUpdateG(sGTranID); sbText.Append("1|"); } else { //游戏冲值失败 sbText.Append("3|"); } sbText.Append(sGTranID); sbText.AppendFormat("|{0}", sGame); sRes = sbText.ToString(); } else { string sQuickState = TranQuickBLL.TransQuickStateSelByP(sPTranID); if (sQuickState == "2") { //游戏充值成功 sbText.Append("1|"); sbText.Append(sGTranID); sbText.AppendFormat("|{0}", sGame); sRes = sbText.ToString(); } else if (sQuickState == "1") { string sGTRes = string.Empty; if (sGame.IndexOf("sq") == -1) { sGTRes = PayAll.GameQuickPay(sGame, sAccount, dPrice, sGTranID); } else { string sRoleID = result.R8_MP.Split('|')[2]; sGTRes = PayAll.sqQuickPay(sGame, sAccount, dPrice, sGTranID, sRoleID); } if (sGTRes == "0") //游戏兑换成功 { TranQuickBLL.TranQuickUpdateG(sGTranID); //游戏充值成功 sbText.Append("1|"); } else { //游戏冲值失败 sbText.Append("3|"); } sbText.Append(sGTranID); sbText.AppendFormat("|{0}", sGame); sRes = sbText.ToString(); } else { sbText.Append("2|"); sbText.Append(sPTranID); sRes = sbText.ToString(); } } } else if (result.R9_BType == "2") { string sAccount = result.R8_MP.Split('|')[0]; string sGame = result.R8_MP.Split('|')[1]; string sPTranID = result.R6_Order; int iRes = TransPBLL.PointSalesCommit(sPTranID, sAccount, iPrice); string sGTranID = TranQuickBLL.TranQuickGTranIDSel(sPTranID); if (iRes == 0) { TranQuickBLL.TranQuickUpdateP(sPTranID); string sGTRes = string.Empty; if (sGame.IndexOf("sq") == -1) { sGTRes = PayAll.GameQuickPay(sGame, sAccount, dPrice, sGTranID); } else { string sRoleID = result.R8_MP.Split('|')[2]; sGTRes = PayAll.sqQuickPay(sGame, sAccount, dPrice, sGTranID, sRoleID); } if (sGTRes == "0") { TranQuickBLL.TranQuickUpdateG(sGTranID); } } sRes = "4"; } else if (result.R9_BType == "3") { sRes = "4"; } } else { sbText.Append("0|"); sbText.Append(result.R1_Code); sRes = sbText.ToString(); } } else { sRes = "0|valerr"; } return(sRes); }
protected void Page_Load(object sender, EventArgs e) { bool res = false; if (!IsPostBack) { //p1_MerId = "10000432521"; // 商家ID //keyValue = "8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"; // 商家密钥 p1_MerId = StringConfig.YeepayMerID; // 商家ID keyValue = StringConfig.YeepayKey; // 商家密钥 // 校验返回数据包 BuyCallbackResult result = Buy.VerifyCallback(p1_MerId, keyValue, Buy.GetQueryString("r0_Cmd"), Buy.GetQueryString("r1_Code"), Buy.GetQueryString("r2_TrxId"), Buy.GetQueryString("r3_Amt"), Buy.GetQueryString("r4_Cur"), Buy.GetQueryString("r5_Pid"), Buy.GetQueryString("r6_Order"), Buy.GetQueryString("r7_Uid"), Buy.GetQueryString("r8_MP"), Buy.GetQueryString("r9_BType"), Buy.GetQueryString("rp_PayDate"), Buy.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { if (result.R1_Code == "1") { if (result.R9_BType == "1") { // callback方式:浏览器重定向 res = true; UpdateDB(result); Response.Write("支付成功!<br />充值金额:" + result.R5_Pid + "<br />支付金额:" + result.R3_Amt + "<br><a href='/Manage/' title='返回会员中心'>返回会员中心</a>"); } else if (result.R9_BType == "2") { res = true; UpdateDB(result); // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } else if (result.R9_BType == "3") { res = true; UpdateDB(result); // * 如果是服务器返回或者电话支付返回(result.R9_BType==2 or result.R9_BType==3)则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串 Response.Write("SUCCESS"); } #region [add] jeffery //if (res) //{ // string r8mp = result.R8_MP; // int pos = r8mp.IndexOf("!@#"); // string username = r8mp.Substring(0, pos); // int couponNum = Convert.ToInt32( // r8mp.Substring(pos + 1) // ); // string strsql = // "select UserID from TUsers where UserName=@username"; // DataTable dt = // SqlHelper.ExecuteDataset(CommandType.Text, // strsql, // new SqlParameter[] // { // new SqlParameter("@username",username) // } // ).Tables[0]; // int userid = Convert.ToInt32(dt.Rows[0]["UserID"]); // strsql = "insert into TCoupon(UserID,CouponNum,RechargeType,CreateTime)values(@userid,@coupon,@rechargeType,@createTime)"; // int num = // SqlHelper.ExecuteNonQuery // (CommandType.Text, // strsql, // new SqlParameter[] // { // new SqlParameter("@userid",userid), // new SqlParameter("@coupon",couponNum), // new SqlParameter("@rechargeType",3), // new SqlParameter("@createTime",DateTime.Now) // }); // if (num != 1) // { // Response.Write("<script>alert('充值成功,但赠送奖劵失败!')</script>"); // } //} #endregion } else { Response.Write("支付失败!"); } } else { Response.Write("交易签名无效!"); } } }
private void UpdateDB(BuyCallbackResult result) { if (result == null) return; //������ˮ�� string Orderid = result.R6_Order; //֧����� string payAmount = result.R3_Amt; BLL.Member member = new BLL.Member(); if (!member.IsPaySuccess(Orderid)) //��ֹ�ظ�ˢ��ҳ������������� { //���¶�����ϢΪ���״̬ member.Update3PayOrder((int)(float.Parse(payAmount)), Orderid); } }
public ActionResult CallBack() { Buy.logstr(FormatQueryString.GetQueryString("r6_Order"), Request.Url.Query, ""); BuyCallbackResult result = Buy.VerifyCallback(FormatQueryString.GetQueryString("p1_MerId"), FormatQueryString.GetQueryString("r0_Cmd"), FormatQueryString.GetQueryString("r1_Code"), FormatQueryString.GetQueryString("r2_TrxId"), FormatQueryString.GetQueryString("r3_Amt"), FormatQueryString.GetQueryString("r4_Cur"), FormatQueryString.GetQueryString("r5_Pid"), FormatQueryString.GetQueryString("r6_Order"), FormatQueryString.GetQueryString("r7_Uid"), FormatQueryString.GetQueryString("r8_MP"), FormatQueryString.GetQueryString("r9_BType"), FormatQueryString.GetQueryString("rp_PayDate"), FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { //在接收到支付结果通知后,判断是否进行过业务逻辑处理,不要重复进行业务逻辑处理 if (result.R1_Code == "1") { order = om.GetOrder(result.R6_Order); if (result.R9_BType == "1") { try { if (order.State == 0) { if (om.UpdateOrder(result.R6_Order)) { result_info = "您的订单:" + result.R6_Order + "已支付成功!"; isok = true; //gu = gum.GetGameUser(order.UserName); #region 返利券暂未开放 //是否使用返利券 //if (order.RebateId > 0) //{ // //返利券暂未开放 //} //else //{ // if (order.ConvertId > 0) // { // // new DAL.convertnum().UpdateField(order.convertid, " state=1,usergettime='" + DateTime.Now.ToString() + "'"); // } // else // { // string scale1 = new DAL.rebatetype().GetRange(order.PayMoney); //获得返利比 // if (!string.IsNullOrEmpty(scale1)) // { // //生成返利券 // Model.rebatenum rebatenum = new Model.rebatenum(); // Random ran = new Random(); // string code5 = ran.Next(10, 99).ToString(); // string no1 = DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond; // rebatenum.no = code5 + no1.Substring(2, no1.Length - 2); // rebatenum.pwd = "000"; // rebatenum.num = int.Parse(scale1); // rebatenum.userid = gu.Id; // rebatenum.typeid = 0; // new DAL.rebatenum().Add(rebatenum); // } // } //} #endregion //根据订单进行充值 result_info = gm.PayManager(result.R6_Order); } else { result_info = "您的订单:" + result.R6_Order + "更新订单状态失败!"; } } else { return(RedirectToAction("Index", "Home")); } } catch (Exception ex) { result_info = "出错啦!" + ex.Message; } } else if (result.R9_BType == "2") { Response.Write("SUCCESS"); try { if (order.State == 0) { if (om.UpdateOrder(result.R6_Order)) { result_info = "您的订单:" + result.R6_Order + "已支付成功!"; isok = true; //gu = gum.GetGameUser(order.UserName); #region 返利券暂未开放 //是否使用返利券 //if (order.RebateId > 0) //{ // //返利券暂未开放 //} //else //{ // if (order.ConvertId > 0) // { // // new DAL.convertnum().UpdateField(order.convertid, " state=1,usergettime='" + DateTime.Now.ToString() + "'"); // } // else // { // string scale1 = new DAL.rebatetype().GetRange(order.PayMoney); //获得返利比 // if (!string.IsNullOrEmpty(scale1)) // { // //生成返利券 // Model.rebatenum rebatenum = new Model.rebatenum(); // Random ran = new Random(); // string code5 = ran.Next(10, 99).ToString(); // string no1 = DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond; // rebatenum.no = code5 + no1.Substring(2, no1.Length - 2); // rebatenum.pwd = "000"; // rebatenum.num = int.Parse(scale1); // rebatenum.userid = gu.Id; // rebatenum.typeid = 0; // new DAL.rebatenum().Add(rebatenum); // } // } //} #endregion //根据订单进行充值 result_info = gm.PayManager(result.R6_Order); } else { result_info = "您的订单:" + result.R6_Order + "更新订单状态失败!"; } } else { return(RedirectToAction("Index", "Home")); } } catch (Exception ex) { result_info = "出错啦!" + ex.Message; } } } else { result_info = "支付失败!"; } } else { result_info = "交易签名无效!"; } ViewData["ImgUrl"] = "../Images/onebit_33.png"; if (isok) { ViewData["ImgUrl"] = "../Images/onebit_34.png"; } ViewData["Msg"] = result_info; return(View()); }
private void UpdateDB(BuyCallbackResult result) { if (result == null) return; //订单流水号 string Orderid = result.R6_Order; //支付金额 string payAmount = result.R3_Amt; BLL.Member member = new BLL.Member(); //金币充值 if (result.R8_MP == "0") { if (!member.IsPaySuccess(Orderid)) //防止重复刷新页面而带来的问题 { //更新订单信息为完成状态 if (Orderid.ToLower().Contains("ka")) member.Update3PayOrder2((int)(float.Parse(payAmount)), Orderid); else member.Update3PayOrder((int)(float.Parse(payAmount)), Orderid); } } else//积分充值 { if (!member.IsPaySuccess2(Orderid)) //防止重复刷新页面而带来的问题 { //更新订单信息为完成状态 if (Orderid.ToLower().Contains("ka"))//点卡 { member.UpdatePayPointOrder((int)(float.Parse(payAmount)), Orderid, 1); } else { member.UpdatePayPointOrder((int)(float.Parse(payAmount)), Orderid, 0); } } } }