Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# pix
Avatar discord do usuario brunodelara

brunodelara

Outra pergunta, quando vc gerou o certificado? foi pelo sistema? ou abriu um ticket?

# pix
Avatar discord do usuario andreboazsafepag

andreboazsafepag

Ver Respostas

Boa tarde, estamos trabalhando em uma API e gostaria de saber se há alguma forma de gerar uma chave Pix para o ambiente de homologação. Geramos o certificado e uma nova aplicação com todas as permissões possiveis de Pix mas quando tentamos executar os serviços de /v2/gn/evp dá uma mensagem de erro dizendo : "insufficient_scope".

# pix
Avatar discord do usuario fabricioad5169

fabricioad5169

Ver Respostas

Passos que fiz: Criei minha conta na Gerencianet. Criei minha aplicação. Obtive ID_CLIENT e ID_SECRET. Mandei gerar meu certificado .p12. Usei o comando para gerar o arquivo .pem . Baixei os arquivos da pasta API_V2 e API_V1 com a pasta VENDOR e as respectivas subpastas. Fiz as alterações no arquivo config.json da pasta EXAMPLES existente na API_V2 e API_V1. E estou tentando chamar qualquer exemplo desta pasta com extensão php no meu servidor na locaweb. Recebo sempre o erro 500.... pulei alguma etapa? Alguam sugestão para fazer rodar algum teste simples no meu domínio de gerar um QR CODE para fazer o pix ou algum procedimento básico com o pix?

# pix
Avatar discord do usuario luizcristino

luizcristino

Boa tarde, eu estou tendo um problema na hora da intregação com o pix na hora de adicionar o certificado. Eu estou utilizando o código de exemplo que existe na página de documentação

java
String client_id = "YOUR-CLIENT-ID";
String client_secret = "YOUR-CLIENT-SECRET";;
String basicAuth = Base64.getEncoder().encodeToString(((client_id+':'+client_secret).getBytes()));

//Diretório em que seu certificado em formato .p12 deve ser inserido
System.setProperty("javax.net.ssl.keyStore", "certificado.p12");
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

URL url = new URL ("https://api-pix-h.gerencianet.com.br/oauth/token"); //Para ambiente de Desenvolvimento
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic "+ basicAuth);
conn.setSSLSocketFactory(sslsocketfactory);
String input = "{\"grant_type\": \"client_credentials\"}";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

InputStreamReader reader = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(reader);

String response;
while ((response = br.readLine()) != null) {
System.out.println(response);
}
conn.disconnect();

E sempre me retorna Connection Reset até pelo postman

# pix
Avatar discord do usuario wevertondumont

wevertondumont

$options = [
'client_id' => 'Client_Id_b03f8127709d8e9e65e2bacc80a3cacdxxxxxxx',
'client_secret' => 'Client_Secret_178295851f167a7753e6c2a17678aa13xxxxxx',
//'pix_cert' => $caminho_certificado,
'pix_cert' => '../config/certificado.pem',
'sandbox' => true,
'debug' => false,
'timeout' => 30
];

# pix
Avatar discord do usuario wevertondumont

wevertondumont

estou colocando assim: o arquivo está na pasta config, já este com file exists e retorna true. mas na hora de carregar a classe da erro por não encontrar o certificado.

# pix
Avatar discord do usuario raquelct4629

raquelct4629

response = requests.request("POST",
url,
headers=headers,
data=payload,
auth=HTTPBasicAuth(credentials['client_id'], credentials['client_secret']),
cert=self.certificado)

# pix
Avatar discord do usuario raquelct4629

raquelct4629

será q o erro é no certificado? pq no as credenciais eu usei iguais a do postman então não teria pq estarem erradas

# pix
Avatar discord do usuario raquelct4629

raquelct4629

conveti o certificado pra .pem e coloquei la as credenciais

# pix
Avatar discord do usuario raquelct4629

raquelct4629

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://api-pix-h.gerencianet.com.br/oauth/token" #Para ambiente de Desenvolvimento

payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}

response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!812297338605273098> você pode gerar o arquivo no formato .pem com este comando:
openssl pkcs12 -in certificado.p12 -out certificado.pem -nodes e referencia-lo no diretório onde o inseriu

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Esse tipo de arquivo de senha/certificado não pode estar num diretório que seja publicado pelo web server, por questões de segurança. Ele precisa estar fora da árvore do servidor HTTP, mas poder ser lido pelo processo de HTTP.

# pix
Avatar discord do usuario fabricioad5169

fabricioad5169

Minha dúvida é se eu devo subir o meu arquivo p12 junto com o meu arquivo php e indicar o caminho neste campo: "./certificado.pem", (exemplo: "./11111111developer.p12", caso esteja no mesmo diretório que o arquivo .php ?

# pix
Avatar discord do usuario fabricioad5169

fabricioad5169

No caso, já gerei o certificado seguindo a orientação de vocês. Gerou meu arquivo .p12.

# pix
Avatar discord do usuario fabricioad5169

fabricioad5169

$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

Esse primeiro deploy traz uma versão mais simples, na qual a Gerencianet resolve tudo. Isso atenderá a alguns perfis de clientes. Lembrando que nós não armazenamos a chave privada.

Mas a sugestão de aceitar um CSR é tão boa que já tá até no Roadmap, neste card: https://www.notion.so/Gera-o-de-certificados-API-Pix-a-partir-de-um-CSR-de6f5650a5d44ed092af81d6b830ed66

# sugestões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Foi colocado no sistema a geração de certificados, mas ela gera tanto a parte secreta quanto pública. O usual de CAs é que apenas o titular tenha a parte secreta, envia sua chave pública para a CA e essa assina a chave pública. Sugiro que seja alterado para usar um CSR e não gerar a chave.

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia pessoal! Ocorreu hoje o deploy na plataforma web da Gerencianet para permitir ao cliente Gerencianet gerar o certificado .p12 diretamente da sua conta e gerenciar os escopos em sua aplicação referentes a API Pix, todas estas informações e o passo a passo estão disponíveis em nosso <#🖥changelog> .

# pix
Avatar discord do usuario brunodelara

brunodelara

Ver Respostas

a emissão de certificado da GN ainda está manuntenção?

# pix
Avatar discord do usuario alisonoliveira10655

alisonoliveira10655

Técnicamente é o seguinte...

- Você cadastra o webhook para seu endpoint "exemplo.com/webhook"
- A GN vai enviar uma primeira requisição para este endpoint sem o certificado, e seu servidor deve RECUSAR
- Em seguida a GN vai enviar outra requisição, dessa vez com com certificado para handshake, mas vai servir apenas para confirmar o PIX gerado, vai enviar um POST com um nome de evento e a data_criacao
- Caso o cliente pagar o PIX, a GN vai enviar uma nova requisição com certificado para handshake para o endpoint mas dessa vez vão adicionar um "/pix" a mais na requisição, ou seja, vai enviar para "exemplo.com/webhook/pix". Você deve deixar este endpoint também disponível e vai receber um POST com os dados do PIX recebido.