Skip to content
cccskills
FreePublished on GitHubEnglish overview

build-a-stripe-integration

Build Stripe payments, subscriptions, and invoicing using verified documentation and API parameter definitions. The skill guides product selection, sandbox testing, and webhook handling, where server notifications determine payment and subscription state.

OriginalShow the original description

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.

ParadevAI/Paradev15,720 stars(GitHub 15,720 + cccskills 0)
Works withStripe

Run score Not tested

See how to install

Good for

  • Choose Stripe products for payments or recurring billing
  • Implement Checkout or invoice flows
  • Investigate Stripe code that compiles but behaves incorrectly
  • Test renewals and implement webhook handlers

Overview

What it does

This skill supports implementation of Stripe payments, subscriptions, invoices, and webhooks. It helps select a product such as Checkout, Billing, or Invoicing based on the requirements, then checks current official documentation and API parameter definitions before writing code. It verifies where parameters belong and how nested objects are structured instead of relying on memory.

When it helps

Use it when adding payment features or investigating an integration that compiles but does not behave as expected. It also helps test subscription renewals and design access changes based on payment events.

Example requests

  • “Choose and implement the right Stripe product for monthly billing.”
  • “Check this API call’s parameters against the official documentation.”
  • “Add webhook signature checks and protection against duplicate events.”

Notes

The skill assumes access to tools for Stripe implementation planning, documentation search, and API definition lookup. Development uses a sandbox account and test cards; test clocks are used to check time-based behavior such as renewals. Secret keys belong in environment variables. Webhooks determine payment state, with signature checks and handling for duplicate or out-of-order events. Amounts are integers in the currency’s smallest unit.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt specifies sandbox use, environment-stored keys, webhook verification, and duplicate handling.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingStripe tools and a sandbox are required, but setup instructions are absent.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 29, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md4.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

A misspelled parameter is usually the easy case: Stripe answers a name it does not recognize with an invalid_request_error naming the field, so you normally find out at once. Normally, not always, because what an endpoint accepts is the endpoint's business and the docs promise no blanket rule. The expensive case is a parameter that is real but wrong here, and it has three shapes. A field that belongs to a sibling endpoint. A field nested at the wrong level, where Stripe sees the flat name as unknown and the value you meant never arrives. And a field that is accepted and does something other than what its name suggests, which no error can catch for you. The schema is what separates the three.

4. Stay in a sandbox

Create nothing in live mode while building. Use a sandbox account and test cards. For anything time-based, such as a trial ending or a renewal, create a test clock and move it, instead of waiting or faking dates in your own code. Test clocks are the only honest way to prove renewal logic works.

5. Make webhooks the source of truth

A browser returning from Checkout proves the browser came back, nothing more. Fulfilment, entitlement, and subscription state belong to webhook events. Verify the signature, respond quickly, and make the handler idempotent: Stripe retries, and events can arrive out of order. An integration that grants access on a redirect is an integration that grants access to anyone who can replay a URL.

6. Keep keys out of the code

Secret keys live in the environment, never in a repo, a client bundle, or a log line. When adding a new call path, read how the codebase already talks to Stripe and extend that path rather than opening a second one with its own key handling.

Anti-patterns

  • Recalling a parameter list. Confirm it. A wrong name errors loudly; a wrong nesting or the right name from the wrong endpoint does not.
  • Rolling your own recurring billing. Proration, tax, dunning, and the portal are the product you are skipping.
  • Trusting the redirect. The webhook is the event; the redirect is a hint.
  • Storing card data. Hand it to Stripe and keep its reference. For a payment you will make again later that reference is a PaymentMethod saved on a Customer, set up with a SetupIntent or setup_future_usage, not a Token: a Token is single use, so reusing one fails on the second charge. Taking card data yourself changes your compliance scope.
  • Amounts as floats. Stripe takes integers in the smallest currency unit, and currencies with no minor unit break a hardcoded divide by 100.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

10x

FreeSummary

Review how you use Superset and identify unused features that fit your workflow. Get a short list of suggestions, learn about each option, and set up selected features such as scheduled agents, parallel workspaces, or shared tasks.

  • Find unused Superset features worth exploring
  • Set up scheduled agent tasks
  • Start parallel work in separate workspaces
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

automate

FreeSummary

Set up recurring tasks in Superset with an agent prompt, a schedule or event trigger, and a chosen execution workspace. After explicit confirmation, create the automation, check its saved settings, and review a real first run.

  • Scheduling a daily or weekly agent task
  • Starting agent work when a GitHub pull request opens
  • Triggering tasks from selected Slack reactions
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

browser

FreeSummary

Browse pages, click controls, fill fields, and inspect screenshots or console messages through Superset's browser pane. Use it to preview a running web app, check interface behavior, and work through browser tasks in a visible session.

  • Preview a locally running web app
  • Capture screenshots of a page
  • Inspect console errors
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

cdp-verification

FreeSummary

Verify a UI change or reproduce a bug in the running desktop app using the Chrome DevTools Protocol (CDP), a browser debugging interface. Follow the real user journey and compare screenshots with measurements such as route, scroll position, and persisted state.

  • Reproducing a UI bug in the running app
  • Verifying a UI change end to end
  • Checking behavior after a route or workspace switch
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

ci-triage

FreeSummary

Diagnose failed GitHub Actions runs by finding the first meaningful error, separating code problems from infrastructure issues and intermittent failures, and comparing the base branch. Get a focused report explaining the PR’s involvement and recommended next steps.

  • Investigating failed PR checks
  • Separating intermittent test failures from code defects
  • Checking whether the base branch already fails
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

computer

FreeSummary

Operate real desktop apps and browser windows by inspecting controls, clicking, typing, and checking the result after each action. Use it for settings changes, window arrangement, or verifying a complete workflow through the interface.

  • Changing settings through the desktop interface
  • Clicking Save or entering text in an app
  • Inspecting and arranging desktop windows
ParadevAI/Paradev15.7KUpdated Oct 29, 2026

See all skills by ParadevAI

Report a problem with this skill