stripe-best-practices
This skill guides agents through Stripe integration decisions, covering environment setup, API selection, payment processing, billing, tax compliance, and…
Named by catalogs; identity not yet proven
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- 08d371apinned Oct 9, 2026
- Context cost
- about 1,400 tokenswhen the skill loads
- GitHub stars
- 1,864on stripe/ai
- Scripts
- None found
What it does
“Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode sandbox), API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, tax and registrations (Stripe Tax, automatic_tax, product tax codes), Treasury financial accounts, integration options (Checkout, Payment Element), migrating from deprecated Stripe APIs, and security best practices (API key management, API key permissions, webhooks, OAuth). Use when planning, building, modifying, testing, or reviewing any Stripe integration, including choosing a development environment, accepting payments, building marketplaces, integrating Stripe, processing payments, setting up subscriptions, collecting sales tax, VAT, or GST, creating connected accounts, or implementing secure key handling.”
Generated summary from the skill's own text
This skill guides agents through Stripe integration decisions, covering environment setup, API selection, payment processing, billing, tax compliance, and security best practices. It provides routing tables and critical rules for using the latest Stripe APIs and SDKs correctly across payment processing, subscriptions, Connect platforms, and financial account features.
When to use it
- Planning or building a new Stripe integration from scratch
- Choosing between Stripe APIs like Checkout Sessions vs PaymentIntents
- Setting up tax compliance with Stripe Tax or registrations
- Implementing Connect platforms or marketplaces with Accounts v2
When not to
- Non-Stripe payment processor integrations
- Troubleshooting live production errors after deployment
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add stripe/ai --skill stripe-best-practicesInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install stripe/ai stripe-best-practices@08d371a9fbe098ecc943713a70a669ef05cfa6d6Installs the commit we checked (08d371a).
Copy by hand
Download the folder at 08d371a and put it in .claude/skills/stripe-best-practices for Claude Code and in .agents/skills/stripe-best-practices for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install stripe@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "stripe-best-practices" by Stripe. Source, pinned to commit 08d371a9fbe098ecc943713a70a669ef05cfa6d6: https://github.com/stripe/ai/tree/08d371a9fbe098ecc943713a70a669ef05cfa6d6/skills/stripe-best-practices 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/stripe-best-practices/ for Claude Code and .agents/skills/stripe-best-practices/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/stripe/stripe-best-practices
SKILL.md at the pin
---
name: stripe-best-practices
description: >-
Guides Stripe integration decisions across development and test environment
planning (separate sandboxes vs the shared test mode sandbox), API selection
(Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2,
controller properties), billing/subscriptions, tax and registrations (Stripe
Tax, automatic_tax, product tax codes), Treasury financial accounts,
integration options (Checkout, Payment Element), migrating from deprecated
Stripe APIs, and security best practices (API key management, API key
permissions, webhooks, OAuth). Use when planning, building, modifying,
testing, or reviewing any Stripe integration, including choosing a development
environment, accepting payments, building marketplaces, integrating Stripe,
processing payments, setting up subscriptions, collecting sales tax, VAT, or
GST, creating connected accounts, or implementing secure key handling.
---
Latest Stripe API version: **2026-09-30.endive**. Always use the latest API version and SDK unless the user specifies otherwise.
Development and testing environment default: For new integration development, use separate [sandboxes](https://docs.stripe.com/sandboxes.md) instead of the account’s shared test mode sandbox. Sandboxes isolate settings and test data from live mode. Use separate sandboxes for local development and CI. When stronger isolation is useful, dedicate sandboxes to development teams or testing scenarios. Use the shared test mode sandbox only for an existing integration that depends on it or when a required feature doesn’t support general sandboxes.
Latest SDK versions:
| Language | Latest version |
| --- | --- |
| Ruby | 20.0.0 |
| Python | 16.0.0 |
| Node.js | 23.0.0 |
| PHP | 22.0.0 |
| Java | 34.0.0 |
| Go | 87.0.0 |
| .NET | 53.0.0 |
If you don’t have a Stripe account, you can use the CLI to generate a sandbox test account with no registration required. Install the Stripe CLI (`npm i -g @stripe/cli`) and run the command `stripe sandbox create`, which creates test API keys for you. When you recommend this, explain that [a sandbox is a Stripe test environment](https://docs.stripe.com/sandboxes.md).
If `stripe sandbox create` is used, don’t use MCP.
If you try to use MCP after running sandbox creation, first make sure `stripe sandbox claim` is run. Use `stripe whoami --format json` for CLI auth checks; do not run `stripe config --list`.
API key default: Always recommend a [restricted API key (RAK)](https://docs.stripe.com/keys.md#manage-your-api-keys) (`rk_` prefix) over a secret key (`sk_` prefix).
## Integration routing
| Building… | Recommended API | Details |
| --- | --- | --- |
| One-time payments | Checkout Sessions | [references/payments.md](https://docs.stripe.com/references/payments.md) |
| Custom payment form with embedded UI | Checkout Sessions + Payment Element | [references/payments.md](https://docs.stripe.com/references/payments.md) |
| Saving a payment method for later | Setup Intents | [references/payments.md](https://docs.stripe.com/references/payments.md) |
| Connect platform or marketplace | Accounts v2 (`/v2/core/accounts`) | [references/connect.md](https://docs.stripe.com/references/connect.md) |
| Usage-based billing (new integration) | Metronome | [references/billing.md](https://docs.stripe.com/references/billing.md) |
| Subscriptions or recurring billing | Billing APIs + Checkout Sessions | [references/billing.md](https://docs.stripe.com/references/billing.md) |
| Sales tax, VAT, or GST compliance | Stripe Tax + Registrations API | [references/tax.md](https://docs.stripe.com/references/tax.md) |
| Embedded financial accounts / banking | v2 Financial Accounts | [references/treasury.md](https://docs.stripe.com/references/treasury.md) |
| Security (key management, RAKs, webhooks, OAuth, 2FA, Connect liability) | See security reference | [references/security.md](https://docs.stripe.com/references/security.md) |
Read the relevant reference file before answering any integration question or writing code.
## Critical rules
- *Before enabling `automatic_tax: { enabled: true }`* (or calculating tax for a custom PaymentIntent), read the [tax reference](https://docs.stripe.com/references/tax.md) and confirm the user has an active registration. Without one, Stripe calculates and collects no tax while the user believes tax is on (the most common Stripe Tax mistake).
- *Never include `payment_method_types` in any Stripe API call*, with one exception: Terminal (in-person payments) integrations must pass `payment_method_types: ['card_present']` on the PaymentIntent. For all other integrations, omit this parameter entirely to enable dynamic payment methods, which enables you to configure payment method settings from the Dashboard and dynamically display the most relevant eligible payment methods to each customer to maximize conversion. To customize which payment methods you accept, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) or `excluded_payment_method_types` instead of `payment_method_types`.
- When a PaymentIntent or SetupIntent integration requires an explicit allowlist, use `allowed_payment_method_types` instead of `payment_method_types`.
- *Never present webhooks as optional.* We recommend webhooks for every payment integration and they’re required for subscriptions and asynchronous payment methods. Fulfillment belongs in a handler for both `checkout.session.completed` and `checkout.session.async_payment_succeeded` (gated on `payment_status`), not the success page. See [references/payments.md](https://docs.stripe.com/references/payments.md).
- On API version `2026-03-25.dahlia` or later, pass the parameter `integration_identifier` to `checkout.sessions.create` to tag sessions with a custom label for tracking and comparing checkout flows in the Dashboard. The label should include a suffix of 8 random letters.
- *Always instantiate a `StripeClient` and call methods on that instance.* Do **not** use the deprecated global/module-level API key pattern (`stripe.api_key = …`, `Stripe.setApiKey`, `stripe.Key = …`, `StripeConfiguration.ApiKey = …`). The global pattern is deprecated in all current SDKs.
## Key documentation
When the user’s request does not clearly fit a single domain above, consult:
- [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
- [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
- [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.
From stripe/ai at 08d371a, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 08d371aFiles
- SKILL.md6.7 KB · 264a32e16193
- references/
- billing.md10 KB · 85cf38ea5ca0
- connect.md11 KB · 5da76cb728ab
- payments.md9.1 KB · f7edac576b72
- security.md10 KB · 9d2b1f3a6e72
- tax.md23 KB · 31bfcc703bdd
- treasury.md793 B · ccd38ef29a65
7 files, 70 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 08d371aAlso in
The same SKILL.md content appears in these places too. We list it once and credit the oldest public source.
- stripe/ai/providers/agent-plugins/plugin/skills/stripe-best-practices
- stripe/ai/providers/claude/plugin/skills/stripe-best-practices
- stripe/ai/providers/codex/plugin/skills/stripe-best-practices
- stripe/ai/providers/cursor/plugin/skills/stripe-best-practices
- stripe/ai/providers/grok/plugin/skills/stripe-best-practices
More from Stripe
connect-recommend
Recommends Stripe Connect configuration for platforms, marketplaces, and SaaS businesses that route payments between parties.
Claude Code · about 5.7K tokens · pinned 6 days ago
connect-required-verification-information
This skill helps agents identify what verification information a Stripe Connect connected account must provide based on platform country, account country…
Claude Code, Codex, Cursor +4 · about 7K tokens · pinned 6 days ago
metronome
Guides decisions and implementation for Metronome usage-based billing integrations, covering event ingestion, contract and rate card design, invoicing…
Claude Code, Codex, Cursor +4 · about 3K tokens · pinned 6 days ago
stripe-apps
This skill enables agents to build, modify, or review Stripe Apps and extensions.
Claude Code, Codex, Cursor +4 · about 1.9K tokens · pinned 6 days ago
stripe-directory
This skill queries a directory of external providers, merchants, and services to identify which ones can help accomplish a task and how to engage them.
Claude Code, Codex, Cursor +4 · about 1.6K tokens · pinned 6 days ago
stripe-docs
This skill lets the agent read and search Stripe documentation using the Stripe CLI from the terminal.
Claude Code, Codex, Cursor +4 · about 230 tokens · pinned 6 days ago
Related in Payments and commerce
invoice-chase
Drafts personalized payment reminder emails for overdue invoices pulled from accounting ledgers (MYOB, NetSuite, QuickBooks, Xero, Zoho Books) and payment…
by AnthropicOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.8K tokens · pinned 6 days ago
stripe-pay
This skill enables an agent to send money between Stripe businesses using the stripe pay command.
by StripeProof pending
Claude Code, Codex, Cursor +4 · about 980 tokens · pinned 6 days ago
upgrade-stripe
This skill guides agents through upgrading Stripe API versions across webhook endpoints, server-side SDKs, Stripe.js, and mobile SDKs.
by StripeProof pending
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
ap-processor
Reads bills from email, uploads, and expense feeds, extracts vendor and payment details, codes each bill to the owner's chart of accounts and jobs, matches…
by AnthropicOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.5K tokens · pinned 6 days ago
pay-the-bills
This skill orchestrates the bill payment workflow by reading and coding invoices from the AP inbox, checking cash availability before any payment commitment…
by AnthropicOfficial publisher
Claude Code, Codex, Cursor +4 · about 2K tokens · pinned 6 days ago
order-lookup
This skill retrieves and modifies individual orders in an e-commerce system.
by NVIDIAOfficial publisher
Claude Code, Codex, Cursor +4 · about 100 tokens · pinned 6 days ago