iugu / iugu-php

iugu - Biblioteca para PHP
MIT License
89 stars 65 forks source link

Exceção \IuguObjectNotFound é gerada mesmo quando não há conectividade #28

Open snapercloud opened 6 years ago

snapercloud commented 6 years ago

A exceção \IuguObjectNotFound é demasiado genérica. Estamos integrando o sistema com a Iugu e um dos testes executados é o que simula problemas de conectividade. Em uma operação de \Iugu_Customer::fetch() , ou qualquer outro fetch(), o método Iugu_APIRequest->request() é chamado e, gerando apenas este tipo de exceção, seja qual for o erro original, não permite que esta seja tratada corretamente.

Na prática, quando o sistema não conseguir conectar-se à API, seja por problema de conectividade ou mesmo um período de manutenção (503 "Service Unavailable"), será levado a crer que o usuário em questão não existe, e procederá à criação do recurso.

https://github.com/iugu/iugu-php/blob/05b1c8e89ec91df6f30ce02b960d5069516b468f/lib/Iugu/APIRequest.php#L34-L40

alissonsilvas commented 6 years ago

Estou utilizando essa chamada para fazer transferências automaticas entre subcontas, sempre que um pagamentos é realizado (gatilho: inovice.released é ativado) está me apresentando muita inconsistência algumas tranferências são realizadas outras não, quando vou verificar nos logs do servidor sempre há um IuguObjectNotFound no mesmo horário que acontece as transações. alguém já achou uma saída para resolver esse tipo de problema?