Stripe payment integration patterns, Checkout Sessions, billing/subscriptions, Connect platforms, and API best practices. Use when building, modifying, or reviewing any Stripe integration — including accepting payments, building marketplaces, setting up subscriptions, or implementing secure key handling.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Medium
Suggest reviewing before use
Latest API version: 2026-03-25.dahlia. Pin it explicitly on the client unless told otherwise.
Charges API, Sources API, Tokens API, legacy Card Element, Payment Element in card-only mode, the deprecated plan object (use Prices), Connect legacy type: 'express' | 'custom' | 'standard', v1 Treasury for new integrations.
ui_mode: 'custom' rather than raw PaymentIntents.payment_method_types.POST /v2/core/accounts, configured via controller.losses.payments, controller.fees.payer, controller.stripe_dashboard.type, controller.requirement_collection. Destination charges; never mix charge types. Use Stripe-hosted onboarding.POST /v2/core/vault/financial_accounts.await request.text()) — a parsed JSON body fails verification.rk_) over secret keys (sk_); neither ever ships client-side (use ephemeral keys). Always pass state in Connect OAuth.https://js.stripe.com/dahlia/stripe.js. Java/Go/.NET SDKs also fix the version to the release; bump the package instead of setting apiVersion.paymentIntent.charges removed 2022-11-15 → stripe.charges.retrieve(pi.latest_charge); invoice.lines.data → stripe.invoices.listLineItems() 2023-08-16.stripe listen --forward-to localhost:3000/api/webhooks and stripe trigger <event> --api-version 2026-03-25.dahlia; probe a new version with the Stripe-Version header before promoting it to default.stripe plugin install projects then stripe projects init writes stripe-project.json and a .stripe/ directory of local skills — prefer those local skills afterwards.Docs: changelog · integration options · go-live checklist
c0f4566
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.