· 4 years ago · May 04, 2021, 11:08 PM
1public static string GetGerencianetToken(){
2 //default true = teste
3 //Boolean ambienteDeTeste = true; //true = teste, false = producao
4
5 //sandbox
6 string URL_TOKEN = GerencianetPIXUrls.GetUrlSandbox() + "/oauth/token";
7 //string ClientID = GerencianetPIXKeys.ClientIDSandbox();
8 //string ClientSecret = GerencianetPIXKeys.ClientSecretSandbox();
9 string ClientID = "Client_Id_cadd3d7cbe161bf37ab89c6417d1327df5eaf723";
10 string ClientSecret = "Client_Secret_67d9920f9429d43330c4bae43eb184fbc716df76";
11
12 //if (!ambienteDeTeste){
13 // //producao
14 // URL_TOKEN = GerencianetPIXUrls.GetUrlProducao() + "/oauth/token";
15 // ClientID = GerencianetPIXKeys.ClientIDProducao();
16 // ClientSecret = GerencianetPIXKeys.ClientSecretProducao();
17 //}
18 Debug.WriteLine("Token: " + URL_TOKEN);
19
20 var credencials = new Dictionary<string, string>{
21 {"client_id", ClientID},
22 {"client_secret", ClientSecret}
23 };
24 var authorization = Base64.Encode(credencials["client_id"] + ":" + credencials["client_secret"]);
25 var client = new RestSharp.RestClient(URL_TOKEN);
26 var request = new RestRequest(Method.POST);
27
28 //certificado
29 String pathFile = HttpContext.Current.Server.MapPath("~/GerenciaNetAPI");
30 X509Certificate2 uidCert = null;
31 String cert = Path.Combine(pathFile, "homologacao-299325-premiosonpix_ce.p12");
32 uidCert = new X509Certificate2(cert, "");
33 //if (ambienteDeTeste){
34 // //sandbox
35 // String cert = Path.Combine(pathFile, "homologacao-299325-premiosonpix_ce.p12");
36 // uidCert = new X509Certificate2(cert, "");
37 //}else{
38 // //producao
39 // String cert = Path.Combine(pathFile, "producao-299325-premiosonpix_ce.p12");
40 // uidCert = new X509Certificate2(cert, "");
41 //}
42 client.ClientCertificates = new X509CertificateCollection() { uidCert };
43
44 //json
45 GrantType grantType = new GrantType() { grant_type = "client_credentials" };
46 var jsonContent = JsonConvert.SerializeObject(grantType, Formatting.Indented);
47 //Debug.WriteLine("Content String: " + jsonContent);
48
49 //header
50 request.AddHeader("Authorization", "Basic " + authorization);
51 request.AddHeader("Content-Type", "application/json");
52 request.AddParameter("application/json", jsonContent, ParameterType.RequestBody);
53
54 IRestResponse restResponse = client.Execute(request);
55 Debug.WriteLine("Rest Response: " + restResponse);
56 string response = restResponse.Content;
57 Debug.WriteLine("Response: " + response);
58 JObject json = JObject.Parse(response);
59 string access_token = json["access_token"].ToString();
60 Debug.WriteLine("access: " + access_token);
61
62 return access_token;
63 }