Skip to content

Commit 5f555a4

Browse files
authored
Merge pull request #15 from jvoliveiraGN/master
v2.0.1 melhoria no Credentials
2 parents d516838 + ee707df commit 5f555a4

File tree

6 files changed

+99
-32
lines changed

6 files changed

+99
-32
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
# 2.0.1
2+
3+
- Melhoria do arquivo Credentials
4+
- Adicionada a tratativa para o ValidadeMtls
5+
6+
# 2.0.0
7+
8+
- Adicionado os endpoints do Pix
9+
- Novo modelo arquivo credentials
10+
- Adição das funções do Pix na chamada principal da sdk
11+
- Adicionada Autenticação PIX
12+
- Substituição do request pelo axios
13+
- Melhoria na leitura do certificado
14+
- Atualização dos exemplos
15+
- Nome das funções atualizadas e padronizadas
16+
117
# 1.0.0
218

319
- Stable release

README.md

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,24 @@ var Gerencianet = require('gn-api-sdk-node');
3030
Insira suas credenciais e defina se deseja usar o sandbox ou não.
3131
Você também pode usar o arquivo [examples/credentials.js](examples/credentials.js) de modelo.
3232
```js
33-
var options = {
34-
client_id: 'your_client_id',
35-
client_secret: 'your_client_secret',
36-
sandbox: true
37-
}
33+
module.exports = {
34+
// PRODUÇÃO = false
35+
// HOMOLOGAÇÃO = true
36+
sandbox: false,
37+
38+
// CREDENCIAIS DE PRODUÇÃO
39+
clientIdProducao: '',
40+
clientSecretProducao: '',
41+
pathCertProducao: '',
42+
43+
// CREDENCIAIS DE HOMOLOGAÇÃO
44+
clientIdHomologacao: '',
45+
clientSecretHomologacao: '',
46+
pathCertHomologacao: '',
47+
48+
// VALIDAR MTLS?
49+
validateMtls: false,
50+
};
3851
```
3952

4053
Instancie o módulo passando as options:
@@ -75,9 +88,23 @@ Defina suas credenciais em credentials.js:
7588

7689
```js
7790
module.exports = {
78-
client_id: 'your_client_id',
79-
client_secret: 'your_client_secret'
80-
}
91+
// PRODUÇÃO = false
92+
// HOMOLOGAÇÃO = true
93+
sandbox: false,
94+
95+
// CREDENCIAIS DE PRODUÇÃO
96+
clientIdProducao: '',
97+
clientSecretProducao: '',
98+
pathCertProducao: '',
99+
100+
// CREDENCIAIS DE HOMOLOGAÇÃO
101+
clientIdHomologacao: '',
102+
clientSecretHomologacao: '',
103+
pathCertHomologacao: '',
104+
105+
// VALIDAR MTLS?
106+
validateMtls: false,
107+
};
81108
```
82109

83110
Em seguida, execute o exemplo que você deseja:

examples/credentials.js

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
1+
module.exports = {
2+
// PRODUÇÃO = false
3+
// HOMOLOGAÇÃO = true
4+
sandbox: false,
15

2-
let client_id, client_secret, pathCert; //NÃO PREENCHER AQUI
3-
4-
let sandbox = false; // DEFINA SE ESÁ UTILIZANDO AMBIENTE DE DESENVOLVIMENTO (TRUE) OU PRODUÇÃO (FALSE)
5-
6-
if(sandbox){
7-
// INSIRA ABAIXO SUAS CREDENCIAIS DE DESENVOLVIMENTO E SEU CERTIFICADO
8-
client_id = "";
9-
client_secret = "";
10-
pathCert = "";
11-
}else{
12-
// INSIRA ABAIXO SUAS CREDENCIAIS DE PRODUÇÃO E SEU CERTIFICADO
13-
client_id = "";
14-
client_secret = "";
15-
pathCert = "";
16-
}
6+
// CREDENCIAIS DE PRODUÇÃO
7+
clientIdProducao: '',
8+
clientSecretProducao: '',
9+
pathCertProducao: '',
1710

11+
// CREDENCIAIS DE HOMOLOGAÇÃO
12+
clientIdHomologacao: '',
13+
clientSecretHomologacao: '',
14+
pathCertHomologacao: '',
1815

19-
module.exports = {
20-
"sandbox": sandbox,
21-
"client_id": client_id,
22-
"client_secret": client_secret,
23-
"pathCert": pathCert,
24-
}
16+
// VALIDAR MTLS?
17+
validateMtls: false,
18+
};

index.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,29 @@
33
var GnSdk = require('./lib/gn-sdk');
44

55
module.exports = function (options) {
6-
return new GnSdk(options);
6+
let credentials;
7+
8+
if (options.sandbox) {
9+
credentials = {
10+
client_id: options.clientIdHomologacao,
11+
client_secret: options.clientSecretHomologacao,
12+
pathCert: options.pathCertHomologacao,
13+
sandbox: options.sandbox,
14+
};
15+
} else {
16+
credentials = {
17+
client_id: options.clientIdProducao,
18+
client_secret: options.clientSecretProducao,
19+
pathCert: options.pathCertProducao,
20+
sandbox: options.sandbox,
21+
};
22+
}
23+
if (options.partnerToken) {
24+
credentials.partnerToken = options.partnerToken;
25+
}
26+
if (options.validateMtls) {
27+
credentials.validateMtls = options.validateMtls;
28+
}
29+
30+
return new GnSdk(credentials);
731
};

lib/gn-endpoints.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,14 @@ GnEndpoints.prototype.getParams = function (route) {
133133
};
134134

135135
if (this.options.partner_token) {
136-
headers['partner-token'] = this.options.partner_token;
136+
headers['partner-token'] = this.options.partnerToken;
137137
}
138+
if (this.options.validateMtls) {
139+
headers['x-skip-mtls-checking'] = false;
140+
} else {
141+
headers['x-skip-mtls-checking'] = true;
142+
}
143+
138144
var req = {
139145
url: [this.options.baseUrl, route, query].join(''),
140146
headers: headers,

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "gn-api-sdk-node",
33
"description": "Module for integration with Gerencianet API",
4-
"version": "2.0.0",
4+
"version": "2.0.1",
55
"author": "Gerencianet - Consultoria Tecnica | João Vitor Oliveira | Francisco Carvalho",
66
"license": "MIT",
77
"repository": "gerencianet/gn-api-sdk-node",

0 commit comments

Comments
 (0)