O caminho feliz sempre passa. O problema é o outro. Sua integração com o gateway funciona. Você testou. O teste tá verde. Deploy feito, tá em produção há meses. Aí, numa terça qualquer, o gateway devolve um erro 500. Instabilidade do lado deles. E o seu app? Cospe uma tela branca com Undefined array key "transaction_id" na cara do cliente. Porque seu código pegou a resposta de erro e tentou ler o transaction_id que não existe ali. Você testou a API funcionando . Nunca testou el...