wirecardBrasil / moip-sdk-php

Cliente em PHP para integração server-side com APIs Moip v2
MIT License
124 stars 90 forks source link

Erro na criação de conta - Exatamente como está no exemplo da documentação #283

Closed zappts closed 6 years ago

zappts commented 6 years ago

Olá,

executei exatamente o código que está no exemplo da documentação (https://dev.moip.com.br/reference#criar-conta-moip-transparente-2) porém está retornando um erro que paralisa a execução e não informa exatamente o erro que se está cometendo.

Mensagem exibida no browser: [0] The following errors ocurred:

Note, pelo meu código, que o comando die(3) não chega a ser executado.

Código: try { $account = $moip->accounts() ->setName('Fulano') ->setLastName('De Tal') ->setEmail('fulano@email2.com') ->setIdentityDocument('4737283560', 'SSP', '2015-06-23') ->setBirthDate('1988-12-30') ->setTaxDocument('16262131000') ->setType('MERCHANT') ->setTransparentAccount(true) ->setPhone(11, 66778899, 55) ->addAlternativePhone(11, 66448899, 55) ->addAddress('Rua de teste', 123, 'Bairro', 'Sao Paulo', 'SP', '01234567', 'Apt. 23', 'BRA') ->setCompanyName('Empresa Teste', 'Teste Empresa ME') ->setCompanyOpeningDate('2011-01-01') ->setCompanyPhone(11, 66558899, 55) ->setCompanyTaxDocument('69086878000198') ->setCompanyAddress('Rua de teste 2', 123, 'Bairro Teste', 'Sao Paulo', 'SP', '01234567', 'Apt. 23', 'BRA') ->setCompanyMainActivity('82.91-1/00', 'Atividades de cobranças e informações cadastrais') ->create();

die('3');

} catch (\Moip\Exceptions\UnautorizedException $e) { echo $e->getMessage(); } catch (\Moip\Exceptions\ValidationException $e) { printf($e->__toString()); } catch (\Moip\Exceptions\UnexpectedException $e) { echo $e->getMessage(); }

captura de tela 2018-06-17 as 12 30 30
zappts commented 6 years ago

Consegui resolver, era um erro meu mesmo, estava me conectando via TOKEN+CHAVE e não via ACCESSTOKEN.

Eu estava realizando operações usando TOKEN+CHAVE e aproveitei o mesmo código para efetuar essa operação que exige uma autenticação diferente.

De qualquer forma, acredito que o código deveria dar o resultado de 403 Forbidden.

Obrigado. Mantive a thread para que possa ajudar a alguém que venha a enfrentar o mesmo problema que eu enfrentei.

Att,

mbnakaya commented 6 years ago

Olá @zappts! Peço desculpas pela demora.

Que bom que conseguiu resolver o problema. 😃

Na verdade, o código de resposta está certo. Como foi um erro de autenticação, é correto que a API retorne 401 ou UnautorizedException, como é tratado pelo SDK. E o motivo da resposta vazia, é que a API não devolveu nenhum response body ou mensagem de erro. Por isso o tratamento que está utilizando não retorna nada.

catch (\Moip\Exceptions\UnautorizedException $e) {
echo $e->getMessage();
}

Encerrarei a issue para que fique claro que o problema já foi resolvido. Mas não se preocupe, isso não será um problema para encontrar esta issue, caso alguém pesquise pelo mesmo motivo.

Obs: fiquem à vontade para comentar ou reabrir a issue, se acharem necessário.