
Build A Stripe Integration
Write Stripe code against what the API does today, plan the product shape, confirm...
Install
npx skills add ParadevAI/Paradev --skill build-a-stripe-integration -g -a claude-code -y- Repository
- ParadevAI/Paradev15.8k
- Category
- Testing
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 1,074 tokens
- Runs scripts
- No, instructions only
What it does
Write Stripe code against what the API does today, plan the product shape, confirm every parameter from Stripe's own docs and schemas, and keep the agent in a sandbox. Use when adding checkout, billing, subscriptions, invoicing, or webhooks to a codebase, or when debugging Stripe integration code that compiles but behaves wrong.
Confirm the API, do not recall it
Stripe's API is large, versioned, and still moving. Model memory of it is a snapshot of whatever was true at training time, and the failure mode is not a compile error: it is a field that is accepted and quietly ignored. Every parameter you write should have come from a tool call in this session.
1. Pick the product before the endpoint
Run stripe_implementation_planner with what the integration has to do. The
first decision is which Stripe product owns the flow, and it is hard to reverse:
- A one-off payment with a page Stripe hosts is Checkout.
- A one-off payment inside your own UI is either embedded Checkout or PaymentIntents with Elements. Pick on how much of the checkout behavior you want Stripe to own, not on where the form renders; staying inside your UI does not oblige you to build the flow yourself.
- Anything recurring is Billing, with prices and subscriptions, not a payment you re-run on a timer.
- Charging after the fact with terms is Invoicing.
Writing a custom recurring charge loop on top of PaymentIntents is the common wrong turn, and it costs retries, proration, tax, and the customer portal.
2. Read the current docs, then cite them
search_stripe_documentation before you write the first line, and link what you
used. If a doc disagrees with what you expected, the doc is right. Watch for
guidance that changed: the parameter that moved, the field that is now a nested
object, the method that is superseded.
3. Get parameters from the schema, never from memory
stripe_api_search finds the method, stripe_api_details gives its real
parameters and types. Do this even for calls you are sure of.


