Author Image

tarcizio5821

Mar 26, 2024

Captura do txid do Webhook com PHP e Array

integraçãowebhookPHPAPIPIXcapturatxidarrayerrojson_decode

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.

Respostas (12):
Avatar discord do usuario igor_efi

igor_efi

26/03/2024

Boa tarde, @tarcizio5821! Ja tentou: $dados->pix[0]->txid; ?

Avatar discord do usuario tarcizio5821

tarcizio5821

26/03/2024

vou tentar

Avatar discord do usuario tarcizio5821

tarcizio5821

26/03/2024

Não deu, apareceu um erro "PHP Notice: Trying to get property 'txid' of non-object"

Avatar discord do usuario igor_efi

igor_efi

26/03/2024

$dados->pix[0] é retornado alguma informação?

Avatar discord do usuario tarcizio5821

tarcizio5821

27/03/2024

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 guilherme_efi

guilherme_efi

27/03/2024

@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

27/03/2024

- 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

27/03/2024

me confundi, não é essa
imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario tarcizio5821

tarcizio5821

27/03/2024

- json_decode() expects parameter 1 to be string, array given on line 33.
- Invalid argument supplied for foreach() on line 35.
imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario guilherme_efi

guilherme_efi

27/03/2024

@tarcizio5821, se foi feito o json_decode o valor em $data será um array.
Sugiro debugar, colocar um var_dump($data); na linha 40 para visualizar o array completo.

Avatar discord do usuario tarcizio5821

tarcizio5821

27/03/2024

usei o var_dump($data) e deu esse erro:
Notice: Array to string conversion in linha 47.
imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario guilherme_efi

guilherme_efi

27/03/2024

Não é possível atribuir um var_dump a uma variável, @tarcizio5821.