I'm trying to access PayPal's API to submit invoices to clients through a C#.NET Winforms app, but I am terribly confused. Another user posted this code as a solution to connect:
public class PayPalClient { public async Task RequestPayPalToken() { // Discussion about SSL secure channel // http://stackoverflow.com/questions/32994464/could-not-create-ssl-tls-secure-channel-despite-setting-servercertificatevalida ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; try { // ClientId of your Paypal app API string APIClientId = "**_[your_API_Client_Id]_**"; // secret key of you Paypal app API string APISecret = "**_[your_API_secret]_**"; using (var client = new System.Net.Http.HttpClient()) { var byteArray = Encoding.UTF8.GetBytes(APIClientId + ":" + APISecret); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); var url = new Uri("https://api.sandbox.paypal.com/v1/oauth2/token", UriKind.Absolute); client.DefaultRequestHeaders.IfModifiedSince = DateTime.UtcNow; var requestParams = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("grant_type", "client_credentials") }; var content = new FormUrlEncodedContent(requestParams); var webresponse = await client.PostAsync(url, content); var jsonString = await webresponse.Content.ReadAsStringAsync(); // response will deserialized using Jsonconver var payPalTokenModel = JsonConvert.DeserializeObject<PayPalTokenModel>(jsonString); } } catch (System.Exception ex) { //TODO: Log connection error } } } public class PayPalTokenModel { public string scope { get; set; } public string nonce { get; set; } public string access_token { get; set; } public string token_type { get; set; } public string app_id { get; set; } public int expires_in { get; set; } } I'm afraid this is at least one step ahead of me as I can't figure out where in my project it is appropriate to paste the code. Let's just say you created a brand new C# Winforms app. Without getting into the specifics of creating an invoice, etc. What code would I need to support the PayPal API and where in the project does it go? I know I need to get authorization for the app from PayPal, but I'm having trouble finding a good "Getting Started" guide for C# and PayPal. I've created a REST API app on PayPal, so I do have a client ID and "secret" to pass for Oauth authorization - I just can't find a place to do that.
Thanks in advance. I have some C#.net programming experience, but honestly my programming experience mostly goes back to VB6 so I kind of need the big picture explanation. Thanks for your patience!!