private bool DoAdd() { Model.users userModel = new BLL.users().GetModel(txtUserName.Text.Trim()); if (userModel == null) { return false; } bool result = false; Model.user_recharge model = new Model.user_recharge(); BLL.user_recharge bll = new BLL.user_recharge(); model.user_id = userModel.id; model.user_name = userModel.user_name; model.recharge_no = "R" + txtRechargeNo.Text.Trim(); //订单号R开头为充值订单 model.payment_id = Utils.StrToInt(ddlPaymentId.SelectedValue, 0); model.amount = Utils.StrToDecimal(txtAmount.Text.Trim(), 0); model.status = 1; model.add_time = DateTime.Now; model.complete_time = DateTime.Now; if (bll.Recharge(model)) { AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "给会员:" + model.user_name + ",充值:" + model.amount + "元"); //记录日志 result = true; } return result; }
private bool DoAdd() { Model.users userModel = new BLL.users().GetModel(txtUserName.Text.Trim()); if (userModel == null) { return(false); } bool result = false; Model.user_recharge model = new Model.user_recharge(); BLL.user_recharge bll = new BLL.user_recharge(); model.user_id = userModel.id; model.user_name = userModel.user_name; model.recharge_no = "R" + txtRechargeNo.Text.Trim(); //订单号R开头为充值订单 model.payment_id = Utils.StrToInt(ddlPaymentId.SelectedValue, 0); model.amount = Utils.StrToDecimal(txtAmount.Text.Trim(), 0); model.status = 1; model.add_time = DateTime.Now; model.complete_time = DateTime.Now; if (bll.Recharge(model)) { AddAdminLog(PLEnums.ActionEnum.Add.ToString(), "给会员:" + model.user_name + ",充值:" + model.amount + "元"); //记录日志 result = true; } return(result); }
//批量删除 protected void btnDelete_Click(object sender, EventArgs e) { ChkAdminLevel("user_recharge_log", DTEnums.ActionEnum.Delete.ToString()); //检查权限 int sucCount = 0; int errorCount = 0; BLL.user_recharge bll = new BLL.user_recharge(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { if (bll.Delete(id)) { sucCount += 1; } else { errorCount += 1; } } } AddAdminLog(DTEnums.ActionEnum.Delete.ToString(), "删除充值记录成功" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("删除成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("recharge_list.aspx", "keywords={0}", this.keywords)); }
protected void Page_Load(object sender, EventArgs e) { string order_no = DTRequest.GetString("order_no"); if (order_no.StartsWith("R")) //充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model != null && model.status == 1) { string resurl = new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no); Response.Write("{\"status\": 1, \"url\": \"" + resurl + "\"}"); return; } } else if (order_no.StartsWith("B")) //商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model != null && model.payment_status == 2) { string resurl = new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no); Response.Write("{\"status\": 1, \"url\": \"" + resurl + "\"}"); return; } } Response.Write("{\"status\": 0, \"msg\": \"订单未支付成功!\"}"); return; }
private PayResult ValidateOrderNum(string ordernum) { var result = new PayResult(); if (ordernum.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; return(result); } if (model.status == 1) { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; return(result); } result.msg = "验证通过"; result.success = true; result.status = 200; return(result); } else if (ordernum.StartsWith("B")) { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; return(result); } if (model.payment_status == 2) //已付款 { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; return(result); } result.msg = "验证通过"; result.success = true; result.status = 200; return(result); } else { result.msg = "订单号不正确"; result.success = false; result.status = 203; return(result); } }
private void RptBind(string _strWhere, string _orderby) { this.page = DTRequest.GetQueryInt("page", 1); txtKeywords.Text = this.keywords; BLL.user_recharge bll = new BLL.user_recharge(); this.rptList.DataSource = bll.GetList(this.pageSize, this.page, _strWhere, _orderby, out this.totalCount); this.rptList.DataBind(); //绑定页码 txtPageNum.Text = this.pageSize.ToString(); string pageUrl = Utils.CombUrlTxt("recharge_list.aspx", "keywords={0}&page={1}", this.keywords, "__id__"); PageContent.InnerHtml = Utils.OutPageList(this.pageSize, this.page, this.totalCount, pageUrl, 8); }
protected void Page_Load(object sender, EventArgs e) { int site_payment_id = 0; //订单支付方式 //获取code码,以获取openid和access_token string code = DTRequest.GetQueryString("code"); //获取传过来的订单号 string order_no = DTRequest.GetQueryString("state").ToUpper(); //检查参数是否正确 if (string.IsNullOrEmpty(code) || string.IsNullOrEmpty(order_no)) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("出错了,获取CODE回调参数有误!"))); return; } if (order_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(order_no); } else if (order_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(order_no); } //获取openid及access_token的url try { JsApiConfig jsApiConfig = new JsApiConfig(site_payment_id); WxPayData data = new WxPayData(); data.SetValue("appid", jsApiConfig.AppId); data.SetValue("secret", jsApiConfig.AppSecret); data.SetValue("code", code); data.SetValue("grant_type", "authorization_code"); string url = "https://api.weixin.qq.com/sns/oauth2/access_token?" + data.ToUrl(); //请求url以获取数据 string result = HttpService.Get(url); //获取用户openid Dictionary <string, object> dic = JsonHelper.DataRowFromJSON(result); string openid = (string)dic["openid"]; //跳转转值到处理页面 Response.Redirect("jsapipay.aspx?openid=" + openid + "&order_no=" + order_no); } catch (Exception ex) { throw new Exception(ex.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig(); int site_payment_id = 0; //站点支付方式ID v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); if (v_oid.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(v_oid); } else if (v_oid.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(v_oid); } //找到站点支付方式ID开始验证 if (site_payment_id > 0) { // 拼凑加密串 Config config = new Config(site_payment_id); string signtext = v_oid + v_pstatus + v_amount + v_moneytype + config.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); if (signtext == v_md5str) { if (v_pstatus.Equals("20")) { //成功状态 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + v_oid)); return; } } } //失败状态 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig(); int site_payment_id = 0; //站点支付方式ID Dictionary <string, string> sPara = GetRequestGet(); if (sPara.Count > 0) //判断是否有带返回参数 { string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string result = DTRequest.GetString("result"); //交易状态 if (order_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(order_no); } else if (order_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(order_no); } //找到站点支付方式ID开始验证 if (site_payment_id > 0) { Notify aliNotify = new Notify(site_payment_id); bool verifyResult = aliNotify.VerifyReturn(sPara, Request.QueryString["sign"]); if (verifyResult)//验证成功 { if (result == "success") { //成功状态 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no)); return; } } } } //失败状态 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; }
protected void Page_Load(object sender, EventArgs e) { int site_payment_id = 0; //站点支付方式ID ResponseHandler resHandler = new ResponseHandler(Context); //创建ResponseHandler实例 string notify_id = resHandler.getParameter("notify_id"); //通知id string out_trade_no = resHandler.getParameter("out_trade_no").ToUpper(); //商户订单号 string transaction_id = resHandler.getParameter("transaction_id"); //财付通订单号 string total_fee = resHandler.getParameter("total_fee"); //金额,以分为单位 string discount = resHandler.getParameter("discount"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string trade_state = resHandler.getParameter("trade_state"); //支付结果 if (out_trade_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(out_trade_no); } else if (out_trade_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(out_trade_no); } //找到站点支付方式ID开始验证 if (site_payment_id > 0) { TenpayUtil config = new TenpayUtil(site_payment_id); resHandler.setKey(config.key); //判断签名 if (resHandler.isTenpaySign()) { if ("0".Equals(trade_state)) { //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + out_trade_no)); return; } } } //认证签名失败 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig(); int site_payment_id = 0; //订单支付方式 //=============================获得订单信息================================ order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //===============================判断订单================================== if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } if (model.status == 1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no)); return; } site_payment_id = model.payment_id; //站点支付方式ID } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } if (model.payment_status == 2) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no)); return; } site_payment_id = model.payment_id; //站点支付方式ID } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===========================调用统一下单接口============================== string sendUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder"; NativeConfig nativeConfig = new NativeConfig(site_payment_id); WxPayData data = new WxPayData(); data.SetValue("body", user_name); //商品描述 data.SetValue("detail", sysConfig.webname + "-" + subject); //商品详情 data.SetValue("out_trade_no", order_no); //商户订单号 data.SetValue("total_fee", (Convert.ToDouble(order_amount) * 100).ToString()); //订单总金额,以分为单位 data.SetValue("trade_type", "NATIVE"); //交易类型 data.SetValue("product_id", order_no); //商品ID data.SetValue("notify_url", nativeConfig.Notify_url); //异步通知url data.SetValue("spbill_create_ip", DTRequest.GetIP()); //终端IP data.SetValue("appid", nativeConfig.AppId); //公众账号ID data.SetValue("mch_id", nativeConfig.Partner); //商户号 data.SetValue("nonce_str", NativePay.GenerateNonceStr()); //随机字符串 data.SetValue("sign", data.MakeSign(nativeConfig.Key)); //签名 string xml = data.ToXml(); //转换成XML var startTime = DateTime.Now; //开始时间 string response = HttpService.Post(xml, sendUrl, false, 6); //发送请求 var endTime = DateTime.Now; //结束时间 int timeCost = (int)((endTime - startTime).TotalMilliseconds); //计算所用时间 WxPayData result = new WxPayData(); result.FromXml(response, nativeConfig.Key); NativePay.ReportCostTime(site_payment_id, sendUrl, timeCost, result); //测速上报 string codeUrl = result.GetValue("code_url").ToString(); //获得统一下单接口返回的二维码链接 imgQRCode.ImageUrl = "qrcode.aspx?data=" + HttpUtility.UrlEncode(codeUrl); litText.Text = order_amount.ToString("#0.00"); }
protected void Page_Load(object sender, EventArgs e) { int site_payment_id = 0; //站点支付方式ID SortedDictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0) //判断是否有带返回参数 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (order_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(order_no); } else if (order_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(order_no); } if (site_payment_id == 0) { Response.Write("该订单号不存在"); return; } //找到站点支付方式ID开始验证 Notify aliNotify = new Notify(site_payment_id); bool verifyResult = aliNotify.Verify(sPara, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult)//验证成功 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { Dictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.VerifyNotify(sPara, Request.Form["sign"]); if (verifyResult)//验证成功 { try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(sPara["notify_data"]); string trade_no = xmlDoc.SelectSingleNode("/notify/trade_no").InnerText; //支付宝交易号 string order_no = xmlDoc.SelectSingleNode("/notify/out_trade_no").InnerText; //商户订单号 string total_fee = xmlDoc.SelectSingleNode("/notify/total_fee").InnerText; //获取总金额 string trade_status = xmlDoc.SelectSingleNode("/notify/trade_status").InnerText; //交易状态 if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } Response.Write("success"); //请不要修改或删除 return; } else { Response.Write(trade_status); } } catch (Exception ex) { Response.Write(ex.ToString()); } } else //验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { SortedDictionary<string, string> sPara = GetRequestPost(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult)//验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (Config.Type == "1") //即时到帐接口处理方法 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig(); int site_payment_id = 0; //订单支付方式 //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //===============================判断订单================================== if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================建立请求================================== string GATEWAY_NEW = "https://mapi.alipay.com/gateway.do?"; //支付宝新网关地址 Dictionary <string, string> sParaTemp = new Dictionary <string, string>(); Config config = new Config(site_payment_id); sParaTemp.Add("partner", config.Partner); sParaTemp.Add("seller_id", config.Partner); sParaTemp.Add("_input_charset", config.Input_charset.ToLower()); sParaTemp.Add("service", "alipay.wap.create.direct.pay.by.user"); sParaTemp.Add("payment_type", "1"); sParaTemp.Add("notify_url", config.Notify_url); sParaTemp.Add("return_url", config.Return_url); sParaTemp.Add("out_trade_no", order_no); sParaTemp.Add("subject", sysConfig.webname + "-" + subject); sParaTemp.Add("total_fee", order_amount.ToString()); sParaTemp.Add("show_url", sysConfig.weburl); sParaTemp.Add("app_pay", "Y");//启用此参数可唤起钱包APP支付。 sParaTemp.Add("body", user_name); //建立请求 Submit submit = new Submit(site_payment_id); string sHtmlText = submit.BuildRequest(GATEWAY_NEW, sParaTemp, "get", "确认"); Response.Write(sHtmlText); }
} //支付成功跳转的地址 protected void Page_Load(object sender, EventArgs e) { string openid = DTRequest.GetQueryString("openid"); string order_no = DTRequest.GetQueryString("order_no"); decimal order_amount = 0; //订单金额 string subject1 = string.Empty; //订单备注1 string subject2 = string.Empty; //订单备注2 //检查参数是否正确 if (string.IsNullOrEmpty(openid) || string.IsNullOrEmpty(order_no)) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,获取OPENID参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } order_amount = model.amount; //订单金额 subject1 = "充值订单"; subject2 = "用户名:" + model.user_name; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } order_amount = model.order_amount; //订单金额 subject1 = "商品订单"; if (model.user_id > 0) { subject2 = "用户名:" + model.user_name; } else { subject2 = "匿名用户"; } } //JSAPI支付预处理 try { //统一下单 string sendUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder"; JsApiConfig jsApiConfig = new JsApiConfig(); WxPayData data = new WxPayData(); data.SetValue("body", subject1); //商品描述 data.SetValue("detail", subject2); //商品详情 data.SetValue("out_trade_no", order_no); //商户订单号 data.SetValue("total_fee", (Convert.ToDouble(order_amount) * 100).ToString()); //订单总金额,以分为单位 data.SetValue("trade_type", "JSAPI"); //交易类型 data.SetValue("openid", openid); //公众账号ID data.SetValue("appid", jsApiConfig.AppId); //公众账号ID data.SetValue("mch_id", jsApiConfig.Partner); //商户号 data.SetValue("nonce_str", JsApiPay.GenerateNonceStr()); //随机字符串 data.SetValue("notify_url", jsApiConfig.Notify_url); //异步通知url data.SetValue("spbill_create_ip", DTRequest.GetIP()); //终端IP data.SetValue("sign", data.MakeSign(jsApiConfig.Key)); //签名 string xml = data.ToXml(); //转换成XML var startTime = DateTime.Now; //开始时间 string response = HttpService.Post(xml, sendUrl, false, 6); //发送请求 var endTime = DateTime.Now; //结束时间 int timeCost = (int)((endTime - startTime).TotalMilliseconds); //计算所用时间 WxPayData result = new WxPayData(); result.FromXml(response, jsApiConfig.Key); JsApiPay.ReportCostTime(sendUrl, timeCost, result);//测速上报 //获取H5调起JS API参数 WxPayData jsApiParam = new WxPayData(); jsApiParam.SetValue("appId", result.GetValue("appid")); jsApiParam.SetValue("timeStamp", JsApiPay.GenerateTimeStamp()); jsApiParam.SetValue("nonceStr", JsApiPay.GenerateNonceStr()); jsApiParam.SetValue("package", "prepay_id=" + result.GetValue("prepay_id")); jsApiParam.SetValue("signType", "MD5"); jsApiParam.SetValue("paySign", jsApiParam.MakeSign(jsApiConfig.Key)); wxJsApiParam = jsApiParam.ToJson(); //支付成功后跳转的URL returnUrl = new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no); } catch (Exception ex) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("调用JSAPI下单失败,请检查微信授权目录是否已注册!"))); return; } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //系统配置 Config xmlConfig = new Config(); //读取配置 //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //以下收货人信息 string receive_name = string.Empty; //收货人姓名 string receive_address = string.Empty; //收货人地址 string receive_zip = string.Empty; //收货人邮编 string receive_phone = string.Empty; //收货人电话 string receive_mobile = string.Empty; //收货人手机 //检查参数是否正确 if (order_no == "" || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } //取得用户信息 Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!"))); return; } receive_name = userModel.nick_name; receive_address = userModel.address; receive_phone = userModel.telphone; receive_mobile = userModel.mobile; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } receive_name = model.accept_name; receive_address = model.address; receive_zip = model.post_code; receive_phone = model.telphone; receive_mobile = model.mobile; } if (!string.IsNullOrEmpty(user_name)) { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================加密签名================================== string moneytype = "CNY"; // 拼凑加密串=订单金额+币种+订单号+商户号+返回地址+商户MD5密钥 string signtext = order_amount + moneytype + order_no + xmlConfig.Partner + xmlConfig.Return_url + xmlConfig.Key; string md5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); //===============================请求参数================================== //把请求参数打包成数组 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>(); sParaTemp.Add("v_mid", xmlConfig.Partner); //商户编号 sParaTemp.Add("v_oid", order_no); //网站订单号 sParaTemp.Add("v_amount", order_amount.ToString()); //订单总金额 sParaTemp.Add("v_moneytype", moneytype); //币种 sParaTemp.Add("v_url", xmlConfig.Return_url); //返回地址 sParaTemp.Add("remark2", "[url:=" + xmlConfig.Notify_url + "]"); //回调地址 sParaTemp.Add("v_md5info", md5info); //MD5校验码 sParaTemp.Add("remark1", siteConfig.webname + "-" + subject + user_name); //订单描述 sParaTemp.Add("v_rcvname", receive_name); //收货人姓名 sParaTemp.Add("v_rcvaddr", receive_address); //收货人地址 sParaTemp.Add("v_rcvtel", receive_phone); //收货人电话 sParaTemp.Add("v_rcvpost", receive_zip); //收货人邮编 sParaTemp.Add("v_rcvmobile", receive_mobile); //收货人手机号 //构造即时到帐接口表单提交HTML数据,无需修改 Service chinabank = new Service(); string sHtmlText = chinabank.BuildFormHtml(sParaTemp, "post", "确认"); Response.Write(sHtmlText); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //===============================判断订单================================== if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================建立请求================================== string GATEWAY_NEW = "http://wappaygw.alipay.com/service/rest.htm?"; //支付宝网关地址 string format = "xml"; //返回格式,必填,不需要修改 string v = "2.0"; //必填,不需要修改 string req_id = DateTime.Now.ToString("yyyyMMddHHmmss"); //必填,须保证每次请求都是唯一 //请求业务参数详细,必填 string req_dataToken = "<direct_trade_create_req><notify_url>" + Config.Notify_url + "</notify_url><call_back_url>" + Config.Return_url + "</call_back_url><seller_account_name>" + Config.Seller_email + "</seller_account_name><out_trade_no>" + order_no + "</out_trade_no><subject>" + siteConfig.webname + "-" + subject + "</subject><total_fee>" + order_amount.ToString() + "</total_fee><merchant_url></merchant_url></direct_trade_create_req>"; //把请求参数打包成数组 Dictionary <string, string> sParaTempToken = new Dictionary <string, string>(); sParaTempToken.Add("partner", Config.Partner); sParaTempToken.Add("_input_charset", Config.Input_charset.ToLower()); sParaTempToken.Add("sec_id", Config.Sign_type.ToUpper()); sParaTempToken.Add("service", "alipay.wap.trade.create.direct"); sParaTempToken.Add("format", format); sParaTempToken.Add("v", v); sParaTempToken.Add("req_id", req_id); sParaTempToken.Add("req_data", req_dataToken); //建立请求 string sHtmlTextToken = Submit.BuildRequest(GATEWAY_NEW, sParaTempToken); //URLDECODE返回的信息 System.Text.Encoding code = System.Text.Encoding.GetEncoding(Config.Input_charset); sHtmlTextToken = HttpUtility.UrlDecode(sHtmlTextToken, code); //解析远程模拟提交后返回的信息 Dictionary <string, string> dicHtmlTextToken = Submit.ParseResponse(sHtmlTextToken); //获取token string request_token = dicHtmlTextToken["request_token"]; //业务详细,必填 string req_data = "<auth_and_execute_req><request_token>" + request_token + "</request_token></auth_and_execute_req>"; //把请求参数打包成数组 Dictionary <string, string> sParaTemp = new Dictionary <string, string>(); sParaTemp.Add("partner", Config.Partner); sParaTemp.Add("_input_charset", Config.Input_charset.ToLower()); sParaTemp.Add("sec_id", Config.Sign_type.ToUpper()); sParaTemp.Add("service", "alipay.wap.auth.authAndExecute"); sParaTemp.Add("format", format); sParaTemp.Add("v", v); sParaTemp.Add("req_data", req_data); //建立请求 string sHtmlText = Submit.BuildRequest(GATEWAY_NEW, sParaTemp, "get", "确认"); Response.Write(sHtmlText); }
protected string remark2; //备注1 protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); Config xmlConfig = new Config(); //读取配置 v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); // 拼凑加密串 string signtext = v_oid + v_pstatus + v_amount + v_moneytype + xmlConfig.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); if (signtext == v_md5str && v_pstatus.Equals("20")) { //成功状态 if (v_oid.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.status == 1) //已成功 { Response.Write("ok"); return; } if (model.amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.Confirm(v_oid); if (!result) { Response.Write("error"); return; } } else if (v_oid.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.payment_status == 2) //已付款 { Response.Write("ok"); return; } if (model.order_amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.UpdateField(v_oid, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("error"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //成功状态 Response.Write("ok"); return; } //失败状态 Response.Write("error"); return; }
protected string v_pstring; //支付状态描述 #endregion Fields #region Methods protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); Config xmlConfig = new Config(); //读取配置 v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); // 拼凑加密串 string signtext = v_oid + v_pstatus + v_amount + v_moneytype + xmlConfig.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); if (signtext == v_md5str && v_pstatus.Equals("20")) { //成功状态 if (v_oid.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.status == 1) //已成功 { Response.Write("ok"); return; } if (model.amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.Confirm(v_oid); if (!result) { Response.Write("error"); return; } } else if (v_oid.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.payment_status == 2) //已付款 { Response.Write("ok"); return; } if (model.order_amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.UpdateField(v_oid, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("error"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //成功状态 Response.Write("ok"); return; } //失败状态 Response.Write("error"); return; }
protected void Page_Load(object sender, EventArgs e) { SortedDictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult) //验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (Config.Type == "1") //即时到帐接口处理方法 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); TenpayUtil xmlConfig = new TenpayUtil(); //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); //订单号 decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); //订单金额 string user_name = DTRequest.GetFormString("pay_user_name"); //支付用户名 string subject = DTRequest.GetFormString("pay_subject"); //备注说明 string trans_type = string.Empty; //交易类型1实物2虚拟 if (order_no == "" || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } trans_type = "2"; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } trans_type = "1"; } //检查会员还是匿名 if (!string.IsNullOrEmpty(user_name)) { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================请求参数================================== //创建RequestHandler实例 RequestHandler reqHandler = new RequestHandler(Context); //初始化 reqHandler.init(); //设置密钥 reqHandler.setKey(xmlConfig.key); reqHandler.setGateUrl("https://gw.tenpay.com/gateway/pay.htm"); //----------------------------- //设置支付参数 //----------------------------- reqHandler.setParameter("partner", xmlConfig.partner); //商户号 reqHandler.setParameter("out_trade_no", order_no); //商家订单号 reqHandler.setParameter("total_fee", (Convert.ToDouble(order_amount) * 100).ToString()); //商品金额,以分为单位 reqHandler.setParameter("return_url", xmlConfig.return_url); //交易完成后跳转的URL reqHandler.setParameter("notify_url", xmlConfig.notify_url); //接收财付通通知的URL reqHandler.setParameter("body", user_name); //商品描述 reqHandler.setParameter("bank_type", "DEFAULT"); //银行类型(中介担保时此参数无效) reqHandler.setParameter("spbill_create_ip", Page.Request.UserHostAddress); //用户的公网ip,不是商户服务器IP reqHandler.setParameter("fee_type", "1"); //币种,1人民币 reqHandler.setParameter("subject", siteConfig.webname + "-" + subject); //商品名称(中介交易时必填) //系统可选参数 reqHandler.setParameter("sign_type", "MD5"); reqHandler.setParameter("service_version", "1.0"); reqHandler.setParameter("input_charset", "UTF-8"); reqHandler.setParameter("sign_key_index", "1"); //业务可选参数 reqHandler.setParameter("product_fee", "0"); //商品费用,必须保证transport_fee + product_fee=total_fee reqHandler.setParameter("transport_fee", "0"); //物流费用,必须保证transport_fee + product_fee=total_fee reqHandler.setParameter("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); //订单生成时间,格式为yyyymmddhhmmss reqHandler.setParameter("time_expire", ""); //订单失效时间,格式为yyyymmddhhmmss reqHandler.setParameter("buyer_id", ""); //买方财付通账号 reqHandler.setParameter("goods_tag", ""); //商品标记 reqHandler.setParameter("trade_mode", xmlConfig.type); //交易模式,1即时到账(默认),2中介担保,3后台选择(买家进支付中心列表选择) reqHandler.setParameter("transport_desc", ""); //物流说明 reqHandler.setParameter("trans_type", "1"); //交易类型,1实物交易,2虚拟交易 reqHandler.setParameter("agentid", ""); //平台ID reqHandler.setParameter("agent_type", ""); //代理模式,0无代理(默认),1表示卡易售模式,2表示网店模式 reqHandler.setParameter("seller_id", ""); //卖家商户号,为空则等同于partner //获取请求带参数的url string requestUrl = reqHandler.getRequestURL(); //实现自动跳转=============================== StringBuilder sbHtml = new StringBuilder(); sbHtml.Append("<form id='tenpaysubmit' name='tenpaysubmit' action='" + reqHandler.getGateUrl() + "' method='get'>"); Hashtable ht = reqHandler.getAllParameters(); foreach (DictionaryEntry de in ht) { sbHtml.Append("<input type=\"hidden\" name=\"" + de.Key + "\" value=\"" + de.Value + "\" >\n"); } //submit按钮控件请不要含有name属性 sbHtml.Append("<input type='submit' value='确认' style='display:none;'></form>"); sbHtml.Append("<script>document.forms['tenpaysubmit'].submit();</script>"); Response.Write(sbHtml.ToString()); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //系统配置 Config xmlConfig = new Config(); //读取配置 //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //以下收货人信息 string receive_name = string.Empty; //收货人姓名 string receive_address = string.Empty; //收货人地址 string receive_zip = string.Empty; //收货人邮编 string receive_phone = string.Empty; //收货人电话 string receive_mobile = string.Empty; //收货人手机 //检查参数是否正确 if (order_no == "" || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } //取得用户信息 Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!"))); return; } receive_name = userModel.nick_name; receive_address = userModel.address; receive_phone = userModel.telphone; receive_mobile = userModel.mobile; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } receive_name = model.accept_name; receive_address = model.address; receive_zip = model.post_code; receive_phone = model.telphone; receive_mobile = model.mobile; } if (!string.IsNullOrEmpty(user_name)) { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================加密签名================================== string moneytype = "CNY"; // 拼凑加密串=订单金额+币种+订单号+商户号+返回地址+商户MD5密钥 string signtext = order_amount + moneytype + order_no + xmlConfig.Partner + xmlConfig.Return_url + xmlConfig.Key; string md5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); //===============================请求参数================================== //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("v_mid", xmlConfig.Partner); //商户编号 sParaTemp.Add("v_oid", order_no); //网站订单号 sParaTemp.Add("v_amount", order_amount.ToString()); //订单总金额 sParaTemp.Add("v_moneytype", moneytype); //币种 sParaTemp.Add("v_url", xmlConfig.Return_url); //返回地址 sParaTemp.Add("remark2", "[url:=" + xmlConfig.Notify_url + "]"); //回调地址 sParaTemp.Add("v_md5info", md5info); //MD5校验码 sParaTemp.Add("remark1", siteConfig.webname + "-" + subject + user_name); //订单描述 sParaTemp.Add("v_rcvname", receive_name); //收货人姓名 sParaTemp.Add("v_rcvaddr", receive_address); //收货人地址 sParaTemp.Add("v_rcvtel", receive_phone); //收货人电话 sParaTemp.Add("v_rcvpost", receive_zip); //收货人邮编 sParaTemp.Add("v_rcvmobile", receive_mobile); //收货人手机号 //构造即时到帐接口表单提交HTML数据,无需修改 Service chinabank = new Service(); string sHtmlText = chinabank.BuildFormHtml(sParaTemp, "post", "确认"); Response.Write(sHtmlText); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig(); int site_payment_id = 0; //订单支付方式 //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================请求参数================================== //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("payment_type", "1"); //收款类型1商品购买 sParaTemp.Add("show_url", sysConfig.weburl); //商品展示地址 sParaTemp.Add("out_trade_no", order_no); //网站订单号 sParaTemp.Add("subject", sysConfig.webname + "-" + subject); //订单名称 sParaTemp.Add("body", user_name); //订单描述 sParaTemp.Add("total_fee", order_amount.ToString()); //订单总金额 sParaTemp.Add("paymethod", ""); //默认支付方式 sParaTemp.Add("defaultbank", ""); //默认网银代号 sParaTemp.Add("anti_phishing_key", ""); //防钓鱼时间戳 sParaTemp.Add("exter_invoke_ip", DTRequest.GetIP()); ////获取客户端的IP地址 sParaTemp.Add("buyer_email", ""); //默认买家支付宝账号 sParaTemp.Add("royalty_type", ""); sParaTemp.Add("royalty_parameters", ""); //构造即时到帐接口表单提交HTML数据,无需修改 Service ali = new Service(site_payment_id); string sHtmlText = ali.Create_direct_pay_by_user(sParaTemp); Response.Write(sHtmlText); }
protected void Page_Load(object sender, EventArgs e) { //获得订单信息 int site_payment_id = 0; //订单支付方式 string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //===============================判断订单================================== if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } site_payment_id = model.payment_id; //站点支付方式ID } //调用【网页授权获取用户信息】接口获取用户的openid和access_token JsApiConfig jsApiConfig = new JsApiConfig(site_payment_id); WxPayData data = new WxPayData(); data.SetValue("appid", jsApiConfig.AppId); data.SetValue("redirect_uri", HttpUtility.UrlEncode(jsApiConfig.Redirect_url)); data.SetValue("response_type", "code"); data.SetValue("scope", "snsapi_base"); data.SetValue("state", order_no + "#wechat_redirect"); //传入订单号 string url = "https://open.weixin.qq.com/connect/oauth2/authorize?" + data.ToUrl(); try { //触发微信返回code码 Response.Redirect(url);//Redirect函数会抛出ThreadAbortException异常,不用处理这个异常 } catch (System.Threading.ThreadAbortException ex) { } }
public IHttpActionResult PaySuccess(string ordernum, string tradeno) { var result = new PayResult(); if (ordernum.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; } else { if (model.status == 1) { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; } //订单编号验证通过后执行 bool r = bll.Confirm(ordernum); if (r) { result.msg = "充值成功"; result.status = 200; result.success = true; } else { result.msg = "充值订单信息更新失败"; result.status = 204; result.success = false; } } } else if (ordernum.StartsWith("B")) { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; } else { if (model.payment_status == 2) //已付款 { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; } //订单编号验证通过后执行 bool r = bll.UpdateField(ordernum, "trade_no='" + tradeno + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (r) { var articlebll = new BLL.article(); foreach (var g in model.order_goods) { //判断是否有卡片商品,如果有卡片商品,添加卡片和用户卡片 //todo:此处需要增加事务性操作 if (articlebll.IsCard(g.article_id)) { var article = articlebll.GetModel(g.article_id); string callindex = article.fields["cardcategorycallindex"]; var user = new BLL.users().GetModel(model.user_name); var cardcategory = new BLL.CardCategory().GetModel(callindex); var card = new Model.Card(); card.CardCategoryId = cardcategory.CardCategoryId; card.Code = Utils.GetCheckCode(7); card.CreateDate = DateTime.Now; card.StartDate = DateTime.Now; card.EndDate = DateTime.Now.AddDays((double)cardcategory.Duration); var cardBll = new BLL.Card(); int cardId = cardBll.Add(card); var usercardBll = new BLL.UserCard(); var usercard = new Model.UserCard(); usercard.CardId = cardId; usercard.CardCategoryId = cardcategory.CardCategoryId; usercard.UserId = user.id; usercardBll.Add(usercard); } } result.msg = "支付成功"; result.status = 200; result.success = true; } else { result.msg = "商品订单信息更新失败"; result.status = 204; result.success = false; } } } else { result.msg = "订单号不正确"; result.success = false; result.status = 203; } return(Ok(result)); }
protected void Page_Load(object sender, EventArgs e) { WxPayData notifyData = JsApiPay.GetNotifyData(); //检查支付结果中transaction_id是否存在 if (!notifyData.IsSet("transaction_id")) { //若transaction_id不存在,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "支付结果中微信订单号不存在"); Response.Write(res.ToXml()); return; } string transaction_id = notifyData.GetValue("transaction_id").ToString(); //微信支付订单号 //查询订单,判断订单真实性 if (!QueryOrder(transaction_id)) { //若订单查询失败,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单查询失败"); Response.Write(res.ToXml()); return; } //获取订单信息 string order_no = notifyData.GetValue("out_trade_no").ToString(); //商户订单号 string total_fee = notifyData.GetValue("total_fee").ToString(); //获取总金额 if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "该订单号不存在"); Response.Write(res.ToXml()); return; } if (model.status == 1) //已成功 { WxPayData res = new WxPayData(); res.SetValue("return_code", "SUCCESS"); res.SetValue("return_msg", "OK"); Response.Write(res.ToXml()); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单金额和支付金额不相符"); Response.Write(res.ToXml()); return; } bool result = bll.Confirm(order_no); if (!result) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "修改订单状态失败"); Response.Write(res.ToXml()); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "该订单号不存在"); Response.Write(res.ToXml()); return; } if (model.payment_status == 2) //已付款 { WxPayData res = new WxPayData(); res.SetValue("return_code", "SUCCESS"); res.SetValue("return_msg", "OK"); Response.Write(res.ToXml()); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单金额和支付金额不相符"); Response.Write(res.ToXml()); return; } bool result = bll.UpdateField(order_no, "trade_no='" + transaction_id + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "修改订单状态失败"); Response.Write(res.ToXml()); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //返回成功通知 WxPayData res1 = new WxPayData(); res1.SetValue("return_code", "SUCCESS"); res1.SetValue("return_msg", "OK"); Response.Write(res1.ToXml()); return; }
protected void Page_Load(object sender, EventArgs e) { TenpayUtil xmlConfig = new TenpayUtil(); //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(xmlConfig.key); //判断签名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通过通知ID查询,确保通知来至财付通 //创建查询请求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(xmlConfig.key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", xmlConfig.partner); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(xmlConfig.key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //取结果参数做业务处理 string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //财付通订单号 string trade_no = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到帐 2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { if ("1".Equals(trade_mode)) { #region 即时到账处理方法==================================== if ("0".Equals(trade_state)) { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } #endregion } else if ("2".Equals(trade_mode)) //担保交易 { #region 担保交易处理方法==================================== if ("0".Equals(trade_state)) //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if ("5".Equals(trade_state)) //买家收货确认,交易成功 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); #endregion } } else { Response.Write("查询验证签名失败或id验证失败"); } } else { Response.Write("通知ID查询签名验证失败"); } } else { Response.Write("后台调用通信失败"); } } else { Response.Write("签名验证失败"); } Response.End(); }
protected void Page_Load(object sender, EventArgs e) { TenpayUtil xmlConfig = new TenpayUtil(); //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(xmlConfig.key); //判断签名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通过通知ID查询,确保通知来至财付通 //创建查询请求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(xmlConfig.key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", xmlConfig.partner); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(xmlConfig.key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //取结果参数做业务处理 string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //财付通订单号 string trade_no = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到帐 2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { if ("1".Equals(trade_mode)) { #region 即时到账处理方法==================================== if ("0".Equals(trade_state)) { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } #endregion } else if ("2".Equals(trade_mode)) //担保交易 { #region 担保交易处理方法==================================== if ("0".Equals(trade_state)) //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if ("5".Equals(trade_state)) //买家收货确认,交易成功 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); #endregion } } else { Response.Write("查询验证签名失败或id验证失败"); } } else { Response.Write("通知ID查询签名验证失败"); } } else { Response.Write("后台调用通信失败"); } } else { Response.Write("签名验证失败"); } Response.End(); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //以下收货人信息 string receive_name = string.Empty; //收货人姓名 string receive_address = string.Empty; //收货人地址 string receive_zip = string.Empty; //收货人邮编 string receive_phone = string.Empty; //收货人电话 string receive_mobile = string.Empty; //收货人手机 //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } //取得用户信息 Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!"))); return; } receive_name = userModel.nick_name; receive_address = userModel.address; receive_phone = userModel.telphone; receive_mobile = userModel.mobile; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } receive_name = model.accept_name; receive_address = model.address; receive_zip = model.post_code; receive_phone = model.telphone; receive_mobile = model.mobile; } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================请求参数================================== //判断担保或是即时到帐接口 if (Config.Type == "1") //即时到帐 { //把请求参数打包成数组 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>(); sParaTemp.Add("payment_type", "1"); //收款类型1商品购买 sParaTemp.Add("show_url", siteConfig.weburl); //商品展示地址 sParaTemp.Add("out_trade_no", order_no); //网站订单号 sParaTemp.Add("subject", siteConfig.webname + "-" + subject); //订单名称 sParaTemp.Add("body", user_name); //订单描述 sParaTemp.Add("total_fee", order_amount.ToString()); //订单总金额 sParaTemp.Add("paymethod", ""); //默认支付方式 sParaTemp.Add("defaultbank", ""); //默认网银代号 sParaTemp.Add("anti_phishing_key", ""); //防钓鱼时间戳 sParaTemp.Add("exter_invoke_ip", DTRequest.GetIP()); ////获取客户端的IP地址 sParaTemp.Add("buyer_email", ""); //默认买家支付宝账号 sParaTemp.Add("royalty_type", ""); sParaTemp.Add("royalty_parameters", ""); //构造即时到帐接口表单提交HTML数据,无需修改 Service ali = new Service(); string sHtmlText = ali.Create_direct_pay_by_user(sParaTemp); Response.Write(sHtmlText); } else //担保交易 { //把请求参数打包成数组 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>(); sParaTemp.Add("payment_type", "1"); //收款类型1商品购买 sParaTemp.Add("out_trade_no", order_no); //网站订单号 sParaTemp.Add("subject", siteConfig.webname + "-" + subject); //订单名称 sParaTemp.Add("price", order_amount.ToString()); //付款金额 sParaTemp.Add("quantity", "1"); //建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品 sParaTemp.Add("logistics_fee", "0.00"); //物流费用 sParaTemp.Add("logistics_type", "EXPRESS"); //物流类型,EXPRESS(快递)、POST(平邮)、EMS(EMS) sParaTemp.Add("logistics_payment", "SELLER_PAY"); //物流支付方式,SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费) sParaTemp.Add("body", user_name); //订单描述 sParaTemp.Add("show_url", siteConfig.weburl); //商品展示地址 sParaTemp.Add("receive_name", receive_name); //收货人姓名 sParaTemp.Add("receive_address", receive_address); //收货人地址 sParaTemp.Add("receive_zip", receive_zip); //收货人邮编 sParaTemp.Add("receive_phone", receive_phone); //收货人电话号码 sParaTemp.Add("receive_mobile", receive_mobile); //收货人手机号码 //构造即时到帐接口表单提交HTML数据,无需修改 Service ali = new Service(); string sHtmlText = ali.Create_partner_trade_by_buyer(sParaTemp); Response.Write(sHtmlText); } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //=============================获得订单信息================================ string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string user_name = DTRequest.GetFormString("pay_user_name"); string subject = DTRequest.GetFormString("pay_subject"); //以下收货人信息 string receive_name = string.Empty; //收货人姓名 string receive_address = string.Empty; //收货人地址 string receive_zip = string.Empty; //收货人邮编 string receive_phone = string.Empty; //收货人电话 string receive_mobile = string.Empty; //收货人手机 //检查参数是否正确 if (string.IsNullOrEmpty(order_no) || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } if (order_no.StartsWith("R")) //R开头为在线充值订单 { Model.user_recharge model = new BLL.user_recharge().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!"))); return; } if (model.amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!"))); return; } //取得用户信息 Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!"))); return; } receive_name = userModel.nick_name; receive_address = userModel.address; receive_phone = userModel.telphone; receive_mobile = userModel.mobile; } else //B开头为商品订单 { Model.orders model = new BLL.orders().GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!"))); return; } if (model.order_amount != order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!"))); return; } receive_name = model.accept_name; receive_address = model.address; receive_zip = model.post_code; receive_phone = model.telphone; receive_mobile = model.mobile; } if (user_name != "") { user_name = "支付会员:" + user_name; } else { user_name = "匿名用户"; } //===============================请求参数================================== //判断担保或是即时到帐接口 if (Config.Type == "1") //即时到帐 { //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("payment_type", "1"); //收款类型1商品购买 sParaTemp.Add("show_url", siteConfig.weburl); //商品展示地址 sParaTemp.Add("out_trade_no", order_no); //网站订单号 sParaTemp.Add("subject", siteConfig.webname + "-" + subject); //订单名称 sParaTemp.Add("body", user_name); //订单描述 sParaTemp.Add("total_fee", order_amount.ToString()); //订单总金额 sParaTemp.Add("paymethod", ""); //默认支付方式 sParaTemp.Add("defaultbank", ""); //默认网银代号 sParaTemp.Add("anti_phishing_key", ""); //防钓鱼时间戳 sParaTemp.Add("exter_invoke_ip", DTRequest.GetIP()); ////获取客户端的IP地址 sParaTemp.Add("buyer_email", ""); //默认买家支付宝账号 sParaTemp.Add("royalty_type", ""); sParaTemp.Add("royalty_parameters", ""); //构造即时到帐接口表单提交HTML数据,无需修改 Service ali = new Service(); string sHtmlText = ali.Create_direct_pay_by_user(sParaTemp); Response.Write(sHtmlText); } else //担保交易 { //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("payment_type", "1"); //收款类型1商品购买 sParaTemp.Add("out_trade_no", order_no); //网站订单号 sParaTemp.Add("subject", siteConfig.webname + "-" + subject); //订单名称 sParaTemp.Add("price", order_amount.ToString()); //付款金额 sParaTemp.Add("quantity", "1"); //建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品 sParaTemp.Add("logistics_fee", "0.00"); //物流费用 sParaTemp.Add("logistics_type", "EXPRESS"); //物流类型,EXPRESS(快递)、POST(平邮)、EMS(EMS) sParaTemp.Add("logistics_payment", "SELLER_PAY"); //物流支付方式,SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费) sParaTemp.Add("body", user_name); //订单描述 sParaTemp.Add("show_url", siteConfig.weburl); //商品展示地址 sParaTemp.Add("receive_name", receive_name); //收货人姓名 sParaTemp.Add("receive_address", receive_address); //收货人地址 sParaTemp.Add("receive_zip", receive_zip); //收货人邮编 sParaTemp.Add("receive_phone", receive_phone); //收货人电话号码 sParaTemp.Add("receive_mobile", receive_mobile); //收货人手机号码 //构造即时到帐接口表单提交HTML数据,无需修改 Service ali = new Service(); string sHtmlText = ali.Create_partner_trade_by_buyer(sParaTemp); Response.Write(sHtmlText); } }
protected void Page_Load(object sender, EventArgs e) { int site_payment_id = 0; //站点支付方式ID ResponseHandler resHandler = new ResponseHandler(Context); //创建ResponseHandler实例 string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //商户订单号 string trade_no = resHandler.getParameter("transaction_id"); //财付通订单号 string total_fee = resHandler.getParameter("total_fee"); //金额,以分为单位 string discount = resHandler.getParameter("discount"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string trade_state = resHandler.getParameter("trade_state"); //支付结果 if (order_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(order_no); } else if (order_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(order_no); } if (site_payment_id == 0) { Response.Write("该订单号不存在"); return; } //找到站点支付方式ID开始验证 TenpayUtil config = new TenpayUtil(site_payment_id); resHandler.setKey(config.key); //判断签名 if (resHandler.isTenpaySign()) { string notify_id = resHandler.getParameter("notify_id"); //通知id RequestHandler queryReq = new RequestHandler(Context); //通过通知ID查询,确保通知来至财付通 queryReq.init(); queryReq.setKey(config.key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", config.partner); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(config.key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { #region 即时到账处理方法==================================== if ("0".Equals(trade_state)) { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } #endregion } else { Response.Write("查询验证签名失败或id验证失败"); } } else { Response.Write("通知ID查询签名验证失败"); } } else { Response.Write("后台调用通信失败"); } } else { Response.Write("签名验证失败"); } Response.End(); }