Deve ter algum ponto da verificaçāo na geraçāo do invoice retornando para inválido mesmo sendo outro erro, por exemplo, se ele der um erro de "expirado" pode estar caindo no erro de inválido por nāo ter uma verificaçāo pra esse erro específico.
Mas só vendo o código pra saber, só chutei hahaha.