minha cobrança tem SPLIT e a devolução pode nao saber de que conta vai devolver... sei lá.
O txid e o e2eid são coisas diferentes. O txid você definiu na criação da cobrança, o e2eid o PSP do pagador definiu para o Pix que liquidou a cobrança.
{
"nome": "cobranca_nao_encontrada",
"mensagem": "Nenhuma cobrança encontrada para o txid informado"
}
Certo, @russofullstack. Utilize o endpoint [GET /v2/cob/:txid](https://dev.efipay.com.br/docs/api-pix/cobrancas-imediatas#revisar-cobran%C3%A7a) para consultar essa cobrança, e veifique se já não teve a devolução, por favor.
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');
});
Olá, bom dia! Tudo bem?
E você está com alguma dificuldade? Está apresentando alguma falha ao consumir o endpoint [PUT /v2/pix/:e2eId/devolucao/:id](https://dev.efipay.com.br/docs/api-pix/gestao-de-pix#solicitar-devolu%C3%A7%C3%A3o)?
Olá. Bom dia! Essa falha pode estar causando porque você não instalou as dependências da SDK.
É necessário executar o comando composer install, e depois você deve configurar suas credenciais e certificado da API no arquivo /examples/credentials/options.php
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
No PixDetailCharge deveria dar sim, pq ele vai voltar uma estrutura que após pagamento vai ter um árvore Pix que na cobrança não paga não tem.
Um PixDetailCharge de uma cobrança não paga não está voltando nada ?
eu consegui fazer a chamada do pixCreateImaddiateCharge, ele me retorna o pix copia e cola para pagamento, agora eu queria fazer uma verificação para saber se o usuario ja pagou
boa noite, alguem poderia me ajudar? quero saber como posso verificar quando o usuario ja estiver pago pelo copia e cola, estou me baseando neste codigo fornecido nesta pagina no github https://github.com/efipay/sdk-java-examples-apis-efi/blob/main/src/main/java/br/com/efi/pix/cob/map/PixDetailCharge.java, eu fiz mas no meu log esta retornando null