Termos mais procurados:
Termos mais procurados:
No APP da Efí não me retornou nada de bloqueio
hola buenas tardes, soy nuevo en este tema EFI. Me logueé en https://app.sejaefi.com.br/home y estoy buscando un lugar en donde crear un código PIX o QR para que un cliente pueda utilizarlo. Actualmente integré la aplicación usando mercadopago pero quiero cambiarla a algo más intuitivo.
Ya instalé el SDK y seguramente voy a necesitar crear las keys, como muestra el ejemplo de EFI?
Me refiero a
{
"client_id": "Client_Id",
"client_secret": "Client_Secret",
"certificate": "./certs/nome_certificado.p12",
"sandbox": true,
"timeout": 30
} pero no entiendo bien los tutorials. Existe algún URL con el "paso a paso" para integrar una aplicación para que pueda generar el QR o el link correspondiente
O código para geração da cobrança está assim
def criar_cobranca_pix(self, txid):
tokens = self.autorizar()
access_token = tokens['access_token']
endpoint = f"{self.url}/v2/cobv/{txid}"
cabecalho = {"Content-Type": "application/json",
"Authorization": f"Bearer {access_token}"}
dados = {
"calendario": {
"dataDeVencimento": "2022-12-01",
"validadeAposVencimento": 30
},
"devedor": {
"logradouro": "Alameda Souza, Numero 80, Bairro Braz",
"cidade": "Recife",
"uf": "PE",
"cep": "70011750",
"cpf": "12345678909",
"nome": "Francisco da Silva"
},
"valor": {
"original": "123.45",
"multa": {
"modalidade": 2,
"valorPerc": "15.00"
},
"juros": {
"modalidade": 2,
"valorPerc": "2.00"
},
"desconto": {
"modalidade": 1,
"descontoDataFixa": [
{
"data": "2022-11-30",
"valorPerc": "30.00"
}
]
}
},
"chave": "5f84a4c5-c5cb-4599-9f13-7eb4d419dacc",
"solicitacaoPagador": "Cobrança dos serviços prestados."
}
dados = json.dumps(dados)
response = requests.request("PUT", endpoint, headers=cabecalho, data=dados)
print(response.text)
return response.text
O site não logado está com o mesmo para mim, mas app.sejaefi.com.br carrega, loga etc.
E preciso liberar algo no sistema?? Onde aponto a URL do meu sistema para receber na rota as notificações não encontrei na documentação nem no app 😓
Olá pessoal, bom dia!
Eu já sou cliente de vocês e utilizo a API PIX para realizar a cobrança de um assinatura de um aplicativo que eu possuo. Estou pretendendo criar um novo app capaz de guardar as informações da chave PIX dos meus clientes e eu observar se esse PIX já recebeu o pagamento esperado ou não, ou seja, a funcionalidade de webhook que eu já tenho no meu primeiro app, só que agora observando o PIX dos meus clientes.
Além do mais, sou iniciante nesse processo de pagamento, talvez a lógica disso possa ser manipulando pelo meu próprio PIX e transferindo o valor depois pro meu cliente, ou seja, eu faço o meio de campo entre o meu cliente e o cliente dele.
Não amigo, eu gero as parcelas direto no efi e envio pro cliente, mas queria saber se ele mesmo pode ver as faturas no app, nao gero elas de outro sistema não.
Isso, vi que tem alguns exemplos la no git, o que eu queria seria mais ou menos assim, cliente abriria o app, informando seu cnpj, então localizava as faturas que ele possui la na minha conta e faria o pagamento.
Bom dia, @alber_abreu! Tudo bem?
Sim, você consegue desenvolver um app com este objetivo.
Você pode fazer um aplicativo que consulte a base do seu sistema integrade e mostre as inforações para o seus clientes.
app.post('/pixDevolution', async (req, res) => {
const { valor, txid, id } = req.body;
const payment = await Payment.findOne({ where: { txid:txid} })
const order = await Orders.findOne({ where: { txid:txid} })
let body = {
valor: valor,
}
let params = {
e2eId: payment.endToEndId,
id: new Date().getTime(),
}
if(order.pagamento !== 'realizado'){
res.status(400).send('Pedido Não está Pago!')
}
await gerencianet.pixDevolution(params, body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})
await Orders.update({
pagamento: "reembolso_solicitado"
}, {
where: {
id: id
}
});
res.status(200).send('Gerou o Reembolso');
});
nao ta, estou fazendo isso so para testes:
HashMap params = new HashMap();
params.put("txid", "a7ae545f0a864021bef8afb646416250"); //aqui eu usei o txid retornado do pixCreateImmediateCharge
Log.d("GerencianetDetails", "Params: " + params);
try {
Log.d("GerencianetDetails", "Test1 ");
Gerencianet gn = new Gerencianet(options, getAssets());
Log.d("GerencianetDetails", "Test2 ");
Map response = gn.call("pixDetailCharge", params, new HashMap());
Log.d("GerencianetDetails", "Test3 ");
Log.d("GerencianetDetails", "Response: " + response);
mesmo antes e depois de pago ele me retorna null:
Test1
2024-04-02 00:12:24.580 23825-23825 GerencianetDetails com.example.appinsta D Test2
2024-04-02 00:12:24.881 23825-23825 GerencianetDetails com.example.appinsta E Exception: null
Boa tarde, como consigo pegar uma flag que o pagamento do pix foi realizado, pois preciso disso para chamar uma função após o pagamento. Minha aplicação já está rodando em produção e o pix está tudo certo.
Aqui esta a rota de pagamento.
router.post("/payment", async (req: Request, res: Response) => {
const reqGN = await reqGNAlready;
const dataCob = {
calendario: {
expiracao: 3600,
},
valor: {
original: "0.10", //req.body.value,
},
chave: "b801ed6a-27ba-4927-a952-d44e2c8ab9cc",
solicitacaoPagador: "Informe o número ou identificador do pedido.",
};
const cobResponse = await reqGN.post("/v2/cob", dataCob);
const qrcodeResponse = await reqGN.get(
/v2/loc/${cobResponse.data.loc.id}/qrcode
);
res.send(qrcodeResponse.data);
});
Aqui está a do webhook:
router.post("/webhook(/pix)?", (req: Request, res: Response) => {
if (req.secure){
var body = req.body;
const filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
res.status(200).end();
}
})
res.status(200).end();
}else{
res.status(401).end();
}
});
Unhandled Promise Rejection {"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"TypeError: gerencianet.pixSplitConfigId is not a function","reason":{"errorType":"TypeError","errorMessage":"gerencianet.pixSplitConfigId is not a function","stack":["TypeError: gerencianet.pixSplitConfigId is not a function"," at /var/task/src/index.js:783:15"," at Layer.handle [as handle_request] (/var/task/node_modules/express/lib/router/layer.js:95:5)"," at next (/var/task/node_modules/express/lib/router/route.js:144:13)"," at Route.dispatch (/var/task/node_modules/express/lib/router/route.js:114:3)"," at Layer.handle [as handle_request] (/var/task/node_modules/express/lib/router/layer.js:95:5)"," at /var/task/node_modules/express/lib/router/index.js:284:15"," at Function.process_params (/var/task/node_modules/express/lib/router/index.js:346:12)"," at next (/var/task/node_modules/express/lib/router/index.js:280:10)"," at cors (/var/task/node_modules/cors/lib/index.js:188:7)"," at /var/task/node_modules/cors/lib/index.js:224:17"]},"promise":{},"stack":["Runtime.UnhandledPromiseRejection: TypeError: gerencianet.pixSplitConfigId is not a function"," at process. (file:///var/runtime/index.mjs:1276:17)"," at process.emit (node:events:529:35)"," at emit (node:internal/process/promises:149:20)"," at processPromiseRejections (node:internal/process/promises:283:27)"," at process.processTicksAndRejections (node:internal/process/task_queues:96:32)"]}
Unknown application error occurred
Que criação de chave Pix só no ambiente de produção, e que você está usando um método que você não precisa usar, pois é mais simples criar uma chave Pix no app/site.
Oi Gabriel, obrigado pelo retorno. Mas so para entender. Eu tenho 60 lojas que vendem em nosso app. Queremos que usando nosso app, o usuario possa fazer na hora umn pix para qualquer uma destas lojas e assim que detectarmos o pagamento, efetuar a venda. Mas estes clientes possuem contas bancarias em bancos variados. Itau, BRadesco, Nubank etc... Minha pergunta seria: Minha empresa sendo somente a intermediadora destes pagamentos consegue transacionar para as chaves deles e ser notificada do pagamento por webhooks? Como funcionaria isso? So preciso das chaves de cada um? Preciso criar contas deles na Efi tb?
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/'
}
Aqui está o erro completo -
Boa tarde. Estou tentando configurar o webhook no meu servidor porém estou recebendo 401. Estes são meus códigos :
Deu certo. em Homologação ja recebo os retornos da api. Em produção, tentando enviar pix, recebo o retorno
"nome": "erro_autorizacao",
"mensagem": "Para ativar este serviço, envie um e-mail para [email protected] ou abra um ticket em sua conta Efí"
Abri um chamado pelo aplicativo da Efi pedindo esta ativação. É isso mesmo? Alguem na Efi que precisa ativar?
Pois achei que depois de criar a aplicação, com suas chaves e certificados, habilitando as ações que a app pode fazer via api.. ja estaria ativado para uso.
Bom dia! Tudo bem? É possível sim você emitir cobranças com a gente e mostrar em seu app.
O seu app no Android Studio vai precisar se relacionar com seu back-end, e seu back-end com nossa API Pix.
O seu back-end foi desenvolvido em qual linguagem?