Esempio n. 1
0
 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("交易失败!");
 }
Esempio n. 2
0
 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("交易失败!");
     }
 }
Esempio n. 3
0
        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("支付失败");
            }
        }
Esempio n. 4
0
        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);
                }
            }
        }
Esempio n. 5
0
 protected void HmacError(SZXCallbackResult result)
 {
     Response.Write("交易签名无效!,交易失败,请重新充值。");
 }
Esempio n. 6
0
    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);
    }
Esempio n. 7
0
 protected void HmacError(SZXCallbackResult result)
 {
     Response.Write("交易签名无效!");
     Response.Write("<BR>API-HMAC:" + result.Hmac);
     Response.Write("<BR>LocalHost:" + result.ErrMsg);
 }
Esempio n. 8
0
        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);
            }
        }