Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Todas as transações da API falham após a atualização para a version 1.0.7 #64

Open
HelderCondeNP opened this issue Mar 5, 2024 · 7 comments

Comments

@HelderCondeNP
Copy link

Estou com um problema sério com a API da Iugu, para o qual solicito urgentemente a ajuda de vocês.

Minha plataformaestá no ar desde 2018, funcionando com a Iugu, sem problemas. As transações via API sempre funcionaram normalmente.

Porém, notei que desde 01/03/2024 (última sexta-feira), todas as transações com a API da Iugu estão falhando - em ambos os sentidos (de nós para a Iugu e vice-versa). Como resultado, estamos ficando sem as notificações de pagamentos, notificações de criação de faturas, alterações de status de assinatura, criação de novas assinaturas, entre outros. É um problema sério, que afeta muito o nosso negócio.

Coincidentemente, na última sexta-feira (01/03) notei que a Iugu lançou uma nova versão da Biblioteca PHP (versão 1.0.7), aparentemente criada para resolver problemas de SSL. No entanto, mesmo fazendo a atualização da biblioteca, o problema continua ocorrendo - e todas as transações via API falham.

Vale informar que as transações até 29/02 (dia anterior) funcionaram normalmente.

Vocês podem, por favor, me ajudar com essa questão? Além da atualização da biblioteca PHP, seria necessário fazer alguma outra alteração?

Fico no aguardo e agradeço antecipadamente!

@pnegri
Copy link
Contributor

pnegri commented Mar 6, 2024

Pf tente novamente atualizar. Subi a versão no packagist.

@HelderCondeNP
Copy link
Author

HelderCondeNP commented Mar 6, 2024

Eu fiz novamente a atualização (estou com a versão 1.0.7) e notei uma correção apenas parcial.

Hoje (06 de Março 2024), entre 08h e 08h30 da manhã notei que as transações voltaram a funcionar:

  1. Primeiro apenas no sentido da iugu para a minha aplicação
  2. Depois em ambos os sentidos
  3. Depois, tudo parou novamente
  4. E, por volta das 09h, voltou novamente a funcionar no sentido da iugu para a minha aplicação; mas não no sentido inverso.

Ainda parece estar havendo algo - que foi corrigido temporariamente entre as 08h e 08h30 - que está impedindo a comunicação da minha aplicação com a iugu.

Vale ressaltar que nada foi alterado na minha aplicação, durante o período em que tudo foi normalizado.

Podem me ajudar? Estamos progredindo, mas ainda não está 100%. Agradeço o auxílio!

@HelderCondeNP
Copy link
Author

HelderCondeNP commented Mar 6, 2024

Tenho algumas informações adicionais que podem ser úteis.

Eu consigo usar corretamente a API usando os exemplos de código PHP disponíveis em https://dev.iugu.com/reference.

Observe que o código abaixo (baseado em https://dev.iugu.com/reference) usa o GuzzleHttp para fazer o acesso à API. Basta adicionar o parâmetro 'verify' => false para forçar o GuzzleHttp a não fazer a verificação SSL. Com isso, os dados chegam corretamente...

<?php
require_once('../vendor/autoload.php');

$client = new \GuzzleHttp\Client(['verify' => false]); //Observe aqui o parâmetro verify = false, para forçar o GuzzleHttp a não verificar o SSL

$response = $client->request('GET', 'https://api.iugu.com/v1/customers/91AE2D1D11904E2C8924BC6FB78BDDC0?api_token=XXXXXXXXXXXXXXXXXXXXXXX', [
  'headers' => [
    'accept' => 'application/json',
  ],
]);

echo $response->getBody();

Porém, os exemplos que estão disponíveis aqui no Git (na pasta "tests") parecem não utilizar o GuzzleHttp - e minha aplicação também não. Com isso, não consigo remover a verificação do SSL.

Uma sugestão à equipe da Iugu é tentar fazer testes usando os exemplos fornecidos aqui na pasta "tests" do Git.

Fico no aguardo. Obrigado!

@williamxsp
Copy link

williamxsp commented Mar 7, 2024

@HelderCondeNP tenta remover a pasta vendor e reinstalar tudo novamente com o composer install.

Confere se em vendor/iugu-php/lib/Iugu/APIRequest.php não tem essa linha
$opts[CURLOPT_CAINFO] = realpath(dirname(FILE).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'data').DIRECTORY_SEPARATOR.'ca-bundle.crt';

Foi isso que a iugu removeu no último commit que resolve o problema do certificado:
a2105b0

@gabriel-camargo
Copy link

Olá! Gostaria de complementar que estou com o mesmo problema. Mesmo atualizando o pacote para a versão 1.0.7, o erro IuguObjectNotFound continua sendo exibido em todas as requisições.

Só consegui resolver alterando no arquivo lib/Iugu/APIRequest.php a configuração $opts[CURLOPT_SSL_VERIFYPEER] para false.

@williamxsp
Copy link

@gabriel-camargo antes da iugu subir essa atualização eu troquei o ca-bundle.crt pelo que tá no repositório do Wordpress e resolveu pra mim.

Testa trocar o arquivo do certificado da iugu (ca-bundle.crt) pelo que o Wordpress usa
https://github.com/WordPress/WordPress/blob/master/wp-includes/certificates/ca-bundle.crt

Mantendo o VERIFYPEER como true e essa linha que foi removida na última atualização:
$opts[CURLOPT_CAINFO] = realpath(dirname(FILE).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'data').DIRECTORY_SEPARATOR.'ca-bundle.crt';

@paulocosta94
Copy link

Olá! Gostaria de complementar que estou com o mesmo problema. Mesmo atualizando o pacote para a versão 1.0.7, o erro IuguObjectNotFound continua sendo exibido em todas as requisições.

Só consegui resolver alterando no arquivo lib/Iugu/APIRequest.php a configuração $opts[CURLOPT_SSL_VERIFYPEER] para false.

Encontrou alguma solução sem precisar mudar o package?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants