Quando se atribuí
json_decode(..., true)
True após o resultado qual quer decodificar, o mesmo é extraído por array e não objeto...
Tenta
$body[0]["pix"][0]["txid"]
ou $body["pix"]["txid"]
Indiquei pelo que obsevo ta array com sub array, ou talvez seja mal interpretação minha ai ta a segunda opção.