pagarme / superbowleto

:football: A microservice to issue, register and manage boletos
MIT License
5 stars 0 forks source link

providers: add boleto-api-bradesco-shopfacil #334

Closed Thor99 closed 4 years ago

Thor99 commented 4 years ago

Esse PR tem o intuito de adicionar um novo provider para registro de boletos, que é o boleto-api-bradesco-shopfacil. Esse provider registra os boletos na API da Shopfacil do Bradesco, utilizando a boleto-api de intermediário.

Caso tenha interesse, documentação da boleto-api.

Observação para quem for revisar:

:rotating_light: Importante: há dependência de atualização do credstash do projeto antes de fazer o deploy.

relates to https://github.com/pagarme/ghostbusters/issues/647

Thor99 commented 4 years ago

@Brunoperesp salve mano! @alinemarjorie e eu ficamos na dúvida em 4 response-codes, o -902, 93005117, -548, 93005118. Pode ver se lendo pelas mensagens parece termos escolhido o status correto? 🎣

Obrigaduuu

Brunoperesp commented 4 years ago

Só pra validar dois pontos:

Nesse -548 aqui, segue esse status mesmo?

  '-548': {
    message: 'Falha na comunicação',
    status: 'unknown',

Esse erro -902 a gente já tomou em uns dois dias no passado. é uma url que temos cadastrada no portal do shopfácil. Entendi que vamos retornar isso de info pro cliente, é isso?

❤️ @Thor99 @alinemarjorie

Thor99 commented 4 years ago

Fala @Brunoperesp! Então, nossa dúvida é justamente o status desses codes, se tá certo kkkkk

O status "refused" falha o boleto e é isso, o "unknown" é pra quando iremos retentar o registro de novo 😬

Dae a duvida e justamente essa, o "status" dos -902, 93005117, -548, 93005118 parece fazer sentido com a mensagem que eles apresentam?

Isso a gente não retorna pro cliente não 😬

Brunoperesp commented 4 years ago

@Thor99 my bad

ahhaha boa, @jeanaugustoos esse -902 vc resolveu junto cmg na outra vez. Se eu não me engano ia direto pra refused. Mas acha que faz sentido? Em geral é um problema na rota de validação que comentei, a última vez levou muiiito tempo pra resolver. Não sei se vale a pena retentar.

Por enquanto @Thor99 e @alinemarjorie acho que deboas manter assim

Thor99 commented 4 years ago

Fiquei com uma dúvida sobre a forma como este novo provedor foi construído. Estava em mente que seria apenas o provedor boleto-api e dentro dele teríamos a lógica para lidar com os diferentes bancos.

Coe! Durante o desenvolvimento conversamos com o Luci e chegamos a conclusão que continuariamos a deixar o Superbowleto modular e com padronização nos providers, e para isso, continuaria a ser muito simples se tivessemos um provider novo pra cada nova integração da boleto-api, deixando a integração cuidar de cada particularidade de um novo provider, sem precisar deixar complexo com uma lógica de saber pra qual provider handlear em cada momento. Ou seja, continuaria com a interface que já temos hoje no bradesco

jeanaugustoos commented 4 years ago

Coe! Durante o desenvolvimento conversamos com o Luci e chegamos a conclusão que continuariamos a deixar o Superbowleto modular e com padronização nos providers, e para isso, continuaria a ser muito simples se tivessemos um provider novo pra cada nova integração da boleto-api, deixando a integração cuidar de cada particularidade de um novo provider, sem precisar deixar complexo com uma lógica de saber pra qual provider handlear em cada momento. Ou seja, continuaria com a interface que já temos hoje no bradesco

Acho que abrimos muito espaço para código duplicado com esta abordagem. Mas podemos pensar nisso posteriormente.