Histórico de mensagens sobre App em pix

EXIBINDO CONVERSAS RECENTES:

Texto: App
Canal: pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Não precisa, a chave é associada a conta Gerencianet e não a aplicação. Você pode gerar uma nova chave pelo APP da Gerencianet ou então utilizar o novo endpoint que disponibilizamos, o POST /v2/gn/evp, ele vai gerar uma nova chave aleatória, mais detalhes aqui https://dev.gerencianet.com.br/docs#section-criar-chave-evp.

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)

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

É a chave Pix associada à conta destino da cobrança. Você pode criar via app mobile ou via endpoint de criação de chave Pix. Essa chave vai ser colocada no QR-Code estático ou no payload do QR-Code dinâmico.

Avatar discord do usuario fabricioad5169

fabricioad5169

Ver Respostas

Sobre o 2, é mais no sentido de entender o que eu posso fazer com a API de vocês. Ela me permite adicionar qual recurso em relação ao PIX no meu app ou site?

Avatar discord do usuario jessica_efi

jessica_efi

Em relação a pergunta 2, você pode detalhar um pouco melhor? Seria desenvolver um app que esteja integrado à nossa API Pix?

Avatar discord do usuario fabricioad5169

fabricioad5169

Bom dia.1) Gostaria de saber se consigo utilizar a API da GerenciaNet com javascript e php. Na verdade, o melhor seria alguma integração direta com a plataforma low-code Outsystems. Mas se tiver em php e javascript, já é um bom começo. 2) Consigo fazer um pix de dentro do meu app para uma outra conta pix via API? Consigo gerar um QR CODE para permitir que façam o pix para a nossa conta? Obrigado!

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Um exemplo de requisição em JS:

js
criarCobrancaImediata(body, token) {
let requisicao = {
method: 'POST',
url: config.pix_url_cob,
headers: {
authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
httpsAgent: config.agent,
data: body,
};
const response = axios(requisicao)
.then()
.catch((error) => {
console.log(error.response.data);
});

return response.data;
}
A url e o body seguem o padrão que informei:
url: https://api-pix-h.gerencianet.com.br/v2/cob
body:
{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cnpj": "12345678000195",
"nome": "Empresa de Serviços SA"
},
"valor": {
"original": "00.01"
},
"chave": "sua_chave",
"solicitacaoPagador": "Serviço realizado.",
"infoAdicionais": [
{
"nome": "Despache",
"valor": "placa de carro"
},
{
"nome": "Campo 2",
"valor": "Informação Adicional2 do PSP-Recebedor"
}
]
}

Avatar discord do usuario andreimaraujo

andreimaraujo

Ver Respostas

async receive(receiveDto: { value: string, key: string }) {
const token = await this.auth();

const { value, key } = receiveDto;

const data = JSON.stringify({
grant_type: 'cob.write',
calendario: {
expiracao: 3600,
},
devedor: {
cpf: '12345678909',
nome: 'Francisco da Silva',
},
valor: {
original: value,
},
chave: key,
solicitacaoPagador: 'Cobrança dos serviços prestados.',
});

try {
const { data: response } = await this.httpService
.post(${this.GERENCIA_NET_URL}/cob, data, {
headers: {
Authorization: token,
'Content-Type': 'application/json',
},
})
.toPromise();

console.log(response);
} catch (error) {
console.log(error);
}

return true;
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A chave Pix é o apelido da conta para o arranjo Pix. Com ela as pessoas não precisam colocar número da instituição/tipo de conta/agência/conta. As possibilidades são e-mail, CPF, CNPJ e chave aleatória, mas eu sugiro para cobranças de QR-Code dinâmico criar uma chave aleatória. A criação de chave só pode ser feita no app mobile da Gerencianet, atualmente.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Neste caso a GN está obrigando o pagador a escrever, pois só foi para a tela de pagamento após escrever qualquer coisa no app hoje.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

#solicitação = No momento de pagar um pix no app da GN , ela pede o Solicitação ao Pagador, como obrigatório escrever algo para habilitar o pagamento, isso pode fazer o pagador desistir de pagar, é uma exigência do BACEN ter que escrever alguma coisa la ?

Avatar discord do usuario cleversonmenur

cleversonmenur

Ver Respostas

@Efí, o erro “A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID” parece estar relacionado com o certificado da Amazon.

Ele ocorre para os dois cenários a seguir:

Webhook COM mTLS hospedado na Amazon, com certificado HTTPS emitido pela Amazon:
https://mtls.menur.app/vbeta1/establishments/mana/pix

Webhook SEM mTLS hospedado na Amazon, com certificado HTTPS emitido pela Amazon:
https://mtls.api.menur.app/vbeta1/establishments/mana/pix

Entretanto se acessar SEM mTLS com hospedagem no Heroku e certificado Let’s Encrypt o erro que dá é esperado:
https://api.menur.app/vbeta1/establishments/mana/pix

"A autenticação de TLS mútuo não está configurada na URL informada"

E agora? Vocês poderiam verificar o motivo? Obrigado!

Avatar discord do usuario joelemanoel

joelemanoel

Ver Respostas

<@!620895261568401428> Você precisa gerar um certificado válido para

mtls.menur.app
E apenas aplicar o da GN como CA.

Avatar discord do usuario cleversonmenur

cleversonmenur

Ver Respostas

Olá, @Efí

Ainda na labuta do Webhook em ambiente PaaS. Fiz os seguintes passos e creio estar quase lá:

- Criei uma conta na Amazon para o projeto
- Cadastrei o cartão de crédito
- Provisionei o Amazon API Gateway
- Configurei um custom domain nele
- Configurei o domínio no meu Registrar
- Habilitei o custom domain no API Gateway
- Criei certificado e habilitei o HTTPS
- Baixei o cert webhook da Gerencianet
- Criei uma Trust Store PKCS12
- Coloquei a cadeia da GN lá
- Converti a TS para o formato PEM
- Provisionei um armazenamento Amazon S3
- Subi a TS.pem
- Finalizei a configuração do custom domain
- Ativei o mTLS neste domínio
- Criei uma rota de API para o meu server
- Associei a rota ao custom domain com mTLS

Fui configurando e testando a cada passo. Quase tudo funcionando. A única coisa que não consigo é fazer uma requisição client para testar o mTLS já que não tenho o cert client do webhook.

Então…

- Invoquei o serviço PUT /webhook/{chave} passando no body a url e recebi o seguinte body com o status 400:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}

Supus ser algum erro no pem que usei para configurar o mTLS. E já experimentei o seguinte:

- Usei exatamente o CRT que baixei das docs da GN
- Fiz a conversão como citei acima (criando a TS)

Se vocês puderem fazer uma requisição mTLS com o certificado client correto para testar, a UTR é esta:

POST https://mtls.menur.app/vbeta1/establishments/mana/pix

O serviço está retornando 204 fixo para qualquer body json (não obrigatório).

Alguma luz? 🙏

Avatar discord do usuario cleversonmenur

cleversonmenur

Ver Respostas

Massa! Vou dar uma olhada no App Gateway ou API Gateway? Vou dar uma olhada. Achei que você era do BACEN. Você é da Gerencianet? Vi que tem algo na doc pedindo para postar aqui.

Avatar discord do usuario cleversonmenur

cleversonmenur

Ver Respostas

Mostrando que dá erro HTTP 500 caso o grant_type seja submetido via content-type: application/x-www-form-urlencoded ao invés de application/json. Por isso a configuração OAuth2 não consegue fazer o Fetch Tokens.
imagem enviada na mensagem pelo usuario cleversonmenur

Avatar discord do usuario cleversonmenur

cleversonmenur

Ver Respostas

Pessoal, seria possível fazer com que o serviço https://api-pix.gerencianet.com.br/oauth/token aceitasse o content-type: application/x-www-form-urlencoded ? Desta forma evitaria o erro HTTP 500 ao enviar o body grant_type=client_credentials que é mais compatível com REST Clients como o Insomnia e até o próprio Postman na seção de autenticação OAuth2 usando o grant type "client credentials".

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Por exemplo, veja um BRCode de QR-Code dinâmico abaixo: (mas que foi gerado num app em outro PSP)

00020101021226870014BR.GOV.BCB.PIX2565spi-qrcode.bancointer.com.br/spi/245025184c4545608075caebe5c8fd7052040000530398654040.015802BR5921JEFERSON P DOS SANTOS6010ENTRE RIOS62070503630490A8