/// <summary> /// 冲正预处理 /// </summary> /// <param name="creditCard">银行卡信息</param> /// <param name="preMsg">上次支付的信息</param> /// <returns></returns> public byte[] CancelPay(CreditCard creditCard, byte[] preMsg, string posSerialNo) { IPayPreTeatment payPreObj = PaymentPlatFormFactory.GetPayPreTreatmentFactory().GetPayPreObj(creditCard); return(payPreObj.CancelPay(preMsg, creditCard, posSerialNo)); }
public PayResponseModel Pay(byte[] preMsg, string mac) { try { IPay PayObj = PaymentPlatFormFactory.GetPayFactory().GetPayObj(new ICCard()); return(PayObj.Pay(preMsg, mac)); } catch (System.Exception ex) { //针对农行卡 62 开头的卡假如输入简单密码是 //调用接口出现超时的情况。 //进行特殊的处理 返回代码 68 :交易超时,请重试 var w32ex = ex as Win32Exception; if (w32ex == null) { w32ex = ex.InnerException as Win32Exception; } if (w32ex != null && w32ex.ErrorCode.Equals(10060)) { return(new PayResponseModel() { ResponseCode = "68" }); } else { throw ex; } } }
/// <summary> /// 查询预处理 /// </summary> /// <param name="equipment">设备信息</param> /// <returns></returns> public byte[] Query(Model.VisualSelfServiceEquipment equipment) { if (equipment == null) { throw new ArgumentException("无效的设备信息"); } IPayPreTeatment payPreObj = PaymentPlatFormFactory.GetPayPreTreatmentFactory().GetPayPreObj(equipment.creditCard); return(payPreObj.Query(equipment.TerminalNo, equipment.PinBlock, equipment.creditCard)); }
/// <summary> /// 虚拟自助设备信息 /// </summary> /// <param name="equipment"></param> /// <returns></returns> public SignResponseModel Sign(Model.VisualSelfServiceEquipment equipment) { return(PaymentPlatFormFactory.GetPayUtility().Sign(equipment)); }
public PayResponseModel Query(byte[] preMsg, string mac) { IPay PayObj = PaymentPlatFormFactory.GetPayFactory().GetPayObj(new ICCard()); return(PayObj.Query(preMsg, mac)); }