public void orderInfo(ref UnicomOrderInfo orderinfo, PayParam p) { try { //获取订单 log.Write("发起订单:电话号码:" + payParam.PhoneOn + ",缴费金额:" + payParam.UserInputMoney); string shoptype = PayAccess.isWtLkl(p.icParams); orderinfo = UnicomAccess.order(payParam.PhoneOn, p.userInputAmount, payParam.Msgrsp.ACCOUNT_NO, shoptype); if ("9999".Equals(orderinfo.msgrsp.retcode)) { return; } if ("1234".Equals(orderinfo.msgrsp.retcode)) { return; } if (!"0000".Equals(orderinfo.msgrsp.retcode)) { return; } //获取商户号 p.MERCHANTNO_shopNo = orderinfo.msgrsp.MERCHANTNO; //获取终端号 p.TERMINALNO_clientNo = orderinfo.msgrsp.TERMINALNO; if (PayStaticParam.payType == 0) { //交易金额 p.rechageAmount = p.userInputAmount; Payment.unicomPayParam.RechageAmount = p.userInputAmount; } else { //交易金额 p.rechageAmount = orderinfo.msgrsp.realAmout; Payment.unicomPayParam.RechageAmount = orderinfo.msgrsp.realAmout; } //交易订单号 p.orderNo = orderinfo.msgrsp.orderNo; Payment.unicomPayParam.Orderinfo = orderinfo; log.Write("订单提交成功:订单号:" + orderinfo.msgrsp.orderNo); } catch (Exception e) { log.Write("获取缴费订单失败!:" + e.Message); //获取订单的失败 exit("充值失败,请重新缴费,或退卡"); return; } }
/// <summary> /// 发送订单 /// </summary> /// <param name="param"></param> /// <returns></returns> public UnicomOrderInfo order(UnicomOrderParam param) { UnicomOrderInfo info = null; Dictionary <String, String> parameters = new Dictionary <String, String>(); parameters.Add("authcode", param.authcode); parameters.Add("servicename", param.servicename); parameters.Add("trandateTime", param.trandateTime); parameters.Add("reqsn", param.reqsn); parameters.Add("loginId", param.loginId); parameters.Add("phoneNo", param.phoneNo); parameters.Add("paymentAmout", param.paymentAmout); parameters.Add("shopType", param.shopType); parameters.Add("account_no", param.account_no); parameters.Add("terminalNo", ConfigurationManager.AppSettings["MechineNo"]); string jsonText = HttpHelper.getHttp(SysConfigHelper.readerNode("getOrderUnicom"), parameters, null); //反序列化JSON字符串,将JSON字符串转换成LIST列表 info = JsonConvert.DeserializeObject <UnicomOrderInfo>(jsonText); return(info); }
/// <summary> /// 联通提交订单 /// </summary> /// <param name="phoneNo"></param> /// <param name="amout"></param> /// <returns></returns> public static UnicomOrderInfo order(string phoneNo, string amout, string account, string shoptype) { UnicomOrderInfo info = null; try { UnicomOrderParam param = new UnicomOrderParam(); param.authcode = SysBLL.Authcode; param.servicename = "LT002"; param.trandateTime = SysBLL.getYYYYMMDDHHMMSSTime(); param.reqsn = SysBLL.getSerialNum(); param.loginId = SysBLL.getCpuNo(); param.phoneNo = phoneNo; param.paymentAmout = amout; param.shopType = shoptype;//************************************* param.account_no = account; info = access.order(param); string temp = info.msgrsp.retcode; return(info); } catch (Exception e) { throw new WtException(WtExceptionCode.Bus.BUS_QUERY, e.Message); } }
private void pay() { log.Write("--------------------交易开始--------------------"); log.Write("----------缴费类型:联通"); PayAccess payAccess = new PayAccess(); PayParam p = new PayParam(); Pay pay = new Pay(); //订单结果 UnicomOrderInfo 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("FormUnicomStep06_success"); } return; } catch (Exception ex9) { log.Write("交易异常:" + ex9.Message + ex9.InnerException); exit("充值失败,请稍后再试..."); return; } }