stripe-best-practices

Guides Stripe integration decisions across payments, Connect, billing, tax, and security.

2|1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/zester4/zilmate --skill stripe-best-practices-zester4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stripe-best-practices
Source: https://github.com/zester4/zilmate/tree/main/.agents/skills/stripe-best-practices
Command: npx skills add https://github.com/zester4/zilmate --skill stripe-best-practices-zester4

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing the wrong Stripe API or using deprecated patterns leads to failed integrations, security vulnerabilities, and costly rewrites. This Skill routes every Stripe question to the correct current API and enforces critical rules before any payment code is written. ## Core Features & Use Cases - Integration Routing: Maps your use case (one-time payments, subscriptions, marketplaces, usage-based billing, tax, embedded finance) to the correct Stripe API with a decision table. - Deprecated API Prevention: Blocks legacy patterns like the Charges API, Sources API, v1 Connect account types, and hardcoded payment_method_types, with migration paths to modern equivalents. - Security Enforcement: Covers restricted API keys, webhook signature verification, OAuth CSRF protection, and incident response for compromised keys. - Use Case: You are building a marketplace and unsure whether to use Express accounts or destination charges. The Skill routes you to Accounts v2 with the correct dashboard, fee, and liability configuration for your business model. ## Quick Start Ask the assistant to plan a Stripe integration for your business model, such as setting up subscriptions with a 14-day trial using Checkout Sessions.

Frequently Asked Questions about stripe-best-practices

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

FAQPage Schema
How do I choose between Checkout Sessions and PaymentIntents?

Use Checkout Sessions for on-session payments since it handles taxes, discounts, and shipping automatically. Use PaymentIntents for off-session payments or when you need to model checkout state independently and just create a charge.

Should I use Stripe Checkout or the Payment Element?

Prefer Stripe-hosted or embedded Checkout for most web apps. Use the Payment Element only for advanced customization, and back it with Checkout Sessions via ui_mode: 'custom' rather than a raw PaymentIntent.

Why should I avoid payment_method_types in Stripe API calls?

Omitting payment_method_types enables dynamic payment methods, where Stripe automatically shows the most relevant methods per customer to maximize conversion. The only exception is Terminal integrations, which require ['card_present'].

How do I set up Stripe Connect for a marketplace?

Use the Accounts v2 API (POST /v2/core/accounts) with configuration.recipient requesting stripe_transfers, dashboard: 'express', and application as fees and losses collector. Never use deprecated v1 account types like express or custom.

Can I still use the Stripe Charges API?

No, the Charges API should never be used for new integrations. Migrate to Checkout Sessions or PaymentIntents, and use Setup Intents instead of the deprecated Sources API for saving payment methods.

What should I do if a Stripe API key is exposed?

Roll or delete the exposed key immediately from the Dashboard API keys page, then review Workbench request logs for unrecognized activity. Contact Stripe support if you find suspicious activity, and switch to restricted API keys with IP allowlists.