Exemple #1
0
        public Payment CreatePayment(Car car, string baseUrl)
        {
            CarRentPayment carPayment = new CarRentPayment
            {
                Currency      = AppConstants.UsdCurrency,
                Description   = string.Format(AppConstants.RentPaymentDescription, car.Brand.Name, car.Model.Name),
                Intent        = AppConstants.SaleIntent,
                Quantity      = 1,
                SubtotalPrice = CalculateSubtotalPrice(car),
                TaxPercentage = AppConstants.TaxPercentage,
                Sku           = car.Sku
            };
            Payment payment = new Payment
            {
                intent = carPayment.Intent,
                payer  = new Payer()
                {
                    payment_method = AppConstants.PaypalPaymentMethod
                },
                transactions  = GetTransactionsList(carPayment),
                redirect_urls = GetReturnUrls(baseUrl)
            };
            Payment createdPayment = payment.Create(_apiContext);

            return(createdPayment);
        }
Exemple #2
0
        private List <Transaction> GetTransactionsList(CarRentPayment carPayment)
        {
            var transactionList = new List <Transaction>();

            transactionList.Add(new Transaction()
            {
                description    = carPayment.Description,
                invoice_number = GetRandomInvoiceNumber(),
                amount         = new Amount()
                {
                    currency = carPayment.Currency,
                    total    = carPayment.TotalPrice.ToString(),
                    details  = new Details()
                    {
                        tax      = decimal.Round(carPayment.TaxPercentage * carPayment.SubtotalPrice, 2, MidpointRounding.AwayFromZero).ToString(),
                        subtotal = carPayment.SubtotalPrice.ToString()
                    }
                },
                item_list = new ItemList()
                {
                    items = new List <Item>()
                    {
                        new Item()
                        {
                            name     = carPayment.Description,
                            currency = carPayment.Currency,
                            price    = carPayment.SubtotalPrice.ToString(),
                            quantity = carPayment.Quantity.ToString(),
                            sku      = carPayment.Sku
                        }
                    }
                }
            });
            return(transactionList);
        }