Histórico de mensagens sobre webhook em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Canal: dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @denilsonbehenck, tudo bem?
Qual seria sua dúvida com relação ao webhook?

Avatar discord do usuario denilsonbehenck

denilsonbehenck

Ver Respostas

Bom dia pessoal, não estou conseguindo entender a parte do webhook, alguem poderia me dar um help

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Tudo bem também
Neste caso você precisa marcar:

API Cobranças -> Emissão de cobranças
API Pix -> Alterar Cobranças, Consultar Cobranças, Alterar Webhooks e Consultar Webhooks

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @celo_diana! Tudo bem?
A chave que você usa para receber possui algum webhook cadastrado?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim. E que pode ser ou básica (só mostra o QR-Code) ou que pelo webhook do pagamento usa WebSockets para mudar a página (ex: some com o QR-Code).

Avatar discord do usuario rubenskuhl

rubenskuhl

Ou deixar só duas instâncias mesmo por redundância com só uma atendendo, pq o webhook em si é um processamento bem leve.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O SDK eu não sei, mas a API não tem problema com gerar 36 tokens de acesso e fazer as requisições sem fatores blocantes de concorrência. Mas a parte assíncrona, os webhooks, vai precisar de algum load-balancer para paralelizar, e o load-balancer em si é não paralelo.

Avatar discord do usuario welitonxd

welitonxd

Olá, Criei um link de pagamento via API com o metodo 'ALL' (boleto, cartao), creio que se o cliente estivesse escolhido cartão não teria problema pois o pagamento seria ali mesmo na tela, o problema que vi é se ele escolher boleto,

Neste caso ele preenche os dados para gerar um boleto. preenche o email e pronto, ele recebe o boleto por email. neste caso o link de pagamento não redireciona para metodo escolhido, fica sem conteudo apenas o template header e footer da Efi aparece. até aí tudo bem o cliente deveria está de posse do boleto. mas veio o problema de o email dele ser um destes complicados que existe aí no mercado como o email da LocaWeb ( a maioria [ ou 100%] dos meus clientes que tem Locaweb não recebe os boletos da Efy que são emitidos via APi/cron mensalmente).

Neste caso em específico que o cliente escolheu boleto e não recebeu ou nao chegou a pagar, saiu da tela e só tem o link de pagamento em posse. Só que ao acessar o link de pagamento ele não redireciona para o método escolhido (boleto no caso) e também não recebeu o boleto no email nem spam etc. como proceder? terei que recriar um link de pagamento novo? não dá apenas para que o link de pagamento redirecionasse para o metodo escolhido boleto ? no caso de cobrança paga também o link de pagamento não informa se foi paga, tenho estes dados da notificação pelo webhook, mas o cliente gostaria de comprovar que foi pago,

Na notificação de escolha de boleto no link da api só muda o status de link para waiting e não traz o link do boleto sendo o mesmo charge_id...

exemplo do link de pagamentohttps://pagamento.sejaefi.com.br/139adec9-da76-44fc-91c7-d1a3987a35e3

Avatar discord do usuario caioalima

caioalima

Ver Respostas

É o notification do webhook

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Depende do meio de pagamento. Se for Pix, depende do valor ele aciona o webhook como se tivesse sido pago.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Essa informação não tem como você obter através do webhook, esse campo é somente para fins de exibição para seu cliente.

Uma sugestão é que você vincule internamente em seu sistema esse valor que deseja com o txid, assim você consegue fazer uma associação direta no recebimento do webhook.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

se essa informação fosse entregue no webhook eu iria economizar uma pancada de códigos e recursos do servidor.

Avatar discord do usuario tarcizio5821

tarcizio5821

Bom dia.
Gostaria saber se o retorno do webhook é sempre o padrão quando um pix é pago:
"pix":[
{"endToEndId":"EEEEEEEEEEEEEEEEEEEEEEEEEEE","txid":"444444444444444444444444444444444","chave":"00000000-0000000-00008-000-0000000","valor":"0.01","horario":"2024-03-26T20:51:56.000Z"}

No retorno acima, temos:
endToEndId:
txid:
chave:
valor:
horario:

Tem alguma coisa que eu possa fazer para que a entrega contenha mais dados?
Eu digo mais dados que foram passados na criação da cobrança, tipo "infoAdicionais"?

Avatar discord do usuario theus007

theus007

Bom dia. Tudo bem? Estou com algumas dúvidas sobre webhooks, alguém consegue me dar um help?

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

@guilherme_efi Estou achando que preciso colocar o "$dados" dentro de colchetes [], porque o webhook está entregando sem esses colchetes, os dados estão vindo dentro de chaves. Vou fazer isso e volto já.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

@tarcizio5821, na parte que mencionou que deu certo a captura do txid, quando coloca no arquivo de "index.php" dentro da função "salvar($dados)" do webhook, quais erros são apresentados?

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Bom dia Igor.
Não consegui pegar o txid, tentei de várias formas. Como disse anteriormente, não tenho conhecimentos em array e por esse motivo, tentei das seguintes maneiras:
//////////////////////
$json = '[
{
"pix":[
{"endToEndId":"EEEEEEEEEEEEEEEEEEEEEEEEEEE","txid":"444444444444444444444444444444444","chave":"00000000-0000000-00008-000-0000000","valor":"0.01","horario":"2024-03-26T20:51:56.000Z"}
]}

]';

$data = json_decode($json); // aqui seria o retorno do "$dados"
foreach($data as $item) {
echo $item->pix[0]->txid;
}
//////////////////////
Essa deu certo, mas quando coloco no arquivo de "index.php" dentro da função "salvar($dados)" do webhook, dá erros.

Tentei também todas alternativas abaixo e sem sucesso:
//////////////////////
//$data = json_decode($dados);
//$dd = $data->pix->txid;
//$conteudo = json_encode($dados).' ---- '.json_encode($dados['pix']['txid']).' ----- '.$dados['pix']['txid'].' ---- '.$dados->pix[0]->txid;
//$conteudo = json_encode($dados->pix[0]->txid).' ----- '.$dd.' ----- '.json_encode($dd).' ---- '.json_encode($dd->pix[0]->txid);
//////////////////////

Se puder me ajudar fico muito grato.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Como faço para pegar somente o txid da resposta do webhook no arquivo index.php?
Preciso gravar somente o txid antes de gravar no json.
Tentei "$txid = $dados.pix[0].txid;" mas não consegui porque não entendo de array.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Isso é ruim, mas não afeta receber ou não o webhook.