Histórico de mensagens sobre an em pix

EXIBINDO CONVERSAS RECENTES:

Texto: an
Data: 13/11/2023
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

POST eu não acho legal, porque não evita transações repetidas.
O ideal é gerar o txid a partir de um número único que já exista no seu processo. Número do pedido, número da nota fiscal etc.

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

só ta faltando eu conseguir captar o status para finalizar 😅

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

não, usei a direta. Utilizando POST

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sobre o txid, não foi você criou o txid ao criar a cobrança ? Você está fazendo PUT em /cob ou POST em /cob ?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Em homologação você só recebe webhooks de cobranças até R$10. Então para testar lá, baixe o valor da cobrança.

Avatar discord do usuario gabriel_efi

gabriel_efi

Olá, @vitor.oliveira94!
Você chegou a tentar verificar o JSON que está chegando, salvando em um log para averiguações?

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

estou usando o exemplo de código que esta no site.

function resposta($status, $mensagem, $dados)
{
$resposta['status'] = $status;
$resposta['mensagem'] = $mensagem;
$resposta['dados'] = $dados;
$json_resposta = '
' . json_encode($resposta, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

header("HTTP/1.1 " . $status);
echo $json_resposta;
}

function salvar($dados)
{
// Crie um arquivo .;json para salvar as informações
$nomeArquivo = 'dados.json';
$dadosGravados = json_decode(file_get_contents($nomeArquivo), true);
$arquivo = fopen($nomeArquivo, 'w');

// Incrementa as informações enviadas com o que já havia gravado
array_push($dadosGravados, $dados);

if (fwrite($arquivo, json_encode($dadosGravados))) {
resposta(200, "Requisição realizada com sucesso!", $dados);
} else {
resposta(300, "Falha ao salvar os dados da requisição.", $dados);
}

fclose($arquivo);
}

function requisicao($metodo, $body, $parametros)
{
switch ($metodo) {
case 'POST':
salvar($body);
break;
case 'GET':
resposta(200, "Requisição realizada com sucesso!", $body);
break;
}
}

// Obtém o método HTTP, body e parâmetros da requisição
$metodo = $_SERVER['REQUEST_METHOD'];
$parametros = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
$body = json_decode(file_get_contents('php://input'), true);

try {
requisicao($metodo, $body, $parametros);
} catch (Exception $e) {
resposta(400, $e->getMessage(), $e);
}

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

no modo homologação também vou receber esse? Entendi que o correto seria salvar o txid no banco de dados para quando receber algum webhook atualizar o status ligando com ele, certo?

Avatar discord do usuario rubenskuhl

rubenskuhl

Detalhe que é o que vem no webhook é um array de pix... então teoricamente você receber mais de uma confirmação no mesmo acionamento do webhook. A Efí não costuma usar isso, mas pode acontecer se o banco pagador mandar dois pagamentos pra Efí no mesmo pacote do Pix.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que você vai receber no webhook é algo assim:

{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Então o txid que você mandou ao fazer PUT no /cob, é o que você usa para fazer match desse Pix com a cobrança.
E você confere também chave (tem que ser a mesma chave que você usou no /cob) e o valor (tem que ser o mesmo valor). Se tudo certo, você dá como pago.

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

nao, mandei https:/exemplo.com.br/

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Vc mandou para a configuração do webhook https:/exemplo.com.br/pix ? Pq aí a Efí vai acionar https://exemplo.com.,br/pix/pix ...

Avatar discord do usuario rubenskuhl

rubenskuhl

Então você precisa colocar /webhook mesmo no cadastro, mas ter o teste funcionando em /webhook e o recebimento funcionando em /webhook/pix .

Avatar discord do usuario nandinhatnl

nandinhatnl

Ver Respostas

engraçado, se eu estar o put no webhook/pix funciona... só não recebo quando faço o pagametno mesmo

Avatar discord do usuario nandinhatnl

nandinhatnl

mas quando faço um pagto ... não recebo absolutamente nada

Avatar discord do usuario nandinhatnl

nandinhatnl

Ver Respostas

Mas não recebo nenhum dado quando faço um pagamento....

Avatar discord do usuario nandinhatnl

nandinhatnl

Ver Respostas

Oi Jéssica, sim... quando envio via PUT eu recebo a notificação de teste.... vindo de vcs...