/// <summary> /// 根据支付结果跳转 /// </summary> /// <param name="p"></param> /// <param name="map"></param> /// <returns></returns> public static bool PayResultJump(PayParam p, Dictionary <string, string> map) { string resultCode = PayBLL.PayResult(p, map); if (resultCode == null) { return(true); } if ("55".Equals(resultCode)) { Util.JumpUtil.jumpCommonPage("FormInputPassword"); return(false); } else if ("51".Equals(resultCode)) { log.Write("余额不足"); exit("余额不足"); return(false); } else { log.Write("支付失败:返回码:" + map["recode"]); exit("充值失败,请重新缴费,或退卡"); return(false); } }
private void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:小区物业"); Thread.Sleep(3000); //测试 Util.JumpUtil.jumpCommonPage("FormPropStepTemp06_success"); return; PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); Pay pay = new Pay(); //订单结果 PropOrderInfo orderinfo = null; //初始化参数 payAccess.InitPayParam(ref p); PayBLL.payCode_terminalNo(ref p); try { //获取订单 orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormPropStepTemp06_success"); } return; } catch (Exception ex9) { log.Write("交易异常:" + ex9.Message); exit(SysConfigHelper.readerNode("payUnknownInfo")); return; } }
public void pay() { TradeRecord tradeRecord = new TradeRecord(); log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:电力"); PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); Pay pay = new Pay(); //订单 ElecOrderInfo orderinfo = null; //初始化参数 payAccess.InitPayParam(ref p); PayBLL.payCode_terminalNo(ref p); try { //获取订单 orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormElectricStep06_success"); } return; } catch (Exception ex9) { log.Write("交易异常:" + ex9.Message); exit(SysConfigHelper.readerNode("payFailInfo")); return; } }
public void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:广电"); PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); //订单结果 BroadCasOrderInfo orderinfo = null; Pay pay = new Pay(); //初始化银行卡交易参数 payAccess.InitPayParam(ref p); //设置交易流水 PayBLL.payCode_terminalNo(ref p); try { //获取订单 orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormBroadCasStep06_success"); } return; } catch (ThreadAbortException ae) { log.Write("error:" + ae.Message); } catch (Exception ee) { log.Write("交易异常:" + ee.Message); exit("缴费失败,请重新缴费,或退卡"); return; } }
private void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:水务"); PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); Pay pay = new Pay(); //订单结果 WaterOrderInfo orderinfo = null; //初始化参数 payAccess.InitPayParam(ref p); PayBLL.payCode_terminalNo(ref p); try { //获取订单 orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormWaterStep06_success"); } return; } catch (Exception ex6) { log.Write("交易异常:" + ex6.Message); exit("缴费失败,请重新缴费,或退卡"); return; } }
/// <summary> /// 支付 /// </summary> /// <param name="p"></param> /// <returns></returns> public PayResultInfo payStart(PayParam p) { //密码键盘工具类 PasswordBLL pwdBLL = new PasswordBLL(); //交易数据访问类 PayAccess payAccess = new PayAccess(); //支付结果 PayResultInfo payResultInfo = null; try { Dictionary <string, string> parameters = new Dictionary <string, string>(); //缴费类型 parameters.Add("serviceType", p.serviceType); //交易金额 parameters.Add("realAmout", p.rechageAmount); //交易类型,纸币,银行卡,万通卡 parameters.Add("tr.shop_type", isWtLkl(p.icParams)); if (PayStaticParam.payType == -1) {//电子现金支付相关参数 //获取批次号 p.batchNo = LKLProcedure.GetBatchNo(); //获取支付报文 parameters.Add("tr.data", PayBLL.PayMessage(ref p)); //批次流水号 parameters.Add("dzls", p.batchNo + p.WtLklorderNo); } //云平台交易流水号 parameters.Add("tr.cloud_no", p.orderNo); if ("4".Equals(p.serviceType)) { //万通卡支付相关参数 if (SysBLL.IsTest.Equals("正式")) { parameters.Add("terminalno", "XNJ00002"); parameters.Add("terminal", ConfigurationManager.AppSettings["MechineNo"]); } else { parameters.Add("terminalno", "UU000002"); parameters.Add("terminal", ConfigurationManager.AppSettings["MechineNo"]); } } else { parameters.Add("terminalNo", p.terminalNo); } //设置其余参数 initParam(parameters, p); //发起支付 payResultInfo = payAccess.PayResNewAcc(parameters); //纸币交易到此为止 if (PayStaticParam.payType == 0) { if ("0000".Equals(payResultInfo.code)) { //支付成功 log.Write("--------------------交易结束--------------------"); return(payResultInfo); } else { payResultInfo.code = "9999"; log.Write("--------------------交易结束--------------------"); return(payResultInfo); } } if (isNull(payResultInfo) || ("9991".Equals(payResultInfo.code))) { //冲正 CorrectParam correctParam = new CorrectParam(); //缴费类型 correctParam.serviceType = p.serviceType; //支付类型 correctParam.shop_type = isWtLkl(p.icParams); //云平台交易流水 correctParam.cloud_no = p.orderNo; for (int i = 1; i <= 3; i++) { //获取冲正报文 correctParam.data = Util.JumpUtil.CorrectJump(p); //发起冲正 PayResultInfo payResultInfoacc = payAccess.CorrectAcc(correctParam); if ("0000".Equals(payResultInfoacc.code)) { break; } } payResultInfo.code = "9991"; return(payResultInfo); } else if ("9955".Equals(payResultInfo.code)) { //密码错误 SysBLL.PasswordErrorInfo = "密码错误,请重新输入!"; log.Write("密码错误"); log.Write("--------------------交易结束--------------------"); if (p.icParams == null) { //打开键盘,同时交易页面跳转到输入密码页面,万通 pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", p.WtNo); return(payResultInfo); } else { //打开键盘,同时交易页面跳转到输入密码页面,银行卡 pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", p.icParams["cardNo"]); return(payResultInfo); } } else if ("9951".Equals(payResultInfo.code)) { //余额不足 log.Write("余额不足"); return(payResultInfo); } else if ("9900".Equals(payResultInfo.code)) { //发起退款 refund(ref payResultInfo, p); return(payResultInfo); } else if ("0000".Equals(payResultInfo.code)) { //支付成功 log.Write("--------------------交易结束--------------------"); //银行卡给万通卡充值成功后,测试环境下会在其他服务页面中显示银行卡退款按钮,可进行退款操作 if (SysBLL.IsTest.Equals("测试")) { if (p.serviceType.Equals("4")) { //发起退款 RefundTest refundTest = new RefundTest(); refundTest.refundPayResultInfo = payResultInfo; refundTest.refundPayParam = p; PayStaticParam.refundTest.Add(refundTest); } } return(payResultInfo); } else { return(payResultInfo); } } catch (Exception ex) { log.Write("error:99:支付失败:" + ex.Message + ex.InnerException); return(payResultInfo); } }
public void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:物业二次"); PayAccess payAccess = new PayAccess(); PayParam p = Payment.propSecPayParam.p; Pay pay = new Pay(); //订单结果 PropSecOrderInfo orderinfo = Payment.propSecPayParam.orderInfo; //初始化参数 payAccess.InitPayParam(ref p); PayBLL.payCode_terminalNo(ref p); try { //获取订单 //orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { bool isCarsWrite = false; //写卡状态 WriteCardParam writeCardParam = new WriteCardParam(); StringBuilder result1 = new StringBuilder(2048); StringBuilder result2 = new StringBuilder(2048); log.Write("物业2读卡:业务类型:08,卡片种类:" + Payment.propSecPayParam.CardType + ",表具厂商编号:" + Payment.propSecPayParam.ManufacturerNum + ",业务输入信息:" + p.propSecSC20003); IntPtr status = PropSwwy.WF002( new StringBuilder("02"), //业务类型 new StringBuilder(Payment.propSecPayParam.CardType), //卡片种类 new StringBuilder("01"), //卡片版本 new StringBuilder(""), //,业务步骤 new StringBuilder(""), //卡片唯一识别号 new StringBuilder(""), //物业公司编号 new StringBuilder(""), //小区编号 new StringBuilder(Payment.propSecPayParam.ManufacturerNum), //表具产商编号 new StringBuilder(SysConfigHelper.readerNode("PropSwwyName")), //端口号 result1, //返回说明 new StringBuilder(p.propSecSC20003), //业务输入信息 result2 //业务返回信息 ); string result = Marshal.PtrToStringAnsi(status); if ("0".Equals(result)) { //写卡成功 writeCardParam.write_card_status = "1"; isCarsWrite = true; } else { //写卡失败 writeCardParam.write_card_status = "3"; PayResultInfo payresultInfo = p.payResultInfo; p.rqFlushesCode = "SC005"; //pay.refund(ref payresultInfo, p); isCarsWrite = false; } //PropSecCardJson card = new PropSec().JsonToModel(result2.ToString()); writeCardParam.serviceType = p.serviceType; writeCardParam.rqFlushesCode = isCardTypeRq(); writeCardParam.shop_type = PayAccess.isWtLkl(p.icParams); writeCardParam.cloud_no = orderinfo.msgrsp.orderNo; writeCardParam.data = pay.refundStr(p.payResultInfo, p); PayResultInfo resultInfo = payAccess.WriteCardAcc(writeCardParam); if (isCarsWrite) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormPropSecStep08_success"); return; } else { log.Write("error:物业卡写卡失败"); FormTip.FormFailRefundShowinfo = resultInfo.msg; Util.JumpUtil.jumpCommonPage("FormFailRefund"); return; } } return; } catch (AccessViolationException ave) { log.Write("error:" + ave.Message); } catch (Exception ex) { log.Write("error:" + ex.Message); } exit("缴费失败,请稍后再试..."); return; }
public void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:燃气"); PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); Pay pay = new Pay(); //订单结果 GasOrderInfo orderinfo = null; //初始化参数 payAccess.InitPayParam(ref p); PayBLL.payCode_terminalNo(ref p); try { //获取订单 orderInfo(ref orderinfo, p); //获取订单结果处理 if (pay.orderInfoResult(orderinfo.msgrsp.retcode, orderinfo.msgrsp.retshow) == false) { return; } //支付 if (pay.payResult(ref p)) { bool isCarsWrite = false; WriteCardParam writeCardParam = new WriteCardParam(); writeCardParam.write_card_status = "3"; //金卡卡内充值 if (card.cardType == 1) { int rechageNum = Convert.ToInt32(card.rechargeNum) + card.GasValue; if (jinCard.Recharge(card.CardNo, rechageNum)) { isCarsWrite = true; writeCardParam.write_card_status = "1"; } } //先锋卡内充值 if (card.cardType == 2) { int rechageNum = Convert.ToInt32(card.rechargeNum); if (xf.Recharge(card.CardNo, rechageNum)) { isCarsWrite = true; writeCardParam.write_card_status = "1"; } } //写卡状态 writeCardParam.serviceType = p.serviceType; writeCardParam.rqFlushesCode = isCardTypeRq(card); writeCardParam.shop_type = PayAccess.isWtLkl(p.icParams); writeCardParam.cloud_no = orderinfo.msgrsp.orderNo; writeCardParam.data = pay.refundStr(p.payResultInfo, p); payAccess.WriteCardAcc(writeCardParam); if (isCarsWrite) { log.Write("--------------------交易结束--------------------"); Util.JumpUtil.jumpCommonPage("FormGasGoldenCardStep08_success"); return; } else { log.Write("error:燃气卡写卡失败"); exitRefund("缴费失败,退款成功"); return; } } return; } catch (Exception ex) { log.Write("error:" + ex.Message); } exit("缴费失败,退款成功"); return; }
/// <summary> /// 获取冲正报文 /// </summary> /// <param name="p"></param> /// <returns></returns> public static string CorrectJump(PayParam p) { return(PayBLL.Correct(ref p)); }