public async static Task <HttpResponse> CancelItem(string itemId, bool debug = false)
        {
            try {
                PayoutsItemCancelRequest request = new PayoutsItemCancelRequest(itemId);
                var cancelResponse = await PayPalClient.client().Execute(request);

                var result = cancelResponse.Result <PayoutItemResponse>();
                if (debug)
                {
                    Console.WriteLine("Batch: {0}", result.PayoutBatchId);
                    Console.WriteLine("Item: {0}", result.PayoutItemId);
                    Console.WriteLine("status: {0}", result.TransactionStatus);

                    Console.WriteLine("Links:");
                    foreach (LinkDescription link in result.Links)
                    {
                        Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method);
                    }
                }
                return(cancelResponse);
            } catch (HttpException ex) {
                String errorString = ex.Message;
                Error  error       = ErrorUtil.deserializeError(errorString);
                ErrorUtil.printError(error);
                return(null);
            }
        }
예제 #2
0
        public async void TestPayoutsItemCancelRequest()

        {
            var response = await PayoutsPostTest.TestCreatePayoutRequest();

            CreatePayoutResponse batch   = response.Result <CreatePayoutResponse>();
            PayoutsGetRequest    request = new PayoutsGetRequest(batch.BatchHeader.PayoutBatchId);



            Thread.Sleep(10000);
            HttpResponse getResponse = await TestHarness.client().Execute(request);

            PayoutBatch batchDetails = getResponse.Result <PayoutBatch>();

            Assert.NotNull(batchDetails.Items);
            Assert.NotNull(batchDetails.Items[0]);
            Assert.NotNull(batchDetails.Items[0].PayoutItemId);

            Console.WriteLine("Status: " + batchDetails.Items[0].TransactionStatus);
            Thread.Sleep(10000);

            if (batchDetails.Items[0].TransactionStatus.Equals("UNCLAIMED"))
            {
                PayoutsItemCancelRequest cancelRequest = new PayoutsItemCancelRequest(batchDetails.Items[0].PayoutItemId);

                HttpResponse cancelResponse = await TestHarness.client().Execute(cancelRequest);

                Assert.Equal(200, (int)cancelResponse.StatusCode);
                Assert.NotNull(cancelResponse.Result <PayoutItemResponse>());
            }
            // Add your own checks here
        }
예제 #3
0
        public async static Task <HttpResponse> CancelItem(string itemId, bool debug = false)
        {
            PayoutsItemCancelRequest request = new PayoutsItemCancelRequest(itemId);
            var cancelResponse = await PayPalClient.client().Execute(request);

            var result = cancelResponse.Result <PayoutItemResponse>();

            if (debug)
            {
                Console.WriteLine("Batch: {0}", result.PayoutBatchId);
                Console.WriteLine("Item: {0}", result.PayoutItemId);
                Console.WriteLine("status: {0}", result.TransactionStatus);

                Console.WriteLine("Links:");
                foreach (LinkDescription link in result.Links)
                {
                    Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method);
                }
            }
            return(cancelResponse);
        }
예제 #4
0
        public async void TestPayoutsItemCancelRequestFailure()

        {
            PayoutsItemCancelRequest cancelRequest = new PayoutsItemCancelRequest("34234324");

            try {
                HttpResponse cancelResponse = await TestHarness.client().Execute(cancelRequest);
            } catch (HttpException ex) {
                String errorString       = ex.Message;
                var    deserializedError = new Error();
                var    memoryStream      = new MemoryStream(Encoding.UTF8.GetBytes(errorString));
                var    deserializer      = new DataContractJsonSerializer(deserializedError.GetType());
                deserializedError = deserializer.ReadObject(memoryStream) as Error;
                memoryStream.Close();

                Assert.NotNull(deserializedError);
                Assert.NotNull(deserializedError.DebugId);
                Assert.NotNull(deserializedError.Details);
                Assert.NotNull(deserializedError.Message);
                Assert.Equal("The requested resource ID was not found", deserializedError.Message);
                Assert.Equal("INVALID_RESOURCE_ID", deserializedError.Name);
            }
        }