public static string QuickTenPaySubmit(HttpContext Context) { string sRes = string.Empty; //创建PayResponseHandler实例 PayResponseHandler resHandler = new PayResponseHandler(Context); resHandler.setKey(key); //判断签名 if (resHandler.isTenpaySign()) { //交易单号 string transaction_id = resHandler.getParameter("transaction_id"); //金额金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //支付结果 string pay_result = resHandler.getParameter("pay_result"); string sp_billno = resHandler.getParameter("sp_billno"); string attach = resHandler.getParameter("attach"); if ("0".Equals(pay_result)) { //------------------------------ //处理业务开始 //------------------------------ //注意交易单不要重复处理 //注意判断返回金额 //------------------------------ //处理业务完毕 //------------------------------ string sTranID = string.Format("{0}{1}", sp_billno, attach.Split('|')[0]); decimal dPrice = decimal.Parse(total_fee) / 100; string sAccount = attach.Split('|')[1]; string sGameAbbre = attach.Split('|')[2]; string sTranIP = ProvideCommon.GetRealIP(); string sFromUrl = Context.Request.Url.ToString(); LastOfPayPointBLL.Add(sTranIP, ' ', sFromUrl, sTranID); int j = TransPBLL.PointSalesCommit(sTranID, sAccount, dPrice); if (0 == j) { string sGTranID = TranQuickBLL.TranQuickGTranIDSel(sTranID); TranQuickBLL.TranQuickUpdateP(sTranID); string sGTRes = string.Empty; if (sGameAbbre.IndexOf("sq") == -1) { sGTRes = PayAll.GameQuickPay(sGameAbbre, sAccount, dPrice, sGTranID); } else { string sRoleID = attach.Split('|')[3]; sGTRes = PayAll.sqQuickPay(sGameAbbre, sAccount, dPrice, sGTranID, sRoleID); } string sUrl = string.Empty; if (sGTRes == "0") { TranQuickBLL.TranQuickUpdateG(sGTranID); sUrl = string.Format("PayGSucc.aspx?TranID={0}&gn={1}&type=q", sGTranID, sGameAbbre); //调用doShow, 打印meta值跟js代码,告诉财付通处理成功,并在用户浏览器显示$show页面. resHandler.doShow(sUrl); } sRes = sGTRes; } else if (j == 6) { string sQuickState = TranQuickBLL.TransQuickStateSelByP(sTranID); string sGTranID = TranQuickBLL.TranQuickGTranIDSel(sTranID); if (sQuickState == "2") { string sUrl = string.Format("PayGSucc.aspx?TranID={0}&gn={1}&type=q", sGTranID, sGameAbbre); //调用doShow, 打印meta值跟js代码,告诉财付通处理成功,并在用户浏览器显示$show页面. resHandler.doShow(sUrl); sRes = "0"; } else if (sQuickState == "1") { string sGTRes = string.Empty; if (sGameAbbre.IndexOf("sq") == -1) { sGTRes = PayAll.GameQuickPay(sGameAbbre, sAccount, dPrice, sGTranID); } else { string sRoleID = attach.Split('|')[3]; sGTRes = PayAll.sqQuickPay(sGameAbbre, sAccount, dPrice, sGTranID, sRoleID); } if (sGTRes == "0") //游戏兑换成功 { TranQuickBLL.TranQuickUpdateG(sGTranID); string sUrl = string.Format("PayGSucc.aspx?TranID={0}&gn={1}&type=q", sGTranID, sGameAbbre); //调用doShow, 打印meta值跟js代码,告诉财付通处理成功,并在用户浏览器显示$show页面. resHandler.doShow(sUrl); sRes = "0"; } else { //sMsg = "<script>alert('充值武林币成功!游戏兑换失败!如有问题请与客服联系!');</script>"; sRes = "-3"; } } } else { sRes = "-4"; } } else { //当做不成功处理 sRes = "-1"; } } else { sRes = "-2"; } return(sRes); }
public static void LastOfPayLog(string sTranIP, char cTranFrom, string sFromUrl) { string sTranID = Buy.GetQueryString("r6_Order"); LastOfPayPointBLL.Add(sTranIP, cTranFrom, sFromUrl, sTranID); }