Histórico de mensagens sobre chave pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: chave pix
Canal: pix
Avatar discord do usuario marcos9868

marcos9868

Ver Respostas

Boa tarde pessoal, estou tendo um problema na hora de realizar a transferência via PIX na API da empresa. Foi configurado dentro do sistema métodos que fazem transferência para contas bancárias, chaves PIX, tudo o que a API da Efi oferece. Utilizei os exemplos que há no SDK, estruturei de acordo com a documentação, porém, na response, estou obtendo o seguinte retorno:

"{\"error\":\"insufficient_scope\",\"error_description\":\"Access token has insufficient scope\"}"

Poderiam me dar uma dica do que poderia estar faltando na requisição?

Avatar discord do usuario _porfirio

_porfirio

Ver Respostas

Olá, tudo bem ? Ao configurar o webhook, estou recebendo o seguinte erro


{
nome: 'json_invalido',
mensagem: 'Valores ou tipos de campo inválidos',
erros: [
{
chave: 'additionalProperties',
caminho: '.body',
mensagem: 'não são permitidas propriedades adicionais'
}
]
}
{
webhookUrl: 'https://application.cardi.digital/str/order/sales/pix/webhook/'
}

Avatar discord do usuario _wilsonpilar

_wilsonpilar

Ver Respostas

Opa, tudo bom? Existe algum endpoint que eu consiga verificar se a chave pix é válida?

Avatar discord do usuario russofullstack

russofullstack

const EfiPay = require('sdk-node-apis-efi')
const options = require('../../credentials')

let body = {
calendario: {
expiracao: 3600,
},
devedor: {
cpf: '94271564656',
nome: 'Gorbadock Oldbuck',
},
valor: {
original: '123.45',
},
chave: 'SUACHAVEPIX', // Informe sua chave Pix cadastrada na efipay.
infoAdicionais: [
{
nome: 'Pagamento em',
valor: 'NOME DO SEU ESTABELECIMENTO',
},
{
nome: 'Pedido',
valor: 'NUMERO DO PEDIDO DO CLIENTE',
},
],
}

const efipay = new EfiPay(options)

efipay.pixCreateImmediateCharge([], body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})

Avatar discord do usuario marcus2vinicius

marcus2vinicius

pixCreateCharge.js

js
const EfiPay = require('sdk-node-apis-efi')
const options = require('../../credentials')

let body = {
calendario: {
expiracao: 3600,
},
devedor: {
cpf: '',
nome: '',
},
valor: {
original: '0.01',
},
chave: '', // Informe sua chave Pix cadastrada na efipay. //o campo abaixo é opcional
infoAdicionais: [
{
nome: 'Pagamento em',
valor: 'NOME DO SEU ESTABELECIMENTO',
},
{
nome: 'Pedido',
valor: 'NUMERO DO PEDIDO DO CLIENTE',
},
],
}

let params = {
txid: 'dt9BHlyzrb5jrFNAdfEDVpHgiOmDbVq111',
}

const efipay = new EfiPay(options)

efipay.pixCreateCharge(params, body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})

Avatar discord do usuario marcus2vinicius

marcus2vinicius

Ver Respostas

bash
$ openssl genrsa -out meu-chave-privada.pem 2048
$ openssl req -new -x509 -key meu-chave-privada.pem -out meu-certificado.pem -days 365
o certificado seria esse aqui?

eu fiz dessa forma e agora está dando esse erro
bash
marcus@marcus-laptop:~/Documents/projects/senai/api-efi/sdk-node-apis-efi/examples/pix/cob$ node pixCreateCharge.js
TypeError: Cannot read properties of undefined (reading 'response')
at /home/marcus/Documents/projects/senai/api-efi/sdk-node-apis-efi/examples/node_modules/sdk-node-apis-efi/lib/endpoints.js:89:17

Avatar discord do usuario kauan_bs

kauan_bs

Boa tarde. Estou tentando configurar o webhook no meu servidor porém estou recebendo 401. Estes são meus códigos :

js

const httpOptions = {
cert: fs.readFileSync("gd_bundle-g2-g1.crt"), // Certificado fullchain do dominio
key: fs.readFileSync("56092e4c5a31e0c5.crt"), // Chave privada do domínio
ca: fs.readFileSync("chain-pix-prod.crt"), // Certificado público da Efí
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Caso precise que os demais endpoints não rejeitem requisições sem mTLS, você pode alterar para false
};

app.post("/webhookEfi", (request, response) => {
if (request.socket.authorized) {
console.log("autorizado")
response.status(200).end();
} else {
console.log("não autorizado")
response.status(401).end();
}
});

app.post("/webhookEfiConfig", async (req, res) => {
try {
let body = {
webhookUrl: "{minhaurl}/webhookEfi",
};

let params = {
chave: "6e364195-3e3d-4ee5-8ca0-14db77d30593",
};

const efipay = new EfiPay(options);

await efipay.pixConfigWebhook(params, body);

// Se tudo correr bem, você pode enviar uma resposta de sucesso
res.status(200).send("Configuração do webhook concluída com sucesso!");
} catch (error) {
// Se ocorrer algum erro, você pode enviar uma resposta de erro e registrar o erro
console.error("Erro ao configurar o webhook:", error);
res.status(500).send("Ocorreu um erro ao configurar o webhook.");
}
});
Alguem sabe qual o motivo ?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @r_a_g_. Não precisa necessariamente fazer a configuração do Alias no Apache. Ela serve para fazer a tratativa da adição do /pix na URL quando é enviada a notificação.

Mas você pode registrar a sua webhook URL com query param ?ignorar=. Ou seja, na request PUT /v2/webhook/:chave para cadastrar o webhook, você irá passar o body com sua URL, exemplo:

Assim, vocÊ vai tratar o json sempre no index.php localizado em /webhook.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

É importante dizer que este endpoint sobrescreve a configuração atual de sua chave, portanto recomendo que consuma o GET /v2/gn/config para verificar sua configuração atual e então consumir o endpoint PUT /v2/gn/config com o mesmo conteúdo retornado no GET alterando somente a propriedade que desejar.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @zekramfn é possível sim.

Você precisa consumir o endpoint PUT /v2/gn/config passando o atributo pix.chaves.suaChave.webhook.notificacao.pagador = true, segue um exemplo onde essa configuração é aplicada:

{
"pix": {
"receberSemChave": true,
"chaves": {
"355e4568-e89b-1243-a456-006655440001": {
"recebimento": {
"txidObrigatorio": false,
"recusarTipoPessoa": "PF",
"qrCodeEstatico": {
"recusarTodos": false
},
"webhook": {
"notificacao": {
"tarifa": true,
"pagador": true
},
"notificar": {
"pixSemTxid": true
}
}
},
"envio": {
"webhook": {
"notificacao": {
"tarifa": true,
"favorecido": true
}
}
}
}
}
}
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, cada chamada é para uma única chave Pix destino.

Avatar discord do usuario lidiamariano

lidiamariano

Ver Respostas

e também, a chave indicada nesse endpoint é a chave pix configurada, certo?

Avatar discord do usuario vitorlipe

vitorlipe

Ver Respostas

a chave pix do favorecido é uma chave válida

Avatar discord do usuario saviobraz

saviobraz

DEFAULT 2024-03-05T16:45:56.719076Z [resource.labels.functionName: pagamento_pix_gernet_nuvem] [labels.executionId: hoyrqebp1ga2] at /workspace/node_modules/sdk-typescript-apis-efi/dist/src/endpoints.js:84:38
TypeError: Cannot read properties of undefined (reading 'data')
esta dando este erro quando executo este trecho let body = {
calendario: {
expiracao: 3600,
},
valor: {
original: data.valor_cobranca,
},
chave: chave_evp_pix_ger_net,
solicitacaoPagador: "Recarga Area Azul"// Informe sua chave Pix cadastrada na gerencianet //o campo abaixo é opcional
};

return efipay.pixCreateImmediateCharge([], body)
.then((resposta: Promise) => {
console.log(resposta);
}).catch((error: Promise) => {
console.log(error);
});
"engines": {
"node": "18"
},
"sdk-typescript-apis-efi": "^1.0.2"
fiz de tudo não sei mais o que fazer

Avatar discord do usuario _isaqueoliveiradev

_isaqueoliveiradev

Ver Respostas

Bom dia, estou trabalhando em um sistema que utiliza a API Pix, porem a conta que esta sendo utilizada pra receber os pagamentos pix precisa ser alterada para uma outra conta, gostaria de saber o que preciso alterar tanto no codigo, seria somente o client_id, client_secret, chave pix e o certificado p12?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

OI, @wesleysnap. Bom dia! Tudo bem?
Além do seu domínio ter um certificado SSL, é necessário fazer a configuração do mTLS em seu webserver para que ocorra a autenticação mútua.
https://dev.efipay.com.br/docs/api-pix/webhooks#entendendo-o-padrão-mtls

Outro detalhe, é a adição do /pix no final da sua URL quando a Efí envia a notificação.
Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave para cadastrar o webhook, você irá passar o body com sua URL, exemplo:

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 e recebe o body a partir dela.

Outra opção seria você colocar um query params na sua URL no momento do registro, para ignorar a adição do /pix, assim:

Avatar discord do usuario rubenskuhl

rubenskuhl

Lembrando que ela não é passada na chamada da cobrança, e sim numa chamada anterior. E aí vale para qualquer cobrança com aquela chave Pix.

Avatar discord do usuario rubenskuhl

rubenskuhl

É bem diferente do boleto, pois a notificação é configurada por chave Pix, não por cobrança.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Uma correção: o que é gerado no /cob não é uma chave. No arranjo Pix, chave é o endereço da conta. Você pode chamar de copia-e-cola, de BRCode, de QRCode, de EMV...