Histórico de mensagens sobre certificado em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
Canal: pix
Avatar discord do usuario orlandoneto6996

orlandoneto6996

Ver Respostas

em homologação está funcionando, quando altero o certificado, o cliente e o secret recebo este erro como retorno, PHP versão 7.4

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

JQuery com Ajax não, mas temos em node

js
//Desenvolvido pela Consultoria Técnica da Gerencianet

"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync("./certificado.p12");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "YOUR-CLIENT-ID",
client_secret: "YOUR-CLIENT-SECRET",
};

var data = JSON.stringify({ grant_type: "client_credentials" });
var data_credentials = credenciais.client_id + ":" + credenciais.client_secret;

// Codificando as credenciais em base64
var auth = Buffer.from(data_credentials).toString("base64");

const agent = new https.Agent({
pfx: certificado,
passphrase: "",
});
//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://api-pix-h.gerencianet.com.br/oauth/token",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json",
},
httpsAgent: agent,
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Mas o Postman tem um exemplo com jQuery:
js
var settings = {
"url": "https://api-pix.gerencianet.com.br/oauth/token",
"method": "POST",
"timeout": 0,
"headers": {
"x-client-cert-pem": "{{X-Certificate-Pem}}",
"Authorization": "Basic Q2xpZW50X0lkXDM4ZjJhY2M1M2QyMGRmOTJhNDIxMWE3NjhjMTBjMzkyZjk2YWM6Q2xpZW50JhZWQwMGRlZjYzNWRlY2E5YTE5Y2Y2ZTI0YjEwMTBjNzIx",
"Content-Type": "application/json"
},
"data": JSON.stringify({
"grant_type": "client_credentials"
}),
};

$.ajax(settings).done(function (response) {
console.log(response);
});

Avatar discord do usuario mmhospedagem

mmhospedagem

fiz um teste com outro certificado e foi

Avatar discord do usuario mmhospedagem

mmhospedagem

to achando que e algo no certificado do cliente

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiramente, para um servidor dedicado, você deve inserir uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja mais detalhes em: https://dev.gerencianet.com.br/v1/docs/api-pix#section-webhook

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix. Na SDK de PHP você pode utilizar do exemplo: /examples/pix/webhooks/update.php

Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:
{
"webhookUrl": "https://seudominio.com.br/webhook"
}

No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix.
Ou seja, esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet.

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

Avatar discord do usuario joao_efi

joao_efi

Oi @Deleted User! Boa tarde! Tudo bem?
A API Pix está disponível para Node sim!
Na nossa documentação você encontra alguns exemplos de implementação da API Pix, incluindo node!
https://dev.gerencianet.com.br/docs#section-exemplos-de-autentica-o-utilizando-o-certificado-p12
Já quanto ao pacote gn-api-sdk-node infelizmente, no momento, ele ainda não conta com as funcionalidades do Pix.
Mas nossa equipe já está trabalhando nisso e em breve vamos disponibilizar uma atualização contendo essas funcionalidades! 🙂

Avatar discord do usuario joelemanoel

joelemanoel

mTLS é a forma de autenticação mutua. O certificado é como você vai fazer essa autenticação. Mas você não irá utilizar este certificado não, deve usar a chain publica fornecida pega GN e disponível em: https://dev.gerencianet.com.br/v1/docs/api-pix#section-webhook

Avatar discord do usuario juizmill

juizmill

Ver Respostas

OK, mTLS é um certificado que geramos com a GerenciaNet com a extensão de nome .p12 ?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Pode ser qualquer nome.
Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:

json
{
"webhookUrl": "https://seudominio.com.br/webhook"
}
No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix. Então esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!823373837088456736>.
Segue referência para a mensagem que enviamos contendo o script de conversão de certificado.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!477481308743008257>. A falha 400, pode ser pois as URL não é válida, ou não está tratada para requisitar o certificado CA para o mTLS. Tente também condicionar seu sistema para requisitar o certificado tanto na rota sem o /pix e com o /pix
Verifique também se está em produção.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!477481308743008257>.
Exatamente conforme o Daniel mencionou. Atribuindo false para x-skip-mtls-checking fará co que exija o certificado em seu servidor.
Verifique também se em seu webhook está tratando o /pix no final da sua URL

Avatar discord do usuario daniel.falsetti

daniel.falsetti

true qdo usa sem certificado, etc

Avatar discord do usuario daniel.falsetti

daniel.falsetti

pessoal, estou começando a integracao do meu backend com a api de envio de pix.

Na chamada para autenticacao (com certificado etc) eu recebo o ok, o token e a lista de permissoes

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Correto. Mas a primeira nem precisa acionar aplicação alguma, só responder que existe se vier com o certificado do mTLS e negado se vier sim.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!723278999236771916> Enviei também este exemplo, que você pode subir em um servidor PHP, e então converter seu certificado

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

O comando utilizado para conversão do certificado através da linha de comando é o seguinte:
openssl pkcs12 -in certificado.p12 -out certificado.pem -nodes

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Ah, sim e outro detalhe, na hora que eu converti o certificado de p12 para pem eu coloquei tanto o cert quanto o private key num pem só

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Segue exemplo em PHP para conversão de certificado .p12 para .pem
Basta subir em seu servidor, acessar a página e selecionar o certificado que deseja converter.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Infelizmente não, até o momento o certificado que disponibilizamos é somente em formato .p12.
No entanto, para lhe auxiliar vou encaminhar uma solução bem simples em PHP para realizar esta conversão.