stripe-best-practices

Guides Stripe API integration decisions for payments, subscriptions, webhooks, and Connect platforms.

2|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/ghoshsam/claude-code-skills --skill stripe-best-practices-ghoshsam
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: stripe-best-practices
Source: https://github.com/ghoshsam/claude-code-skills/tree/main/skills/stripe-best-practices
Command: npx skills add https://github.com/ghoshsam/claude-code-skills --skill stripe-best-practices-ghoshsam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers building Stripe integrations often use deprecated APIs like Charges, Sources, or the legacy Card Element, leading to outdated, non-compliant payment flows. This Skill enforces current Stripe best practices so integrations use the right APIs from the start. ## Core Features & Use Cases - API Selection Guidance: Prioritizes Checkout Sessions and PaymentIntents over deprecated Charges, Sources, and Tokens APIs. - Checkout & Payment Element Recommendations: Directs web integrations toward Stripe-hosted or embedded Checkout, with Payment Element as the customization fallback. - Billing & Connect Patterns: Routes subscription use cases to Billing APIs and Connect platforms to correct charge types (direct vs destination) with controller properties. - Use Case: When asked to build a SaaS subscription checkout, the Skill steers the implementation toward Checkout Sessions combined with Billing APIs instead of a raw PaymentIntent or legacy Charges flow. ## Quick Start Ask the AI to design a Stripe checkout and subscription flow for your SaaS app following current best practices.

Frequently Asked Questions about stripe-best-practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I integrate Stripe payments the recommended way?▼

Use the Checkout Sessions API with Stripe-hosted or embedded Checkout for on-session payments. PaymentIntents is acceptable for off-session payments or custom checkout state management, but the Charges API should never be used.

Stripe Checkout vs Payment Element: which should I use?▼

Prefer Stripe-hosted or embedded Checkout for most web integrations. Use the Payment Element only when advanced customization is required, and pair it with Checkout Sessions rather than PaymentIntents where possible.

Can I still use the Stripe Charges API for payments?▼

No, the Charges API is deprecated for new integrations. Migrate to Checkout Sessions or PaymentIntents, which handle modern payment methods, authentication, and compliance requirements.

How do I save a customer's card for later use in Stripe?▼

Use the Setup Intents API to save a payment method for future charges. Never use the Sources API or Tokens API to store cards, as both are outdated approaches.

How should a Stripe Connect platform structure charges?▼

Use direct charges if Stripe should take the risk, or destination charges if the platform accepts liability for negative balances, with on_behalf_of controlling the merchant of record. Never mix charge types within one platform.

Should I pass payment_method_types when creating a PaymentIntent?▼

No, enable dynamic payment methods in the Stripe dashboard instead. Stripe automatically selects payment methods based on each customer's location, wallets, and preferences.