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.