public object BackgroundPayment([FromBody] BackgroundPaymentRequest requestParams) { var pay = PaymentFactory.Factory( requestParams.CID, requestParams.StoreId, requestParams.MachineSn, requestParams.DeviceSn, requestParams.Mode, new PayDetails() { CardNo = requestParams.CardNo, CardPassword = requestParams.CardPassword, Amount = requestParams.Amount }, requestParams.Amount); if (pay is IBackgroundPayment) { return(((IBackgroundPayment)pay).RequestPay()); } else if (pay is IBackgroundPaymentWithoutWait) { return(((IBackgroundPaymentWithoutWait)pay).RequestPay()); } return(null); }
public ThirdPartyPaymentStatus GetBackgroundPaymentState([FromBody] BackgroundPaymentRequest requestParams) { var pay = PaymentFactory.Factory( requestParams.CID, requestParams.StoreId, requestParams.MachineSn, requestParams.DeviceSn, requestParams.Mode, new PayDetails() { CardNo = requestParams.CardNo, CardPassword = requestParams.CardPassword, Amount = requestParams.Amount }, requestParams.Amount); if (pay is IBackgroundPayment) { return(((IBackgroundPayment)pay).GetPayStatus()); } return(ThirdPartyPaymentStatus.Unknown); }