pedrofurtado / qrcode_pix_ruby

Ruby gem for QRCode generation of Pix (Pagamento Instantâneo Brasileiro - Banco Central do Brasil)
https://rubygems.org/gems/qrcode_pix_ruby
MIT License
43 stars 7 forks source link

Bug no CRC16, falta de zero à esquerda #29

Closed odairbr closed 1 year ago

odairbr commented 1 year ago

Durante a geração de um payload, foi observado que o valor do campo de CRC foi gerado como AA8, em vez de 0AA8. Após tentar efetuar o pagamento, foi identificado que o valor incorreto de CRC causou uma falha na transação. Ao analisar o problema, verificou-se que faltou o zero à esquerda para completar o valor de CRC com quatro caracteres.

Grato

odairbr commented 1 year ago

Eu testei aqui e o rjust(4, '0') já poderia resolver. O que vocês acham?

"#{ID_CRC16}04#{result.to_s(16).upcase.rjust(4, '0')}"
pedrofurtado commented 1 year ago

Olá @odairbr , tudo joia?

Poderia abrir um pull request, por gentileza, com algum teste que valide esse cenario pra nos? Pra checarmos se mantem compatibilidade com o restante dos outros cenarios previstos pela gem tb.

Ficarei grato em revisá-lo e lançar uma versão nova da gem logo na sequencia 🤝

odairbr commented 1 year ago

Abri o PR https://github.com/pedrofurtado/qrcode_pix_ruby/pull/30 Obrigado

pedrofurtado commented 1 year ago

@odairbr v0.5.1 lançada 🎉 -> https://rubygems.org/gems/qrcode_pix_ruby/versions/0.5.1