Documentation
Five steps, written plainly.
01 — Collect
Load the card field in your checkout. The browser exchanges the card for a token; your server never sees the number.
02 — Charge
POST the token, amount and an idempotency key to /api/charge. Same key, same result — always.
03 — Listen
We send a signed webhook for charge.succeeded, charge.failed and refund.created. Verify the signature, then fulfil.
04 — Refund
POST /api/refund with the charge id. Partial refunds are fine; we track the remainder.
05 — Reconcile
Download the daily settlement CSV. Every line maps to a charge id you already have.
Test cards
Any future expiry, any three-digit CVC.
4242 4242 4242 4242succeeds
4000 0000 0000 0002declined — generic
4000 0000 0000 9995declined — insufficient funds