Possível bug - Número do documento está faltando
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
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.
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']
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
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 .
Alguma atualização sobre este problema? Ainda estou recebendo o mesmo erro.
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.