/// <summary> /// /// </summary> /// <returns></returns> private string Success() { string value = ""; try { PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(); int type = alipay.ReturnType(Request.QueryString["notify_type"].ToString()); if (type == 1) { //1.支付 if (Request.QueryString["out_trade_no"] != null && Request.QueryString["trade_no"] != null && Request.QueryString["total_fee"] != null) { string orderid = Request.QueryString["out_trade_no"].ToString(); string onLineNo = Request.QueryString["trade_no"].ToString(); string price = Request.QueryString["total_fee"].ToString(); value = "Sucess.aspx?PayType=1&ReturnType=1&OrderId=" + orderid + "&Price=" + price + "&OnLineNo=" + onLineNo; } } else if (type == 2) { //2.退款 } } catch (Exception) { } return(value); }
/// <summary> /// 账号签约查询 /// </summary> /// <param name="payType"></param> /// <param name="payAct"></param> /// <returns></returns> public string GetSign(string payType, string payAct) { string result = ""; try { if (payType == "1") { PbProject.Logic.Pay.AliPay aliPay = new PbProject.Logic.Pay.AliPay(); result = aliPay.GetUserSign(payAct); } else if (payType == "2") { //快钱 } else if (payType == "3") { PbProject.Logic.Pay.ChinaPnr chinaPnr = new PbProject.Logic.Pay.ChinaPnr(); result = chinaPnr.Sign(payAct, payAct); } else if (payType == "4") { //财付通 } else { result = ""; } } catch (Exception) { } return(result); }
/// <summary> /// 账号签约查询 /// </summary> /// <param name="payType"></param> /// <param name="payAct"></param> /// <returns></returns> public bool QuerySign(string payType, string payAct) { bool result = false; try { if (payType == "1") { PbProject.Logic.Pay.AliPay aliPay = new PbProject.Logic.Pay.AliPay(); result = aliPay.IsUserSign(payAct); } else if (payType == "2") { //快钱 } else if (payType == "3") { PbProject.Logic.Pay.ChinaPnr chinaPnr = new PbProject.Logic.Pay.ChinaPnr(); result = chinaPnr.QuerySign(payAct, payAct); } else if (payType == "4") { //财付通 } else { result = false; } } catch (Exception) { } return(result); }
/// <summary> /// 验证签约 /// </summary> /// <returns></returns> private bool IsDataUrl() { if (Request.QueryString["sign"] != null && Request.QueryString["notify_id"] != null) { PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(); //接收地址 string alipayNotifyURL = alipay._alipayreurl + "notify_id=" + Request.QueryString["notify_id"].ToString() + "&partner=" + alipay._partner; string key = alipay._code; //获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的 string responseTxt = alipay.Get_Http(alipayNotifyURL, 120000); //解析签名 int i; NameValueCollection coll; coll = Request.QueryString; String[] requestarr = coll.AllKeys; //进行排序 string[] Sortedstr = alipay.BubbleSort(requestarr); //构造待md5摘要字符串 string prestr = ""; for (i = 0; i < Sortedstr.Length; i++) { if (Request.QueryString[Sortedstr[i]] != "" && Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type") { if (i == Sortedstr.Length - 1) { prestr = prestr + Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]]; } else { prestr = prestr + Sortedstr[i] + "=" + Request.QueryString[Sortedstr[i]] + "&"; } } } prestr = prestr + key; string mysign = alipay.GetMD5(prestr, ""); string sign = Request.QueryString["sign"]; //验证支付发过来的消息,签名是否正确 if (mysign == sign && responseTxt == "true") { return(true); } else { return(false); } } return(false); }
private void button3_Click(object sender, EventArgs e) { PbProject.Model.User_Company mTopcom = new PbProject.Logic.User.User_CompanyBLL().GetCompany("100001000045"); PbProject.Logic.ControlBase.Bd_Base_ParametersBLL Bp = new PbProject.Logic.ControlBase.Bd_Base_ParametersBLL(); List <PbProject.Model.Bd_Base_Parameters> ParList = Bp.GetParametersListByCpyNo(mTopcom.UninCode.ToString()); PbProject.Model.definitionParam.BaseSwitch BS = PbProject.WebCommon.Utility.BaseParams.getParams(ParList); PbProject.Logic.Pay.AliPay tempAlipay = new PbProject.Logic.Pay.AliPay(); string msg = ""; string sqlWhere = " orderid='0130502163134897981'"; BaseDataManage Manage = new BaseDataManage(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Dal.dll"); List <PbProject.Model.Tb_Ticket_Order> orderList = Manage.CallMethod("Tb_Ticket_Order", "GetList", null, new object[] { sqlWhere }) as List <PbProject.Model.Tb_Ticket_Order>; PbProject.Model.Tb_Ticket_Order order = orderList[0]; tempAlipay.QueryPriceByPNR(order, BS, ref msg); }
/// <summary> /// 签约 充值收款账号 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lbtnZFBSign_Repay_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(txtZFB_Repay.Text.Trim())) { lbtnZFBSign.Visible = false; PbProject.Logic.Pay.AliPay aliPay = new PbProject.Logic.Pay.AliPay(); Response.Write("<script> window.open('" + aliPay.GetUserSign(txtZFB_Repay.Text.Trim()) + "'); </script>"); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), DateTime.Now.Ticks.ToString(), "showdialog('请输入签约账号!');", true); } } catch (Exception ex) { Page.ClientScript.RegisterStartupScript(this.GetType(), DateTime.Now.Ticks.ToString(), "showdialog('操作错误!');", true); } }
/// <summary> /// CAE 自动代扣 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnCAEPay_Click(object sender, EventArgs e) { PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(); ///// <param name="type_code">代理业务编号</param> ///// <param name="out_order_no">商户订单号</param> ///// <param name="subject">支付标题:代扣</param> ///// <param name="amount">金额</param> ///// <param name="trans_account_out">转出支付宝账号</param> //string out_order_no = DateTime.Now.Ticks.ToString();//代理业务编号 //string subject = "代扣"; //说明 //string amount = "4.0"; // 订单金额 //string trans_account_out = "*****@*****.**"; //代扣账号 //string trans_account_in = "*****@*****.**";// 收款账号 //string royalty_parameters = "[email protected]^3.00^测试代扣|[email protected]^1.00^测试代扣"; //分账明细,可以为空 string out_order_no = DateTime.Now.Ticks.ToString(); //代理业务编号 string subject = "代扣测试"; //说明 string amount = "40.0"; // 订单金额 string trans_account_out = "*****@*****.**"; // 代扣账号 string trans_account_in = "*****@*****.**"; //收款账号 string royalty_parameters = ""; //分账明细,可以为空 string strValues = alipay.GetPayCAE(out_order_no, subject, amount, trans_account_out, trans_account_in, royalty_parameters); if (strValues.Contains("USER_PAY_TYPE_MISMATCH")) { //代扣账号没钱 } //strValues = strValues.Replace("method='post'", "method='post' target='_blank'"); Response.Write(strValues); }
/// <summary> /// 保存 充值收款账号 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnZFBOK_Repay_Click(object sender, EventArgs e) { string msg = ""; try { if (!string.IsNullOrEmpty(txtZFB_Repay.Text.Trim())) { PbProject.Logic.Pay.AliPay aliPay = new PbProject.Logic.Pay.AliPay(); if (aliPay.IsUserSign(txtZFB_Repay.Text.Trim())) { msg = BtnSave(0, 1, txtZFB_Repay.Text.Trim()); } else { msg = "账号未签约!"; } } else { msg = "请输入签约账号!"; } } catch (Exception ex) { msg = "操作错误!"; } if (msg.Contains("成功")) { } else { lbtnZFBSign_Repay.Visible = true; } Page.ClientScript.RegisterStartupScript(this.GetType(), DateTime.Now.Ticks.ToString(), "showdialog('" + msg + "');", true); }
/// <summary> /// 退款处理 /// </summary> /// <param name="payType">支付方式</param> /// <param name="oldOrderId">原支付订单号</param> /// <param name="newOrderId">退款订单号</param> /// <param name="onlineNo">在线交易号、退款流水号</param> /// <param name="price">订单金额</param> /// <param name="rate">手续费率</param> /// <param name="act">收款账号</param> /// <param name="detail">退款明细</param> /// <returns></returns> public string Refund(string payType, string oldOrderId, string newOrderId, string onlineNo, string price, string rate, string act, string detail) { string msg = ""; try { string strOrderID = newOrderId; //订单编号(退、废) string strOrderOldID = oldOrderId; //原支付订单号 string strOrderOnlineNo = onlineNo; //交易号 string strPrice = price; // 退款金额 string strAct = act; //收款账号 string details = detail; //退款明细 decimal strRate = (!string.IsNullOrEmpty(rate)) ? decimal.Parse(rate) : 0.001M; //费率 bool result = false; msg = (string.IsNullOrEmpty(strPrice)) ? "请输入退款金额!" : msg; msg = (string.IsNullOrEmpty(strAct)) ? "请输入收款账号!" : msg; decimal total = (!string.IsNullOrEmpty(strPrice)) ? decimal.Parse(strPrice) : 0; //订单退款金额 total = total != 0 ? FourToFiveNum(total, 2) : total; if (payType == "1") { #region 支付宝 msg = (string.IsNullOrEmpty(strOrderOnlineNo)) ? "请输入交易号!" : msg; msg = (strOrderOnlineNo.Length != 16) ? "交易号格式错误!" : msg; if (msg == "") { PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(false); #region 处理 decimal priceRate = total * strRate; //费率 priceRate = FourToFiveNum(priceRate, 2); decimal priceGy = total - priceRate; //供应退款 priceGy = FourToFiveNum(priceGy, 2); if (string.IsNullOrEmpty(details)) { details = strOrderOnlineNo + "^" + total.ToString("f2") + "^退款|" + act + "^^" + alipay._serveremail + "^^" + priceGy.ToString("f2") + "^退款"; } if (strOrderOnlineNo != null && strOrderOnlineNo != "") { string bno = DateTime.Now.ToString("yyyyMMddHHmmsss"); string[] strValueS = new string[3]; strValueS[0] = bno; strValueS[1] = "1"; strValueS[2] = details; //退款 result = alipay.IsRefund(strValueS); if (result == true) { msg = "数据提交成功,稍后请查询核对数据。。。"; #region 支付宝 查询退款 /* * if (msg == "") * { * string str = alipay.QueryRefundResultStr(strOrderOnlineNo); * string[] strs = str.Split('#'); * for (int i = 0; i < strs.Length; i++) * { * if (!string.IsNullOrEmpty(strs[i])) * { * string[] strss = strs[i].Split('$'); * * if (!string.IsNullOrEmpty(strss[0]) && strss[0].Contains("SUCCESS")) * { * //退款成功 * msg += "退款成功!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; * break; * } * } * } * } * */ #endregion } else { msg = "数据提交失败,请检测数据格式是否有误!!!"; } } #endregion } #endregion } else if (payType == "2") { #region 快钱 msg = (string.IsNullOrEmpty(strOrderID)) ? "请输入订单号!" : msg; //订单编号(退、废) msg = (string.IsNullOrEmpty(strOrderOldID)) ? "请输入原订单号!" : msg; //原支付订单号 if (msg == "") { #region 处理 PbProject.Logic.Pay._99Bill bill = new PbProject.Logic.Pay._99Bill(false); string dataTime = DateTime.Now.ToString("yyyyMMddHHmmss"); decimal priceRate = total * strRate; //费率 priceRate = FourToFiveNum(priceRate, 2); decimal priceGy = total - priceRate; //供应退款 priceGy = FourToFiveNum(priceGy, 2); priceGy = priceGy * 100; //供应退款 priceRate = priceRate * 100; //费率 total = total * 100; //订单退款 int p1 = int.Parse(priceGy.ToString().Split('.')[0]); //供应退款 int p2 = int.Parse(priceRate.ToString().Split('.')[0]); //费率 int p3 = int.Parse(total.ToString().Split('.')[0]); //订单退款 //"1^[email protected]^5000^爱的|1^[email protected]^7000^分账1|1^[email protected]^8000^分账2"; if (string.IsNullOrEmpty(details)) { details = "1^" + bill.LinkEmail + "^" + p2.ToString() + "^Refund|1^" + strAct + "^" + p1.ToString() + "^Refund"; } string[] Details = new string[6]; Details[0] = strOrderOldID; // 订单编号(原订单号) Details[1] = p3.ToString(); // 订单金额 Details[2] = "系统退款"; //备注 Details[3] = details; Details[4] = strOrderID; // 订单编号(退废订单编号) Details[5] = dataTime; //退款流水号 string str = bill.Refund(Details); result = bill.IsRefund(str); //result = true; if (result == true) { msg = "数据提交成功,稍后请查询核对数据。。。"; } else { msg = "数据提交失败,请检测数据格式是否有误!!!"; } #endregion } #endregion } else if (payType == "3") { #region 汇付 msg = (string.IsNullOrEmpty(strOrderID)) ? "请输入订单号!" : ""; //订单编号(退、废) msg = (string.IsNullOrEmpty(strOrderOldID)) ? "请输入原订单号!" : ""; //原支付订单号 if (msg == "") { #region 处理 PbProject.Logic.Pay.ChinaPnr chinaPnr = new PbProject.Logic.Pay.ChinaPnr(false); string orderno = DateTime.Now.ToString("yyyyMMddHHmm"); string orderid = (strOrderID == strOrderOldID) ? orderno + "_" + strOrderOldID : strOrderID; //订单编号 decimal priceRate = total * strRate; //费率 priceRate = FourToFiveNum(priceRate, 2); decimal priceGy = total - priceRate; //供应退款 priceGy = FourToFiveNum(priceGy, 2); if (string.IsNullOrEmpty(details)) { details = "Agent:" + act + ":" + priceGy.ToString("f2"); } string[] Details = new string[4]; Details[0] = orderid; Details[1] = strOrderOldID; Details[2] = strPrice; Details[3] = details; string value = chinaPnr.Refund(Details[0], Details[1], Details[2], Details[3]); if (value.Contains("RespCode=000000") && value.Contains("ErrMsg=成功")) { msg = "数据提交成功,稍后请查询核对数据。。。"; } else { msg = "数据提交失败,请检测数据格式是否有误!!!"; } #endregion } #endregion } else if (payType == "4") { #region 财付通 #endregion } else { msg = "请选择支付方式"; } } catch (Exception) { } return(msg); }
/// <summary> /// 支付宝自动出票 /// </summary> /// <param name="passengerManage"></param> /// <param name="order"></param> /// <param name="Log"></param> private void AlipayTicketWork(Tb_Ticket_PassengerBLL passengerManage, Tb_Ticket_Order order, ListParam LPm, B2BShowLog Log) { PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(); PbProject.Model.definitionParam.BaseSwitch BS = new PbProject.Model.definitionParam.BaseSwitch(); string GYCpyNo = order.CPCpyNo; if (GYCpyNo.Length >= 12) { GYCpyNo = GYCpyNo.Substring(0, 12); PbProject.Model.User_Company mTopcom = new PbProject.Logic.User.User_CompanyBLL().GetCompany(GYCpyNo); PbProject.Logic.ControlBase.Bd_Base_ParametersBLL Bp = new PbProject.Logic.ControlBase.Bd_Base_ParametersBLL(); List <PbProject.Model.Bd_Base_Parameters> ParList = Bp.GetParametersListByCpyNo(mTopcom.UninCode.ToString()); BS = PbProject.WebCommon.Utility.BaseParams.getParams(ParList); string msg = ""; string UpdateFiled = ""; string sql = ""; try { //锁定订单 sql = string.Format(" update Tb_Ticket_Order set LockCpyNo='{0}' ,LockTime='{1}',LockLoginName='系统管理员' where OrderId='{2}' ", GYCpyNo, System.DateTime.Now, order.OrderId); Manage.ExecuteNonQuerySQLInfo(sql); bool IsOk = alipay.AutoPay(order, BS, ref msg); //失败请求次数默认 int times = 3; try { times = string.IsNullOrEmpty(BS.AutoPayAccount.Split('^')[1]) ? 1 : Convert.ToInt32(BS.AutoPayAccount.Split('^')[1]); } catch (Exception) { Log(2, "错误:失败次数未取到, 订单号:" + order.OrderId + " " + BS.AutoPayAccount + "\r\n"); } //请求成功 if (IsOk) { //添加操作订单的内容 string LogCon = "于 " + DateTime.Now + " 自动出票启动成功,请等待航空公司出票后系统自动回帖票号"; OrderLog(order.OrderId, LogCon, LPm, "1"); Log(2, string.Format("出票成功,订单ID{0}", order.OrderId) + "\r\n"); UpdateFiled = " A10=1 ,";//标识已请求成功 } else { Log(2, string.Format("订单ID{0},出票信息:{1}", order.OrderId, msg) + "\r\n"); for (int i = 0; i < times; i++) { IsOk = alipay.AutoPay(order, BS, ref msg); Log(2, string.Format("订单ID{0},出票信息:{1}", order.OrderId, msg) + "\r\n"); if (IsOk) { //添加操作订单的内容 string LogCon = "于 " + DateTime.Now + " 自动出票启动成功,请等待航空公司出票后系统自动回帖票号"; OrderLog(order.OrderId, LogCon, LPm, "1"); Log(2, string.Format("出票成功,订单ID{0}", order.OrderId) + "\r\n"); UpdateFiled = " A10=1 ,";//标识已请求成功 break; } if (i >= times - 1) { #region 记录操作日志 //记录日志 if (msg == "未查到符合支付价格的政策") { msg = "与航空公司网站价格不符合"; } string LogCon = "于 " + DateTime.Now + " 第" + (i + 1).ToString() + "次调用自动出票失败,失败原因:" + msg; OrderLog(order.OrderId, LogCon, LPm, "1"); #endregion UpdateFiled = " A10=2,AutoPrintFlag=0 ,";//标识已请求成功 } Thread.Sleep(1); } } } catch (Exception ex) { try { Log(2, "发生不可预料的异常:" + ex.Message + "该功能停止,请重新启动,如果继续发生请联系开发人员解决,谢谢!\r\n"); if (ex is ThreadAbortException) { return; } } catch (Exception) { } } finally { //解锁订单 sql = string.Format(" update Tb_Ticket_Order set " + UpdateFiled + " LockCpyNo='',LockLoginName='' ,LockTime='{0}' where OrderId='{1}' ", System.DateTime.Now, order.OrderId); Manage.ExecuteNonQuerySQLInfo(sql); } } }
/// <summary> /// 退款查询 /// </summary> /// <param name="payType">支付方式</param> /// <param name="oldOrderId">原支付订单号</param> /// <param name="newOrderId">退款订单号</param> /// <param name="onlineNo">在线交易号 、退款流水号</param> /// <returns></returns> public string RefundSel(string payType, string oldOrderId, string newOrderId, string onlineNo, out string msgShow) { string returnValue = ""; msgShow = ""; try { if (payType == "1" || payType == "5") { #region 支付宝 PbProject.Logic.Pay.AliPay alipay = new PbProject.Logic.Pay.AliPay(); msgShow = (string.IsNullOrEmpty(onlineNo) || onlineNo.Length != 16) ? "请正确输入交易号!" : msgShow; if (msgShow == "") { string str = alipay.QueryRefundResultStr(onlineNo); string[] strs = str.Split('#'); for (int i = 0; i < strs.Length; i++) { if (!string.IsNullOrEmpty(strs[i])) { string[] strss = strs[i].Split('$'); if (!string.IsNullOrEmpty(strss[0]) && strss[0].Contains("SUCCESS")) { //退款成功 msgShow = "退款成功!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; break; } } } returnValue = str + "<br/>" + msgShow + "<br/>"; } #endregion } else if (payType == "2" || payType == "6") { #region 快钱 msgShow = (string.IsNullOrEmpty(newOrderId)) ? "请输入订单号!" : msgShow; msgShow = (string.IsNullOrEmpty(oldOrderId)) ? "请输入原订单号!" : msgShow; msgShow = (string.IsNullOrEmpty(onlineNo)) ? "请输入退款流水号!" : msgShow; if (msgShow == "") { PbProject.Logic.Pay._99Bill bill = new PbProject.Logic.Pay._99Bill(); string[] strOrderNoS = onlineNo.Split('|'); for (int i = 0; i < strOrderNoS.Length; i++) { if (!string.IsNullOrEmpty(strOrderNoS[i])) { // strOrderNoS[i]; //快钱退款流水号 string str = bill.GetRefund(oldOrderId, strOrderNoS[i]); if (str != null && str.Contains("<result>10</result>")) { msgShow = "退款成功!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; returnValue += str + "<br/>" + msgShow + "<br/>"; break; } else if (str != null && (str.Contains("<result>00</result>") && str.Contains("<errCode></errCode>"))) { msgShow = "退款进行中!需等待快钱审核!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; returnValue += str + "<br/>" + msgShow + "<br/>"; break; } else { msgShow = "退款失败!"; returnValue += str + "<br/>" + msgShow + "<br/>"; } } } } #endregion } else if (payType == "3" || payType == "7") { #region 汇付 PbProject.Logic.Pay.ChinaPnr chinaPnr = new PbProject.Logic.Pay.ChinaPnr(); msgShow = (string.IsNullOrEmpty(onlineNo)) ? "请输入退款流水号!" : msgShow; if (msgShow == "") { string[] strOrderNoS = onlineNo.Split('|'); for (int i = 0; i < strOrderNoS.Length; i++) { if (!string.IsNullOrEmpty(strOrderNoS[i])) { // strOrderNoS[i]; //汇付 退款订单号 //string str = chinaPnr.QueryRefundStatus(strOrderNoS[i]).Replace("#", "<br/>\n"); string str = chinaPnr.QueryRefundStatus(strOrderNoS[i]); if (str != null && str.Contains("RespCode=000000") && str.Contains("ErrMsg=退款交易已成功")) { msgShow = " 退款成功!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; returnValue += str + "<br/>" + msgShow + "<br/>"; break; } else if (str != null && str.Contains("RespCode=000000") && str.Contains("ErrMsg=退款交易,已扣款,系统处理中")) { msgShow = " 退款成功,退款中!银行卡 2 - 7个工作日到账,信用卡 2 - 14 个工作日到账!"; returnValue += str + "<br/>" + msgShow + "<br/>"; break; } else { msgShow = " 退款失败!"; returnValue += str + "<br/>" + msgShow + "<br/>"; } } } } #endregion } else if (payType == "4" || payType == "8" || payType == "40") { #region 财付通 TenPayParam tenPayParam = new TenPayParam(); tenPayParam.Orderid = newOrderId; tenPayParam.OldOrderid = oldOrderId; tenPayParam.PayNo = onlineNo; tenPayParam.Date = DateTime.Now.ToString("yyyyMMdd"); returnValue = new TenPay().ClientSplitInquire(tenPayParam); #endregion } else { msgShow = "请选择支付方式"; } } catch (Exception) { } return(returnValue); }
/// <summary> /// 支付查询 /// </summary> /// <param name="payType">支付方式</param> /// <param name="oldOrderId">订单号</param> /// <param name="IsOperOrder">true:更新订单等信息 、false:不跟新订单等信息</param> /// <param name="oldOrderId">out:提示消息</param> /// <returns></returns> public string PaySel(string payType, string oldOrderId, bool IsOperOrder, out string msgShow) { string strValue = ""; msgShow = ""; try { string PayNo = ""; //交易号 decimal PayMoney = 0; //交易金额 PbProject.Logic.Pay.Bill payBill = new PbProject.Logic.Pay.Bill(); if (payType == "1") { msgShow += "支付宝:"; #region 支付宝 PbProject.Logic.Pay.AliPay aliPay = new PbProject.Logic.Pay.AliPay(); strValue = aliPay.TradeQuery(oldOrderId); if (strValue.Contains("<error>TRADE_NOT_EXIST</error>")) { msgShow += "查询失败"; } else if (strValue.Contains("<trade_status>TRADE_SUCCESS</trade_status>")) { msgShow += "交易成功"; XElement root = XElement.Parse(strValue); if (root.Element("response") != null) { XElement xe = root.Element("response"); if (xe.Element("trade") != null) { XElement xe1 = xe.Element("trade"); //交易号 if (xe1.Element("trade_no") != null) { PayNo = xe1.Element("trade_no").Value; msgShow += " , 交易号:" + PayNo; } //交易金额 if (xe1.Element("total_fee") != null) { PayMoney = decimal.Parse(xe1.Element("total_fee").Value); msgShow += " , 订单支付金额:" + PayMoney.ToString("f2"); } } } if (IsOperOrder && msgShow.Contains("交易成功")) { payBill.CreateBillPayBill(oldOrderId, PayNo, 1, "", "在线支付", "支付宝支付", ""); // 支付 } } else { msgShow += "支付宝 未付"; } #endregion strValue = "支付宝查询结果:" + strValue; } else if (payType == "2") { msgShow += "快钱:"; #region 快钱 PbProject.Logic.Pay._99Bill bill = new PbProject.Logic.Pay._99Bill(); strValue = bill.GetPayReturn(oldOrderId); if (strValue.Contains("<payResult>10</payResult>")) { msgShow += "交易成功"; XElement root = XElement.Parse(strValue); //交易号 if (root.Element("dealId") != null) { PayNo = root.Element("dealId").Value; msgShow += " , 交易号:" + PayNo; } //支付金额 if (root.Element("payAmount") != null) { PayMoney = decimal.Parse(root.Element("payAmount").Value); PayMoney = PayMoney / 100; msgShow += " , 订单支付金额:" + PayMoney.ToString("f2"); } if (IsOperOrder && msgShow.Contains("交易成功")) { payBill.CreateBillPayBill(oldOrderId, PayNo, 2, "", "在线支付", "快钱支付", ""); // 支付 } if (strValue.Contains("<sharingStatus>10</sharingStatus>")) { msgShow += ",分账成功"; } else { msgShow += ",分账失败"; } } else { msgShow += "快钱 未付"; } #endregion strValue = "快钱查询结果:" + strValue; } else if (payType == "3") { msgShow += "汇付:"; #region 汇付 PbProject.Logic.Pay.ChinaPnr chinaPnr = new PbProject.Logic.Pay.ChinaPnr(); strValue = chinaPnr.QueryStatus(oldOrderId); if (strValue.Contains("CmdId=QueryStatus") && strValue.Contains("RespCode=000000") && strValue.Contains("已支付")) { msgShow += "交易成功"; msgShow += " , 交易号:" + DateTime.Now.ToString("yyyyMMddHHmmss"); msgShow += " , 订单支付金额:见订单"; if (IsOperOrder && msgShow.Contains("交易成功")) { payBill.CreateBillPayBill(oldOrderId, PayNo, 3, "", "在线支付", "汇付支付", ""); // 支付 } } else { msgShow += "汇付 未付"; } #endregion strValue = "汇付查询结果:" + strValue; } else if (payType == "4") { msgShow += "财付通:"; #region 财付通 msgShow += "财付通暂时不支付查询"; #endregion strValue = "汇付查询结果:" + msgShow; } else { msgShow = "请选择支付方式"; } } catch (Exception) { } return(strValue); }