예제 #1
0
        private Order _prepareOrderFromCart(Cart cart, CustomerTransactionSession session = null)
        {
            var newOrder = new Order
            {
                CustomerRef   = session.IsEmpty() ? cart.CustomerId.ToReference <Customer>() : session.CustomerRef,
                OrderProducts = cart.Products.Select(cartProduct => _prepareOrderProduct(cartProduct)),
                OrderStatus   = session.IsEmpty() ? OrderStatus.OrderReceived : OrderStatus.PaymentReceived
            };

            return(newOrder);
        }
        public async Task <CustomerTransaction> AddTransaction(CustomerTransactionSession session, IPN ipn)
        {
            var customerTransaction = new CustomerTransaction
            {
                Amount            = ipn.Amount,
                BankTransactionId = ipn.BankTransactionId,
                CardNo            = ipn.CardNo,
                CardType          = ipn.CardType,
                Currency          = session.Currency,
                CustomerRef       = session.CustomerRef,
                SessionKey        = session.SessionKey,
                Status            = ipn.Status, // need to check
                StoreAmount       = ipn.StoreAmount,
                StoreId           = ipn.StoreId,
                TransactionDate   = ipn.TransactionDate,
                TransactionId     = ipn.TransactionId
            };

            await Add(customerTransaction);

            return(customerTransaction);
        }