← Todos os estudos de caso
PT

Estudo de caso · backend e pagamentos

Checkout: features em uma plataforma de pagamentos de alto volume

Checkout e pagamentos de uma operação de e-commerce onde a empresa transaciona mais de R$3 bilhões por ano (informação pública da companhia). Meu trabalho era no nível de feature: evoluir endpoints existentes, criar novos seguindo os padrões da plataforma e integrar essas APIs nas aplicações web.

Contexto

A plataforma de checkout cuida de checkout, conversão, pagamentos, pedidos e autenticação para vários lojistas e lojas virtuais. É um sistema onde a arquitetura já existia e onde vários times e clientes consomem as mesmas APIs, o que faz da compatibilidade parte do trabalho, não um detalhe posterior.

Problema

Minha responsabilidade

Evoluir features e endpoints existentes, criar novos endpoints quando a feature exigia (seguindo os padrões arquiteturais já estabelecidos pelo time), consumir essas APIs no front-end e escrever testes.

O que eu trabalhei

Como eu abordei

Antes de escrever qualquer coisa eu lia os outros endpoints do mesmo serviço e seguia as convenções deles (nomenclatura, formato de erro, validação), porque consistência é o que torna uma API aprendível. Em mudanças de contrato, eu tratava os consumidores existentes como restrição: estender em vez de redefinir, e manter o comportamento anterior válido. Como a mesma mudança costuma atravessar back-end e front-end, eu trabalhava dos dois lados do contrato em vez de entregar um formato que ninguém tinha validado. E para tudo que tocava dinheiro ou estado de pedido, os testes vinham antes de a mudança entrar.

Desafios

Decisões e trade-offs

Resultado

Features entregues em um caminho crítico de receita, e um front-end que deixou de carregar uma classe de bugs de representação monetária. A escala em volta: mais de R$3 bilhões transacionados por ano na plataforma.

O que aprendi