Histórico de mensagens sobre PIX em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: PIX
Data: 27/03/2024
Canal: dúvidas
Avatar discord do usuario tarcizio5821

tarcizio5821

@guilherme_efi e @igor_efi Consegui pegar o txid e criar o arquivo txt.
Não ficou muito elegante mas foi o que funcionou, e funciona legal.
Segue a solução para quem um dia precisar:
/////////////////4
$n = json_encode($dados);
$d1 = '['.$n.']';
$d2 = json_decode((string) $d1);
$txid = '';
foreach($d2 as $item) {
$txid .= $item->pix[0]->txid;
}
//grava o arquivo txt vazio
$fp = fopen('./txts/'.$txid.'.txt','wb');
fwrite($fp,'');
fclose($fp);
/////////////////4
Obrigado a todos.
imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Apaguei sua mensagem anterior por conter alguns dados sensíveis, como sua chave Pix.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

- json_decode() expects parameter 1 to be string, array given linha 39.
- Trying to get property 'pix' of non-object linha 40.
- Trying to get property 'txid' of non-object linha 40.

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.