AkiraAkira.dev
3 min de leitura

Laravel SISP 0.6.4 torna estados de pagamento explícitos

A 0.6.4 junta duas releases pequenas numa limpeza de pagamentos pendentes, retries assinados, totais, reembolsos e metadata.

também em EN FR

Pagamentos não quebram apenas quando o gateway cai.

Eles quebram quando uma transação fica pendente tempo demais, quando um retry pode ser chamado sem assinatura, quando a soma dos itens não bate com o total, quando uma fatura junta linhas do jeito errado, ou quando o pacote publicado aponta para um ficheiro que não existe.

Foi isso que eu tratei como Laravel SISP 0.6.4.

Tecnicamente, houve uma 0.6.3 no dia anterior. Na prática, 0.6.3 e 0.6.4 pertencem ao mesmo movimento: limpar a base operacional do pacote para que uma aplicação Laravel consiga integrar SISP com menos surpresa em produção.

Primeiro, tirar ruído do pacote

A 0.6.3 resolveu coisas que parecem pequenas até bloquearem alguém.

O pacote tinha metadata de Node desalinhada e apontava para um entrypoint ausente. Isso não muda o fluxo de pagamento, mas muda a confiança de quem instala, audita ou automatiza o pacote. Um package manifest errado é uma promessa quebrada em miniatura.

Também corrigi o fingerprint serializado no callback e estabilizei a geração de identificadores de merchant. Esses dois pontos vivem no chão da integração. Ninguém compra o pacote porque eles existem. Mas quando eles falham, tudo acima deles fica suspeito.

Essa foi a primeira parte da release: remover ruído para que o comportamento real do pacote ficasse mais fácil de confiar.

Depois, proteger o dinheiro

A 0.6.4 apertou regras em pontos onde tolerância demais vira bug financeiro.

O pacote agora valida os totais dos itens do pagamento antes de seguir. Se a soma dos itens não fecha com o valor esperado, isso deve aparecer cedo. A fatura, a conciliação e o suporte ao cliente dependem desse detalhe.

Reembolsos também ficaram mais explícitos: o pacote exige reversões de valor total. Isso evita um estado meio suportado, meio imaginado, onde a aplicação acha que fez uma coisa e o gateway pode estar a representar outra.

Retries agora exigem requests assinados. Rotas que mudam estado receberam middleware configurável. Esse é o tipo de mudança que não deve virar headline bonita, mas deve existir em qualquer pacote que toca dinheiro.

O ponto central: pendente não é final

O feature mais importante da 0.6.4 é a reconciliação de pagamentos pendentes.

Em SISP, como em qualquer gateway real, nem sempre a resposta final chega no momento em que a aplicação quer. O callback pode atrasar. A resposta pode ficar incompleta. A transação pode existir, mas ainda não estar pronta para ser tratada como sucesso ou falha.

Antes, esse tipo de estado intermediário era fácil de deixar como problema operacional. Agora o pacote tem uma consulta de status documentada e um caminho de reconciliação para pagamentos pendentes.

Isso muda a postura da integração. Em vez de fingir que todo pagamento termina no primeiro round-trip, o pacote assume que estados intermediários existem e precisam virar decisões explícitas.

O contra-argumento

Sim, isso parece uma release pequena.

Não tem uma API nova chamativa. Não tem um novo frontend. Não tem um fluxo novo para vender no README.

Mas esse é o ponto. Integração de pagamento não ganha maturidade apenas adicionando superfície. Ela ganha maturidade quando remove ambiguidade dos lugares onde produção costuma cobrar a conta: callbacks, retries, totais, faturas, reembolsos e estados pendentes.

Laravel SISP 0.6.4 é esse tipo de release.

Menos promessa. Mais contrato.

Em pagamentos, a melhor release transforma estados ambíguos em decisões explícitas.

share
Caption copied — paste in the compose box