/// <summary> /// 物业2提交订单 /// </summary> /// <param name="param"></param> /// <returns></returns> public PropSecOrderInfo order(PropSecOrderParam param) { PropSecOrderInfo info = null; Dictionary <String, String> parameters = new Dictionary <String, String>(); parameters.Add("trandateTime", param.trandateTime); parameters.Add("servicename", param.servicename); parameters.Add("reqsn", param.reqsn); parameters.Add("loginId", param.loginId); parameters.Add("authcode", param.authcode); parameters.Add("shopType", param.shopType); parameters.Add("AMOUNT", param.AMOUNT); parameters.Add("paymentAmout", param.paymentAmout); parameters.Add("SC10009", param.SC10009); parameters.Add("SC10010", param.SC10010); parameters.Add("SC10007", param.SC10007); parameters.Add("SC10008", param.SC10008); parameters.Add("SC10014", param.SC10014); parameters.Add("merchantNo", param.merchantNo); parameters.Add("terminalNo", ConfigurationManager.AppSettings["MechineNo"]); string jsonText = HttpHelper.getHttp(SysConfigHelper.readerNode("propSecOrderNoNew"), parameters, null); //反序列化JSON字符串,将JSON字符串转换成LIST列表 info = JsonConvert.DeserializeObject <PropSecOrderInfo>(jsonText); return(info); }
private void button5_Click_1(object sender, EventArgs e) { PropSecOrderParam param = new PropSecOrderParam(); param.shopType = "1"; param.AMOUNT = "12"; param.paymentAmout = "0"; param.SC10009 = "W000000001"; param.SC10010 = "01"; param.SC10007 = "XQ00000221"; param.SC10008 = SC10008; param.merchantNo = merchantNo; PropSecOrderInfo info = access.order(param); PayAccess payAccess = new PayAccess(); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("serviceType", "5_2"); parameters.Add("realAmout", info.msgrsp.realAmout); parameters.Add("tr.shop_type", "1"); parameters.Add("tr.cloud_no", info.msgrsp.orderNo); parameters.Add("terminalNo", SysConfigHelper.readerNode("ClientNo")); parameters.Add("ipAddress", SysConfigHelper.readerNode("PayName")); PayResultInfo payinfo = payAccess.PayResNewAcc(parameters); StringBuilder result1 = new StringBuilder(2048); StringBuilder result2 = new StringBuilder(2048); IntPtr status = PropSwwyBLL.WF002( new StringBuilder("02"), //业务类型 new StringBuilder("01"), //卡片种类 new StringBuilder("01"), //卡片版本 new StringBuilder(""), //,业务步骤 new StringBuilder(""), //卡片唯一识别号 new StringBuilder(""), //物业公司编号 new StringBuilder(""), //小区编号 new StringBuilder("W000000001"), //表具产商编号 new StringBuilder("8"), //端口号 result1, //返回说明 new StringBuilder(payinfo.SC20003.ToString()), //业务输入信息 result2 //业务返回信息 ); string result = Marshal.PtrToStringAnsi(status); MessageBox.Show(result); PropSecCardJson card = new PropSec().JsonToModel(result2.ToString()); //SC10007 = card.G_0806; SC10008 = card.G_1802; listViewAdd("写卡:" + "状态:" + result.ToString() + "返回说明:" + result1.ToString() + "返回信息:" + result2.ToString()); //IntPtr intPtr = ReturnString(); //string str = Marshal.PtrToStringAnsi(intPtr); }
/// <summary> /// 提交物业2订单 /// </summary> /// <returns></returns> private Boolean propSecOrder() { try { PropSecAccess access = new PropSecAccess(); PropSecOrderParam param = new PropSecOrderParam(); param.shopType = PayAccess.isWtLkl(Payment.propSecPayParam.IcParams); param.AMOUNT = Payment.propSecPayParam.UserInputMoney; param.paymentAmout = "1"; param.SC10009 = Payment.propSecPayParam.ManufacturerNum; param.SC10010 = Payment.propSecPayParam.CardType; param.SC10007 = ConfigSysParam.ResidentialNo; param.SC10014 = Payment.propSecPayParam.PrimaryKey; param.SC10008 = Payment.propSecPayParam.SC10008; param.merchantNo = Payment.propSecPayParam.merchantNo; PropSecOrderInfo orderinfo = access.order(param); if ("9999".Equals(orderinfo.msgrsp.retcode)) { return(false); } if ("1234".Equals(orderinfo.msgrsp.retcode)) { return(false); } if (!"0000".Equals(orderinfo.msgrsp.retcode)) { return(false); } Payment.propSecPayParam.p = new PayParam(); //获取商户号 Payment.propSecPayParam.p.MERCHANTNO_shopNo = orderinfo.msgrsp.MERCHANTNO; //获取终端号 Payment.propSecPayParam.p.TERMINALNO_clientNo = orderinfo.msgrsp.TERMINALNO; //订单实际支付金额 Payment.propSecPayParam.p.rechageAmount = orderinfo.msgrsp.realAmout; //交易订单号 Payment.propSecPayParam.p.orderNo = orderinfo.msgrsp.orderNo; Payment.propSecPayParam.RechageAmount = orderinfo.msgrsp.realAmout; Payment.propSecPayParam.orderInfo = orderinfo; log.Write("订单提交成功:云平台订单号:" + orderinfo.msgrsp.orderNo); return(true); } catch (Exception ex) { } return(false); }
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; }