Payment gateway
One payment gateway.
Nothing else on the shelf.
Dear reader — we make a single thing: a quiet, exact way to accept card payments on your site. No marketplace, no upsell tiers. This page is the whole shop.
1.4% + 20¢
per successful charge · no monthly fee
99.995%
uptime, last 12 mo
180 ms
median authorisation
T+2
payouts to your bank
PCI DSS L1
card data scope
The making-of
We kept a notebook while building it. These are the entries we'd want to read if we were trusting someone with our revenue.
Week 1
We wrote the refund path before the charge path. If money can't come back cleanly, it shouldn't go out at all.
Week 4
Idempotency keys on every write. Retrying a charge twice now costs your customer exactly once — we tested it 40,000 times.
Week 9
Card numbers never touch your server. Tokenisation happens in the browser; you only ever hold a reference.
Week 14
Webhooks are signed, timestamped and replayable for 30 days. Lost one during a deploy? Ask for it again.
Week 22
Settlement reports reconcile to the cent, in plain CSV. No dashboard required to know where your money is.
Week 31
We removed eleven settings. Defaults that are right beat options that are confusing.
What's in the box
POST /api/charge
{
"amount": 4200, // cents
"currency": "usd",
"card": "tok_…", // from the browser
"idempotency_key": "order_8812"
}
→ 200 { "id": "ch_…", "status": "succeeded" }“If something goes wrong with a payment, you'll hear from a person who wrote the code. That's the whole support policy.”
— VictoryPay