woocommerce-pagarme icon indicating copy to clipboard operation
woocommerce-pagarme copied to clipboard

Possível bug - Número do documento está faltando

Open Luc45 opened this issue 7 years ago • 6 comments

No arquivo class-wc-pagarme-api.php, na linha 290, ele faz o seguinte check:

'1' === $wcbcf_settings['person_type']

No entanto, $wcbcf_settings['person_type'] retorna um 1 do tipo int, não do tipo string, portanto ele não entra e não preenche o document_number

Luc45 avatar Dec 15 '17 22:12 Luc45

Tive o mesmo problema, me bati um monte pra chegar nessa mesma conclusão. Até fiz um pull request há algum tempo, que não foi aceito: https://github.com/claudiosanches/woocommerce-pagarme/pull/34/files

Quando fiz as pequenas alterações desse pull request o meu sistema voltou a funcionar sem problemas. Agora estou curioso se mais alguém além de nos 2 tiveram o mesmo problema, pois achei que era somente eu.

stefanfuchs avatar Dec 16 '17 03:12 stefanfuchs

Estou em casa agora e sem acesso ao código fonte, mas li os comentários do @claudiosanches no pull request e achei pertinentes, creio que uma forma segura de resolver seria rodar um array_map() no $wcbcf_settings castando todos os valores para strings com strval()

PS: Quando eu mudei '1' para 1, meu sistema também voltou a funcionar, preenchendo o $data['document_number']

Luc45 avatar Dec 16 '17 13:12 Luc45

Acho que talvez possa dar pau para algumas pessoas e para outras não dependendo da versão da API Pagar.me que eles usam? Talvez em algum ponto eles começaram a exigir document_number como um campo obrigatório

Luc45 avatar Dec 16 '17 15:12 Luc45

Eu lembro que deu ruim depois que atualizei uma vez o plugin do pagar.me no meu site. O número do documento estava sendo enviado corretamente antes da atualização, e já era obrigatório enviá-lo ao pagar.me.

Foram exatamente essas linhas de código que foram alteradas na atualização. Estou intrigado porque a variável fica int para nós, e para outras pessoas fica string. Eu não cheguei a procurar mais a fundo a causa, eu somente fiz essa pequena correção e não precisei pensar mais nisso. Não tive problemas depois, porém só tenho que lembrar de alterar o arquivo sempre depois de atualizar o plugin.

Agora, se outros estão tendo o mesmo problema então é interessante os desenvolvedores darem uma olhada.

On Dec 16, 2017 13:03, "Lucas Bustamante" [email protected] wrote:

Acho que talvez possa dar pau para algumas pessoas e para outras não dependendo da versão da API Pagar.me que eles usam? Talvez em algum ponto eles começaram a exigir document_number como um campo obrigatório

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/claudiosanches/woocommerce-pagarme/issues/59#issuecomment-352188804, or mute the thread https://github.com/notifications/unsubscribe-auth/AC8wqmaRnrJI0Rquzyd95OD9d4bSXS6mks5tA9vFgaJpZM4REDXG .

stefanfuchs avatar Dec 16 '17 20:12 stefanfuchs

Alguma atualização sobre este problema? Ainda estou recebendo o mesmo erro.

batistaleandro avatar Aug 20 '18 17:08 batistaleandro

Eu tive que resolver o problema trocando os === por == e os !== por !=, como consta no pull request do @stefanfuchs. Os códigos se encontram nas linhas 291 a 299 do referido arquivo.

luisaureliocasoni avatar Jun 09 '20 16:06 luisaureliocasoni