예제 #1
0
        private OrderRequest CreateOrderRequest(AppZeroAPI.Entities.CustomerOrder order)
        {
            var request = new OrderRequest
            {
                ApplicationContext    = m_ApplicationContext,
                CheckoutPaymentIntent = "CAPTURE"
            };
            var purchaseUnitRequest = new PurchaseUnitRequest
            {
                InvoiceId           = order.rec_id.ToString(),
                AmountWithBreakdown = new AmountWithBreakdown
                {
                    Value           = order.order_total.ToString("f2", CultureInfo.InvariantCulture),
                    CurrencyCode    = "EUR",
                    AmountBreakdown = new AmountBreakdown
                    {
                        ItemTotal = new Money
                        {
                            Value        = order.order_total.ToString("f2", CultureInfo.InvariantCulture),
                            CurrencyCode = "EUR"
                        }
                    }
                }
            };

            request.PurchaseUnits = new List <PurchaseUnitRequest>()
            {
                purchaseUnitRequest
            };
            return(request);
        }
예제 #2
0
        public async Task <string> CreateOrder(AppZeroAPI.Entities.CustomerOrder order)
        {
            var request = new OrdersCreateRequest();

            request.Prefer("return=representation");
            request.RequestBody(CreateOrderRequest(order));
            var response = await m_PayPalHttpClient.Execute(request);

            var order2 = response.Result <PayPalCheckoutSdk.Orders.Order>();

            order.paypal_token = order2.Id;
            var link = order2.Links.Single(link => link.Rel == "approve");

            return(link.Href);
        }