/*
         *  This method cn be used to patch an order by passing the order id.
         */
        public async static Task <HttpResponse> PatchOrder(string orderId, bool debug = false)
        {
            var request = new OrdersPatchRequest <Object>(orderId);

            request.RequestBody(BuildPatchRequest());
            var response = await PayPalClient.client().Execute(request);

            if (debug)
            {
                var ordersGetRequest = new OrdersGetRequest(orderId);
                response = await PayPalClient.client().Execute(ordersGetRequest);

                var result = response.Result <Order>();
                Console.WriteLine("Retrieved Order Status After Patch");
                Console.WriteLine("Status: {0}", result.Status);
                Console.WriteLine("Order Id: {0}", result.Id);
                Console.WriteLine("Intent: {0}", result.Intent);
                Console.WriteLine("Links:");
                foreach (LinkDescription link in result.Links)
                {
                    Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method);
                }
                AmountWithBreakdown amount = result.PurchaseUnits[0].Amount;
                Console.WriteLine("Total Amount: {0} {1}", amount.CurrencyCode, amount.Value);
                Console.WriteLine("Response JSON: \n {0}", PayPalClient.ObjectToJSONString(result));
            }
            return(response);
        }
        public async void TestOrdersPatchRequest()
        {
            var response = await OrdersCreateTest.CreateOrder();

            Order createdOrder = response.Result <Order>();
            OrdersPatchRequest <string> request = new OrdersPatchRequest <string>(createdOrder.Id);

            request.RequestBody(buildRequestBody());

            response = await TestHarness.client().Execute(request);

            Assert.Equal(204, (int)response.StatusCode);

            response = await TestHarness.client().Execute(new OrdersGetRequest(createdOrder.Id));

            Assert.Equal(200, (int)response.StatusCode);

            Order getOrder = response.Result <Order>();

            PurchaseUnit firstPurchaseUnit = getOrder.PurchaseUnits[0];

            Assert.Equal("test_ref_id1", firstPurchaseUnit.ReferenceId);
            Assert.Equal("USD", firstPurchaseUnit.Amount.CurrencyCode);
            Assert.Equal("100.00", firstPurchaseUnit.Amount.Value);
            Assert.Equal("added_description", firstPurchaseUnit.Description);
        }
Exemple #3
0
        public async static Task <HttpResponse> PatchOrder(string orderId)
        {
            var request = new OrdersPatchRequest <Object>(orderId);

            request.RequestBody(BuildPatchRequest());
            var response = await PayPalClient.client().Execute(request);

            return(response);
        }