codephix / asaas-sdk

MIT License
62 stars 48 forks source link

Valor enviado no campo é inválido: discount, interest e fine #33

Open jeanpaulosm opened 10 months ago

jeanpaulosm commented 10 months ago

Eu utilizo o seu projeto a um bom tempo e hoje meus clientes não conseguiam gerar cobranças. Depois de observar os erros, cheguei a conclusão que esses campos não estão sendo aceitos se forem vazios.

Eu não utilizava eles na minha cobrança, mas agora tive que adicionar no payload para conseguir emitir o invoice.

Não cheguei a debugar, mas acredito que esses campos são enviados como vazios por padrão, entretanto o asaas espera um objeto.

Então enviei o objeto com os valores zerados para não ter efeito e a cobrança foi gerada com sucesso.

"discount": { "value": 0, "type": "FIXED", "dueDateLimitDays": 0 }, "interest": { "value": 0 }, "fine": { "value": 0, "type": "FIXED" }

CiceroTecchio commented 10 months ago

O mesmo problema aqui, a API do Asaas deve ter alterado a validação e por isso o problema começou a acontecer

italoveloso commented 10 months ago

A solução é basicamente adicionar um array_filter lá nos atributos enviados para requisição de cobrança logo depois da linha $this->cobranca = array_merge($this->cobranca, $dados); nos métodos setCobranca e #setCobrancaCartao.

Vou tentar criar um PR mais tarde.

codephix commented 6 months ago

Bom dia pessoal, estarei realizando uma atualização e adicionando as melhorias que o Asaas implementou.