using System; using BWP.ABCClient.Businesses.Type; using BWP.ABCClient.Exceptions; using BWP.ABCClient.Market; namespace BWP.ABCClient.Businesses { public class MarketOrderPay : BusinessBase { public MarketOrderPay() : base(BusinessTypes.Market) { RequestObj = OrderPayRequest.New(); } public string OrderNo { get; set; } public string CustSignInfo { get; set; } public string CustSignInfo2 { get; set; } protected override void AfterRequest() { var errorMessage = ResponseObj.Message.Control.ReturnMessage ?? string.Empty; Log.AddNewLine(string.Format("交易结果:[{0}]", ResponseObj.Message.Control.ReturnCode)); Log.AddNewLine(string.Format("返回信息:[{0}]", errorMessage)); Log.Commit(); if (ResponseObj.Message.Control.ReturnCode != "0000") { throw new ResponseException(ResponseObj.Message.Control.ReturnCode, errorMessage); } } protected override void BeforeRequest() { if (string.IsNullOrEmpty(SequenceNo)) { throw new Exception("交易流水号不能为空,SequenceNo"); } if (string.IsNullOrEmpty(OrderNo)) { throw new Exception("订单号不能为空,OrderNo"); } RequestObj.Message.Control.MerchantID = MerchantID; RequestObj.Message.Control.MerchantTrxNo = SequenceNo; RequestObj.Message.Parameters.OrderNo = OrderNo; RequestObj.Message.Parameters.PayAmount = Amount.ToString("f2"); RequestObj.Message.Parameters.CustSignInfo = CustSignInfo; RequestObj.Message.Parameters.CustSignInfo2 = CustSignInfo2; } } }