Developer tools
Billing with the parts a developer checks first
Scoped keys, signed webhooks with retries, idempotent writes, request logs and a sandbox on test chains. The billing is the easy part once those exist.
- Keys
- Scoped and rotatable
- Webhooks
- Signed, retried, replayable
- Writes
- Idempotent
- Sandbox
- Test chains, same objects
Secret key
sk_live_•••• 4Kd9
webhooks · acme.dev/reclack
- 22:07:41.102 subscription.created 201 142ms
- 22:07:44.310 invoice.paid 200 118ms
- 22:07:46.915 subscription.renewed 200 109ms
The stack
What you integrate against
One account, one set of credentials, and the same objects in sandbox and live.
Secret key
sk_live_•••• 4Kd9
webhooks · acme.dev/reclack
- 22:07:41.102 subscription.created 201 142ms
- 22:07:44.310 invoice.paid 200 118ms
- 22:07:46.915 subscription.renewed 200 109ms
Guarantees
The parts that stop a bad afternoon
A retry cannot charge twice
Writes accept an idempotency key, and a period can only ever open one invoice.
A missed delivery is recoverable
Six spaced attempts, response bodies captured, and replay from the dashboard.
A leaked key is contained
Scopes limit what it can do, and rotation does not take the integration down.
A bad deploy is visible
Request logs for every call, with the key that made it and what came back.
A chain is never assumed
Transactions are followed to a confirmed state before anything is marked paid.
A secret is never logged
Reclack does not log secrets or private keys, and never asks a customer for one.
Questions
Before you open the editor
- What does the API actually look like?
- Products, prices, customers, subscriptions, invoices, payments and events, as REST resources. Writes take an idempotency key, so a retry cannot charge twice.
- How do we verify a webhook?
- Each delivery carries a signature over the timestamp and the body. Verify it with your endpoint secret, and reject anything outside your tolerance window.
- Can we scope a key to one job?
- Yes. Keys carry scopes, so a worker that records usage does not also have the ability to create subscriptions.
Integrate once, in sandbox first
Scoped keys, signed events and idempotent writes, then the same code against live.