Create new product for subscription REST API

yorke_gvg
Contributor
Contributor

Hello, i'm trying to crate new product, plan and subscription using paypal REST API. I'm using c# code in .net. Everything works find but the response is with status: 200 and it means OK but in the documentation i see that i have to receive a response with status: 201 CREATED. Also in my response there is not info about the created product. I'm not sure if i'm missing somethings because if the product is created i have to receive back product's information. This is the code i use:

 

 

 

        public void CreateProduct()
        {
            try
            {
                string URL = "<a href="https://api.sandbox.paypal.com/v1/catalogs/products" target="_blank">https://api.sandbox.paypal.com/v1/catalogs/products</a>";
                string urlParameters = "?name=testName";

                // using System.Net;
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                // Use SecurityProtocolType.Ssl3 if needed for compatibility reasons

                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(URL);

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Access-Token-Is-Here-I-Remove-It-For-Security-Purpose");
                client.DefaultRequestHeaders.Add("PayPal-Request-Id", "ERRCAT001"); 
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // List data response.
                HttpResponseMessage response = client.GetAsync(urlParameters).Result;  // Blocking call! Program will wait here until a response is received or a timeout occurs.
                if (response.IsSuccessStatusCode)
                {
                    // Parse the response body.
                    //var dataObjects = response.Content.ReadAsAsync<IEnumerable<DataObject>>().Result;  //Make sure to add a reference to System.Net.Http.Formatting.dll
                    //foreach (var d in dataObjects)
                    //{
                    //    Console.WriteLine("{0}", d.Name);
                    //}
                }
                else
                {
                    Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
                }

                //Make any other calls using HttpClient here.

                //Dispose once all HttpClient calls are complete. This is not necessary if the containing object will be disposed of; for example in this case the HttpClient instance will be disposed automatically when the application terminates so the following call is superfluous.
                client.Dispose();
            }
            catch (Exception err)
            {
                string error = err.Message;
            }
        }

 

 

Login to Me Too
0 REPLIES 0

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.