The full Stripe API as a JSRPC capability. 534 operations, 73 namespaces, generated from Stripe's official OpenAPI spec.
How-to
Install
Click the Deploy button above.
Set the API key
wrangler secret put STRIPE_API_KEY
Bind from a caller Worker
Call any Stripe endpoint
const { result, evidence } = await env.STRIPE.charges.create({ amount: 1000, currency: "usd", source: "tok_visa", }); const { result: customer } = await env.STRIPE.customers.create({ email: "user@example.com", }); const { result: refund } = await env.STRIPE.refunds.create({ charge: "ch_...", amount: 500, });
Add a custom evidence override
Edit src/overrides.ts:
export const overrides = { paymentIntents: { create: { asserts: [ matches("id", /^pi_/), equals("status", "succeeded"), ], }, }, };
Regenerate from the latest Stripe spec
cd ../../tools/codegen
bun src/cli.ts \
--spec https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.sdk.json \
--out ../../capabilities/stripe \
--name stripeReference
Coverage
| Count | |
|---|---|
| Operations | 534 |
| Namespaces | 73 |
| Worker bundle (uncompressed) | 313 KiB |
| Worker bundle (gzipped) | 36 KiB |
| Source spec version | 2026-04-22.dahlia |
Evidence overrides applied
These methods get richer assertions than the generic HTTP-status check:
| Method | Assertions |
|---|---|
charges.create |
id ~ ^ch_, status == succeeded, paid == true |
refunds.create |
id ~ ^re_, status == succeeded |
paymentIntents.create |
id ~ ^pi_ |
paymentIntents.confirm |
id ~ ^pi_, status == succeeded |
Every other operation gets a generic httpStatus 2xx assertion.
Required secrets
| Secret | Source |
|---|---|
STRIPE_API_KEY |
Stripe dashboard → Developers → API keys |
Public HTTP route
fetch() returns 404. The Worker is JSRPC-only.
Generated files (do not edit)
| File | Purpose |
|---|---|
src/generated/schema.gen.ts |
openapi-typescript output, full type tree |
src/generated/capability.gen.ts |
RpcTarget classes + WorkerEntrypoint |
src/generated/manifest.gen.ts |
operationId → metadata map |
src/generated/runtime.ts |
Evidence-aware fetch helper |
Editable files
| File | Purpose |
|---|---|
src/index.ts |
Worker entry, applies overrides |
src/overrides.ts |
Per-method evidence overrides |
wrangler.jsonc |
Deployment config |