Histórico de mensagens sobre url em pix

EXIBINDO CONVERSAS RECENTES:

Texto: url
Canal: pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Entendi.
Existe a possibilidade de você remover a validação mTLs e adicionar um token na URL e quando for realizado alguma notificação, este token será informado na requisição.
Você consegue validar se o token que enviamos é o mesmo que você cadastrou e ai você consegue evitar notifcações de terceiros.

Avatar discord do usuario wesleyalmont

wesleyalmont

Ver Respostas

pelo que entendi, não podemos subir arquivos. Mas caso esteja configurado uma url de onde essa chave está disponibilizada, é só passar o path dela na api antes de subir para o functions.

a unica coisa que eles não aceitam é subir arquivos, porém código é tranquilo.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

A URL ja possui o certificado fullchain e chave privada. O que você precisa verificar é se a plataforma disponibiliza meios de você colocar a nossa chave publica para validação mtls

Avatar discord do usuario wesleyalmont

wesleyalmont

Ver Respostas

A url gerada no Functions chamar os EPS da api são https://us-central1-NOME_DO_APLICATIVO.cloudfunctions.net/api

e essa é a úinformação que temos para poder fazer as requisições.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia! Tudo joia?
A URL disponibilizada pela plataforma é acessivel via protocolo https?

Avatar discord do usuario Thomas ||

Thomas ||

Ver Respostas

Boa tarde, estou com problema na conexão do meu backend com o api da Efí. O problema não é no código, mas sim na configuração do server. A request não chega a ser aceita pela Efí, é recusada de cara com o erro

Recv failure: Connection reset by peer
.
Aqui está o debug completo:
CURL VERSION: { "version_number": 524289, "age": 10, "features": 296731549, "ssl_version_number": 0, "version": "8.0.1", "host": "x86_64-redhat-linux-gnu", "ssl_version": "OpenSSL\/1.1.1t", "libz_version": "1.2.7", "protocols": [ "dict", "file", "ftp", "ftps", "gopher", "gophers", "http", "https", "imap", "imaps", "mqtt", "pop3", "pop3s", "rtsp", "scp", "sftp", "smb", "smbs", "smtp", "smtps", "telnet", "tftp" ], "ares": "", "ares_num": 0, "libidn": "", "iconv_ver_num": 0, "libssh_version": "libssh2\/1.8.0", "brotli_ver_num": 16777225, "brotli_version": "1.0.9" }

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que você está chamando de link de visualização ? Porque o location é uma URL apenas para consumo do banco pagador...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Quando você certifica uma URL, é gerado um par de chaves, a chave pública e a chave privada. A chave pública é a parte que você conta para os outros, a privada é a que você usa para descriptografar o que foi enviado.
O certificado é a sua chave pública, assinada pela chave pública da autoridade certificadora.
Mas quando chegam os dados, você precisa da chave privada para entender o que te mandaram.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você precisa tanto de um certificado para a sua URL, quanto a CA pública da Gerencianet para garantir que é a Gerencianet acionando o webhook. Então parece certo o exemplo com 3 objetos de certificado diferentes.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Por enquanto, o que você pode fazer:
GET de /webhook para ver se a URL que você configurou está mesmo ativada
Log do seu servidor para ver as requisições feitas a partir do IP da Efí.

Avatar discord do usuario rubenskuhl

rubenskuhl

Detalhe que você precisa aceitar requisições em exemplo.com.br/webhook e exemplo.com.br/webhook/pix, mas a informação de URL para configuração é exemplo.com.br/webhook

Avatar discord do usuario tolribeiro

tolribeiro

Ver Respostas

Sim, pensei nisso mas nesse caso teria que manter/cuidar da security uma infra nossa sendo que vocês ja tomam conta disso nessas URLs 😀

Avatar discord do usuario tolribeiro

tolribeiro

Ver Respostas

Fala galera boa tarde! eu tenho uma ideia/request/sugestao. Existiria a possibilidade de omitir essa seção? uma sugestao seria receber um parametro via URL ‘?show_open_finance=false’
imagem enviada na mensagem pelo usuario tolribeiro

Avatar discord do usuario ysabella3926

ysabella3926

const urlApiProduction = 'https://api-pix.gerencianet.com.br'
const urlApiStaging = 'https://api-pix-h.gerencianet.com.br'

const https = require('https') //conexão segura para enviar dados
const axios = require('axios')
const fs = require('fs')//ler arquivos no disco
const baseURL = process.env.GN_ENV === 'production' ? urlApiProduction : urlApiStaging

Avatar discord do usuario ysabella3926

ysabella3926

Ver Respostas

faço uma checagem com ternário para captar a url correta também, de acordo com a escolha de ser homologação ou produção

Avatar discord do usuario ysabella3926

ysabella3926

require('dotenv').config({path: '../.env_homologation'})


console.log(process.env.GN_CLIENT_KEY_PROD)


const urlApiProduction = 'https://api-pix.gerencianet.com.br'
const urlApiStaging = 'https://api-pix-h.gerencianet.com.br'

const https = require('https') //conexão segura para enviar dados
const axios = require('axios')
const fs = require('fs')//ler arquivos no disco
const baseURL = process.env.GN_ENV === 'production' ? urlApiProduction : urlApiStaging

const getToken = async() =>{
//console.log('getToken', process.env.GN_CLIENT_KEY_PROD)
const certificate = fs.readFileSync('../' + process.env.GN_CERTIFICATE)
const credentials ={
client_id: process.env.GN_CLIENT_KEY_PROD,
client_secret: process.env.GN_CLIENT_SECRET_PROD
}
const data = JSON.stringify({grant_type: 'client_credentials'})//o que será retornado da api
const dataCredentials = credentials.client_id + ':' + credentials.client_secret
const auth = Buffer.from(dataCredentials).toString('base64')


const agent = new https.Agent({
pfx: certificate,
passphrase: '',
})

const config ={
method: 'POST',
url: baseURL + '/oauth/token',
headers: {
Authorization: 'Basic' + auth,
'Content-Type': 'application/json'
},
httpsAgent: agent,
data: data,
}
const result = await axios(config)
console.log(result.data)

}

getToken()

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O Curl é meu profeta e nada meu faltará. Mas Postman vale também.

Avatar discord do usuario rafaelribeiro.sp

rafaelribeiro.sp

Chave e url