artistas / laravel-pagseguro

Checkout Transparente e Pagamentos Recorrentes (Assinaturas)
MIT License
228 stars 72 forks source link

Possível problema no método sendPreApprovalPaymentMethod() #70

Closed guiassemany closed 6 years ago

guiassemany commented 7 years ago

Pessoal, vejam o método abaixo. Onde tem $this->plan, não deveria ser o código do preApproval?

https://github.com/artistas/laravel-pagseguro/blob/5293649152e626b6afa8ffc19ceb4917e486048f/src/Artistas/PagSeguroRecorrente.php#L361-L371

Na documentação dá a entender isto, mas como estou fazendo esse tipo de integração pela primeira vez, posso não estar enxergando alguma coisa. https://dev.pagseguro.uol.com.br/documentacao/pagamento-online/pagamentos/pagamento-recorrente-transparente

Quando tento executar este método ele me retorna:

{
    "code": 17008,
    "message": "pre-approval not found."
}

Mais um indício de que o valor que realmente vai no request é o código do plano e não o do preApproval.

fernandobandeira commented 7 years ago

O plan na verdade é o proprio preApprovalCode:

https://github.com/artistas/laravel-pagseguro/blob/5293649152e626b6afa8ffc19ceb4917e486048f/src/Artistas/PagSeguroRecorrente.php#L82

Mas sim, podia ter outro nome essa variável para fazer mais sentido.

guiassemany commented 7 years ago

Cara, eu fiz um teste aqui agora, e me parece que realmente não é só o nome.

screen shot 2017-09-12 at 19 52 57

O resultado do DD foi o número do meu plano mesmo.

fernandobandeira commented 7 years ago

Ta certo, nesse caso é o retorno do sendPreApproval:

https://github.com/artistas/laravel-pagseguro/blob/master/src/Artistas/PagSeguroRecorrente.php#L351

Vou criar um novo método para definir o preApprovalCode e usar ele ao invés do plan, e lanço uma nova versão. Dá pra usar dessa forma também por hora caso precise realizar as transações.

guiassemany commented 7 years ago

Ta bom! Muito obrigado! Vou fazer assim para adiantar aqui :)

fernandobandeira commented 6 years ago

Alterei na nova versão.