Callback infrastructure for teams building on payment APIs

Catch every callback. Debug it locally. Replay it with evidence.

CallbackDesk gives developers a hosted HTTPS callback URL, a local CLI forwarder, redacted payload history, and project-scoped tokens for teams that cannot afford lost webhook events.

Start locally
npx callbackdesk doctor http://localhost:3000/api/mpesa/callback
Public HTTPS URL No ngrok setup required for the callback receiver.
Local CLI forwarder Provider POSTs are delivered to your localhost handler.
Replayable evidence Inspect payloads, attempts, status codes, and replay commands.
Project tokens Team mode adds persistent projects and revocable CLI access.

How it works

One debugging loop, built around the way payment callbacks actually fail.

1

Run Doctor

The CLI creates a hosted session and starts waiting for callbacks.

2

Use the generated URL

Paste the secure `/c/...` callback URL into the provider setting or sandbox request.

3

Fix and replay

CallbackDesk forwards to localhost, records the result, and replays the same payload after you patch your handler.

Designed for real integrations

Developers get speed. Teams get control.

Anonymous sessions are fast enough for a single integration test. Account projects add ownership, longer retention, and revocable tokens for teams shipping across environments.

Session stk-checkout-sandbox
3 attempts
Provider event STK callback received
Local response 500, then 200 after replay
Evidence Body redacted, headers redacted, command ready
callbackdesk replay evt_8M3

What this is

CallbackDesk is not a payment gateway. It is the developer operations layer around callbacks.

Capture

Receive provider callbacks on a hosted HTTPS endpoint before they disappear into local dev failures.

Forward

Deliver each captured payload through the CLI to your local handler and record the response.

Replay

Re-run the same event after fixing code instead of triggering a fresh provider transaction.

Evidence

Keep redacted bodies, headers, normalized fields, attempts, and status codes together.