acme-pay
The payments API behind Acme's checkout: charges, invoices, refunds, and the double-entry ledger that records every cent of them.
Layout
| Package | What it does |
|---|---|
cmd/server |
the HTTP server and its wiring |
api |
routes, handlers and JSON helpers |
money |
amounts with a currency |
ledger |
double-entry journal, balances and currency rates |
billing |
invoices, charges and refunds |
customers |
customer records |
webhooks |
signed event delivery to merchants |
middleware |
logging, metrics and idempotency keys |
config |
settings from the environment |
Run it
export DATABASE_URL=postgres://localhost/acme_pay
go run ./cmd/server
curl localhost:8080/health
How we review
Every change is a stack of small reviews on one branch. Push with gs push,
carve reviews with gs review create, and land them bottom-up with
gs submit. Each review needs one approval and green test and lint checks.