Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }