Example #1
0
        /// <summary>
        /// 写卡状态
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public PayResultInfo WriteCardAcc(WriteCardParam param)
        {
            Dictionary <String, String> parameters = new Dictionary <String, String>();

            parameters.Add("write_card_status", param.write_card_status);
            parameters.Add("loginId", SysBLL.getCpuNo());
            parameters.Add("reqsn", SysBLL.getSerialNum());
            parameters.Add("refundType", param.refundType);
            parameters.Add("authcode", param.authcode);
            parameters.Add("orderno", param.orderno);
            parameters.Add("refundMsg", param.refundMsg);
            parameters.Add("remarks", param.remarks);
            string jsonText = HttpHelper.getHttp(SysConfigHelper.readerNode("BusLoginName"), parameters, null);

            //反序列化JSON字符串,将JSON字符串转换成LIST列表
            return(JsonConvert.DeserializeObject <PayResultInfo>(jsonText));
        }
Example #2
0
        /// <summary>
        /// 写卡状态
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public PayResultInfo WriteCardAcc(WriteCardParam param)
        {
            Dictionary <String, String> parameters = new Dictionary <String, String>();

            parameters.Add("write_card_status", param.write_card_status);
            parameters.Add("loginId", SysBLL.getCpuNo());
            parameters.Add("reqsn", SysBLL.getSerialNum());
            parameters.Add("serviceType", param.serviceType);
            parameters.Add("authcode", SysBLL.Authcode);
            parameters.Add("transType", "02");
            parameters.Add("rqFlushesCode", param.rqFlushesCode);
            parameters.Add("tr.message_type", "5");
            parameters.Add("tr.shop_type", param.shop_type);
            parameters.Add("tr.t_id", ConfigurationManager.AppSettings["MechineNo"]);
            parameters.Add("tr.data", param.data);
            parameters.Add("tr.cloud_no", param.cloud_no);
            string jsonText = HttpHelper.getHttp(SysConfigHelper.readerNode("writeCardName"), parameters, null);

            //反序列化JSON字符串,将JSON字符串转换成LIST列表
            return(JsonConvert.DeserializeObject <PayResultInfo>(jsonText));
        }
Example #3
0
        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;
        }