0%
Preparing for landing
← All work
Simpaisa × Spotify / Boku

bKash Tokenization Mock API

A behavior-faithful bKash tokenization mock that stood in for a sandbox we did not have, so two engineering teams built in parallel and Spotify’s hard launch slot held on time.

Role / Product Manager · mock design & launch strategyYear / 2025Status / Live · 260K+ transactions processed
bKash mock API and webhook lifecycle
260K+TRANSACTIONS PROCESSED
~$465KBILLING VOLUME
The problem

Spotify had a hard launch slot for bKash that wouldn’t move. The real production API realistically needed ~2 months, and integration is normally done against a vendor sandbox, but there wasn’t one in time. Until something existed to integrate against, Boku (the aggregator) couldn’t even start. That serial dependency pointed straight at the launch date.

What I did

Rather than wait, I specced and stood up a behavior-faithful mock of the exact agreed API and had Boku integrate against that instead of a sandbox: 5 core endpoints, ~40 status/error codes, idempotency, signed responses, async webhooks, and a hosted bKash-branded redirect simulator with deterministic outcomes. With it in place, both engineering tracks built simultaneously instead of in sequence.

TypeScriptNode / ExpressPrisma + SQLiteZodOpenAPIDocker
THE BET

Parallelize the dependency, protect the date.

A faithful mock collapses a serial dependency into a parallel one. Integration is normally done against a vendor sandbox, but there wasn’t one in time, and the launch slot wouldn’t move. A mock that behaved like production let Boku and Simpaisa build simultaneously and integrate against real behavior, not a PDF, months before the production system shipped.

THE DETAIL

Faithful enough to replace a sandbox.

A mock only stands in for a sandbox if it breaks where the real thing breaks: idempotency via a requestID header, signed responses with mock cryptography, asynchronous webhooks on realistic delay, and a redirect simulator that could force any of ~40 transaction-level outcomes on demand.

That fidelity, built over a Prisma/SQLite store for transactions, tokens, idempotency, webhooks and refunds, with Zod validation and an OpenAPI surface, is what let the partner trust their integration against it. Building the mock was the easy part; making it behave like production was the point.

OUTCOME

The slot held, then the volume proved it.

Because the engineering tracks never had to wait on each other, the integration went live on Spotify’s hard slot. The partner had already validated every success path, every error code, and the full redirect-plus-webhook lifecycle against the mock.

Since launch it has processed 260K+ transactions, roughly $465K in billing volume, at a 75% first-attempt success rate. A later audit of that live data confirmed the integration is technically healthy: most repeat hits are automated retries or users re-authorizing payment, which points to a retaining base rather than churn.