#522 by GitHub stars

stripe/ai

One-stop shop for building AI-powered products and businesses with Stripe.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/agent-plugins/plugin/skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/antigravity/plugin/skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/claude/plugin/skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/cursor/plugin/skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

providers/grok/plugin/skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/connect-recommend/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/connect-required-verification-information/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/metronome/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-apps/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-best-practices/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-directory/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-docs/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-pay/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/stripe-projects/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

skills/upgrade-stripe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 1e24cf59cb0d

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 1e24cf59cb0dd78df298afc3b7d372e5a5055ece

git clone --filter=blob:none --no-checkout https://github.com/stripe/ai.git .hotskills/stripe-ai && git -C .hotskills/stripe-ai checkout --detach 1e24cf59cb0dd78df298afc3b7d372e5a5055ece # Copy each selected skill directory from .hotskills/stripe-ai into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/stripe/ai.git .hotskills/stripe-ai && git -C .hotskills/stripe-ai checkout --detach 1e24cf59cb0dd78df298afc3b7d372e5a5055ece # Copy each selected skill directory from .hotskills/stripe-ai into .gemini/skills/<skill-name>/
2kGitHub stars
37stars in 7 days
60skills in this repository
38commits in 30 days

Heat

6.9
  • Star growth, last 7 daysAhead of 90% of tracked repositories
  • Star growth, last 24 hoursAhead of 70% of tracked repositories
  • Rank movement, last 7 daysAhead of 58% of tracked repositories
  • Commits, last 30 daysAhead of 89% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 1, 2026Nov 6, 20262,045

Individual skills in this repository

How it works

connect-recommend

When your agent uses it

Use this skill when the user asks about Stripe Connect configuration, charge patterns, Dashboard access, or how to get started with Connect, is building a marketplace, platform, multi-vendor store, gig platform, or subscription platform, needs to pay out sellers, vendors, or providers, mentions split payments, revenue sharing, multi-party payments, or similar payment distribution concepts, provides a company URL or business description for a recommendation, builds SaaS that routes money between parties (for example, POS, booking, invoicing — not operational SaaS without payment routing), asks about onboarding or KYC for merchants, sellers, and vendors, mentions connected account Dashboard or responsibility configurations, or asks about payment flows, white-label payments, or embedded payments.

What it loads into context

Frontmatter

177 tokens

Always available to the agent

SKILL.md

4,811 tokens

When the skill is activated

Reference documents

28,849 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Connect recommend

Scripts executed separately

  • ../../../../claude/plugin/scripts/lifecycle/postToolBatch.mjs
  • ../../../../claude/plugin/scripts/lifecycle/postToolUse.mjs
  • ../../../../claude/plugin/scripts/lifecycle/postToolUseFailure.mjs
  • ../../../../claude/plugin/scripts/lifecycle/sessionStart.mjs
  • ../../../../claude/plugin/scripts/lifecycle/userPromptSubmit.mjs

Files

  • ../../../../../.claude-plugin/marketplace.jsonasset309 bytes
  • SKILL.mdcore24,326 bytes
  • SKILL.mdcore24,326 bytes
  • references/account-types.mddoc19,034 bytes
  • references/charge-patterns.mddoc12,280 bytes
  • references/company-researcher.mddoc7,833 bytes
  • references/compatibility-matrix.mddoc17,903 bytes
  • references/decision-matrix.mddoc38,461 bytes
  • references/discovery-questions.mddoc20,152 bytes
  • references/recommendation-template.mddoc17,708 bytes
  • references/terminology-rules.mddoc9,109 bytes
  • ../../../../claude/plugin/.claude-plugin/plugin.jsonasset728 bytes
  • ../../../../claude/plugin/.mcp.jsonasset108 bytes
  • ../../../../claude/plugin/assets/parallelogram.pngasset27,446 bytes
  • ../../../../claude/plugin/hooks/hooks.jsonasset2,327 bytes
  • ../../../../claude/plugin/scripts/lifecycle/postToolBatch.mjsruns658 bytes
  • ../../../../claude/plugin/scripts/lifecycle/postToolUse.mjsruns861 bytes
  • ../../../../claude/plugin/scripts/lifecycle/postToolUseFailure.mjsruns467 bytes
  • ../../../../claude/plugin/scripts/lifecycle/sessionStart.mjsruns391 bytes
  • ../../../../claude/plugin/scripts/lifecycle/userPromptSubmit.mjsruns585 bytes
Read SKILL.md

## Connect recommend

Recommend the right Stripe Connect integration configuration. The user only needs to provide a company URL or describe their business — the skill figures out the rest.

### Interaction model

**User must confirm interactions**. Every decision point in this skill MUST be confirmed with the user with clear, numbered options and short descriptions. One question at a time — never overwhelm the user.

**Auto-act on low-cost actions**. Never ask permission for:

- Generating the markdown recommendation plan — just generate it
- Scanning the codebase — just scan it
- Reading reference files — just read them
View the complete source on GitHub

Skills included

  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe
  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe
  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe
  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe
  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe
  • connect-recommend
  • connect-required-verification-information
  • metronome
  • stripe-apps
  • stripe-best-practices
  • stripe-directory
  • stripe-docs
  • stripe-pay
  • stripe-projects
  • upgrade-stripe

Repository facts

License
MIT
Created
Nov 11, 2024
Last pushed
Nov 6, 2026
Forks
384
Open issues
37
Project activity
Active

Rank over the last 12 weeks

Now #522 · best #411 · down 51 in 30 days

  1. #514 on Nov 1
  2. #518 on Nov 2
  3. #521 on Nov 3
  4. #522 on Nov 4
  5. #521 on Nov 5
  6. #522 since Nov 6
73 earlier periods
  1. #412 on Aug 1
  2. #397 on Aug 7
  3. #402 on Aug 8
  4. #398 on Aug 9
  5. #412 from Aug 10 to Aug 11
  6. #407 on Aug 12
  7. #415 from Aug 13 to Aug 14
  8. #411 on Aug 15
  9. #419 on Aug 17
  10. #424 on Aug 18
  11. #422 on Aug 20
  12. #427 on Aug 21
  13. #416 on Aug 22
  14. #430 on Aug 23
  15. #431 from Aug 24 to Aug 25
  16. #429 on Aug 26
  17. #435 on Aug 27
  18. #433 on Aug 28
  19. #428 on Aug 29
  20. #420 on Aug 30
  21. #434 on Aug 31
  22. #441 on Sep 1
  23. #432 on Sep 2
  24. #437 on Sep 3
  25. #426 on Sep 4
  26. #430 on Sep 5
  27. #431 on Sep 6
  28. #447 on Sep 8
  29. #443 on Sep 9
  30. #445 on Sep 11
  31. #443 on Sep 12
  32. #442 on Sep 13
  33. #453 on Sep 14
  34. #450 on Sep 15
  35. #457 on Sep 16
  36. #451 on Sep 17
  37. #458 on Sep 18
  38. #441 on Sep 19
  39. #454 on Sep 20
  40. #461 on Sep 22
  41. #457 on Sep 23
  42. #449 from Sep 24 to Sep 25
  43. #443 on Sep 26
  44. #459 on Sep 27
  45. #465 on Sep 28
  46. #469 on Sep 29
  47. #467 on Sep 30
  48. #464 on Oct 1
  49. #449 on Oct 3
  50. #445 on Oct 4
  51. #465 on Oct 6
  52. #471 on Oct 7
  53. #483 from Oct 8 to Oct 9
  54. #479 on Oct 10
  55. #478 on Oct 11
  56. #486 on Oct 12
  57. #480 on Oct 13
  58. #482 on Oct 14
  59. #486 on Oct 15
  60. #488 on Oct 16
  61. #476 on Oct 17
  62. #479 on Oct 18
  63. #494 on Oct 19
  64. #496 on Oct 20
  65. #500 on Oct 21
  66. #494 on Oct 22
  67. #490 on Oct 23
  68. #477 on Oct 24
  69. #520 on Oct 25
  70. #525 on Oct 28
  71. #520 on Oct 29
  72. #518 on Oct 30
  73. #515 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 204 notes
  • providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/metronome/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-directory/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-directory/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-docs/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • providers/agent-plugins/plugin/skills/stripe-projects/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 2,816 signals by file

providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

providers/agent-plugins/plugin/skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

providers/agent-plugins/plugin/skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

providers/agent-plugins/plugin/skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

providers/agent-plugins/plugin/skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

providers/agent-plugins/plugin/skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

providers/agent-plugins/plugin/skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

providers/agent-plugins/plugin/skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

providers/agent-plugins/plugin/skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

providers/agent-plugins/plugin/skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

providers/agent-plugins/plugin/skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

providers/agent-plugins/plugin/skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

providers/agent-plugins/plugin/skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/agent-plugins/plugin/skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

providers/agent-plugins/plugin/skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

providers/agent-plugins/plugin/skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

providers/agent-plugins/plugin/skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/agent-plugins/plugin/skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

providers/agent-plugins/plugin/skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

providers/agent-plugins/plugin/skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

providers/agent-plugins/plugin/skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

providers/agent-plugins/plugin/skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

providers/agent-plugins/plugin/skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

providers/agent-plugins/plugin/skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

providers/agent-plugins/plugin/skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

providers/agent-plugins/plugin/skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

providers/agent-plugins/plugin/skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

providers/agent-plugins/plugin/skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

providers/agent-plugins/plugin/skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

providers/agent-plugins/plugin/skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

providers/agent-plugins/plugin/skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

providers/agent-plugins/plugin/skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

providers/agent-plugins/plugin/skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

providers/agent-plugins/plugin/skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

providers/antigravity/plugin/skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

providers/antigravity/plugin/skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

providers/antigravity/plugin/skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

providers/antigravity/plugin/skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

providers/antigravity/plugin/skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

providers/antigravity/plugin/skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

providers/antigravity/plugin/skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

providers/antigravity/plugin/skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

providers/antigravity/plugin/skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

providers/antigravity/plugin/skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

providers/antigravity/plugin/skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

providers/antigravity/plugin/skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

providers/antigravity/plugin/skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/antigravity/plugin/skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

providers/antigravity/plugin/skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

providers/antigravity/plugin/skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

providers/antigravity/plugin/skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/antigravity/plugin/skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

providers/antigravity/plugin/skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

providers/antigravity/plugin/skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

providers/antigravity/plugin/skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

providers/antigravity/plugin/skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

providers/antigravity/plugin/skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

providers/antigravity/plugin/skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

providers/antigravity/plugin/skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

providers/antigravity/plugin/skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

providers/antigravity/plugin/skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

providers/antigravity/plugin/skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

providers/antigravity/plugin/skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

providers/antigravity/plugin/skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

providers/antigravity/plugin/skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

providers/antigravity/plugin/skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

providers/antigravity/plugin/skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

providers/antigravity/plugin/skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

providers/claude/plugin/.claude-plugin/plugin.json

  • Network accessline 6
    "author": {     "name": "Stripe",     "url": "https://stripe.com"
  • Network accessline 7
    "name": "Stripe",     "url": "https://stripe.com"   },
  • Network accessline 8
    "url": "https://stripe.com"
  • Network accessline 9
    },   "homepage": "https://docs.stripe.com",   "icon": "./assets/parallelogram.png",
  • Network accessline 10
    "homepage": "https://docs.stripe.com",
  • Network accessline 11
    "icon": "./assets/parallelogram.png",   "mcpServers": "./.mcp.json",   "documentationUrl": "https://docs.stripe.com",
  • Network accessline 12
    "mcpServers": "./.mcp.json",   "documentationUrl": "https://docs.stripe.com",   "supportUrl": "https://support.stripe.com",
  • Network accessline 13
    "documentationUrl": "https://docs.stripe.com",
  • Network accessline 14
    "supportUrl": "https://support.stripe.com",
  • Network accessline 15
    "privacyPolicyUrl": "https://stripe.com/privacy",
  • Network accessline 16
    "termsOfServiceUrl": "https://stripe.com/legal/ssa",
  • Network accessline 17
    "repository": "https://github.com/stripe/ai",

providers/claude/plugin/.mcp.json

  • Network accessline 3
    "stripe": {       "type": "http",       "url": "https://mcp.stripe.com"
  • Network accessline 4
    "type": "http",       "url": "https://mcp.stripe.com"     }
  • Network accessline 5
    "url": "https://mcp.stripe.com"

providers/claude/plugin/scripts/lifecycle/postToolBatch.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

providers/claude/plugin/scripts/lifecycle/postToolUse.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

providers/claude/plugin/scripts/lifecycle/postToolUseFailure.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

providers/claude/plugin/scripts/lifecycle/sessionStart.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

providers/claude/plugin/scripts/lifecycle/userPromptSubmit.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

providers/claude/plugin/skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

providers/claude/plugin/skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

providers/claude/plugin/skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

providers/claude/plugin/skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

providers/claude/plugin/skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

providers/claude/plugin/skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

providers/claude/plugin/skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

providers/claude/plugin/skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

providers/claude/plugin/skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

providers/claude/plugin/skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

providers/claude/plugin/skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

providers/claude/plugin/skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

providers/claude/plugin/skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/claude/plugin/skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

providers/claude/plugin/skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

providers/claude/plugin/skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

providers/claude/plugin/skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/claude/plugin/skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

providers/claude/plugin/skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

providers/claude/plugin/skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

providers/claude/plugin/skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

providers/claude/plugin/skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

providers/claude/plugin/skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

providers/claude/plugin/skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

providers/claude/plugin/skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

providers/claude/plugin/skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

providers/claude/plugin/skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

providers/claude/plugin/skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

providers/claude/plugin/skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

providers/claude/plugin/skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

providers/claude/plugin/skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

providers/claude/plugin/skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

providers/claude/plugin/skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

providers/claude/plugin/skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

providers/cursor/plugin/skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

providers/cursor/plugin/skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

providers/cursor/plugin/skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

providers/cursor/plugin/skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

providers/cursor/plugin/skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

providers/cursor/plugin/skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

providers/cursor/plugin/skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

providers/cursor/plugin/skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

providers/cursor/plugin/skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

providers/cursor/plugin/skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

providers/cursor/plugin/skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

providers/cursor/plugin/skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

providers/cursor/plugin/skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/cursor/plugin/skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

providers/cursor/plugin/skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

providers/cursor/plugin/skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

providers/cursor/plugin/skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/cursor/plugin/skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

providers/cursor/plugin/skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

providers/cursor/plugin/skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

providers/cursor/plugin/skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

providers/cursor/plugin/skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

providers/cursor/plugin/skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

providers/cursor/plugin/skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

providers/cursor/plugin/skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

providers/cursor/plugin/skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

providers/cursor/plugin/skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

providers/cursor/plugin/skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

providers/cursor/plugin/skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

providers/cursor/plugin/skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

providers/cursor/plugin/skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

providers/cursor/plugin/skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

providers/cursor/plugin/skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

providers/cursor/plugin/skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

providers/grok/plugin/skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

providers/grok/plugin/skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

providers/grok/plugin/skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

providers/grok/plugin/skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

providers/grok/plugin/skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

providers/grok/plugin/skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

providers/grok/plugin/skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

providers/grok/plugin/skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

providers/grok/plugin/skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

providers/grok/plugin/skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

providers/grok/plugin/skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

providers/grok/plugin/skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

providers/grok/plugin/skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/grok/plugin/skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

providers/grok/plugin/skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

providers/grok/plugin/skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

providers/grok/plugin/skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

providers/grok/plugin/skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

providers/grok/plugin/skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

providers/grok/plugin/skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

providers/grok/plugin/skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

providers/grok/plugin/skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

providers/grok/plugin/skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

providers/grok/plugin/skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

providers/grok/plugin/skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

providers/grok/plugin/skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

providers/grok/plugin/skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

providers/grok/plugin/skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

providers/grok/plugin/skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

providers/grok/plugin/skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

providers/grok/plugin/skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

providers/grok/plugin/skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

providers/grok/plugin/skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

providers/grok/plugin/skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

skills/connect-recommend/SKILL.md

  • Network accessline 75
    - A URL (for example, `https://...`, `www.`, `.com`, `.io`)
  • Network accessline 156
    - ALWAYS show a margin warning regardless of how the fee was obtained - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin 
  • Network accessline 157
    - Warn: “Your platform fee might be below Stripe’s processing fees at standard rates. Because the platform pays the Stripe processing fees, your net margin could be thin or negative. Check [stripe.com/pricing](https://stripe.com/pricing) fo
  • Network accessline 158
    - If the charge pattern is `destination` or `direct` (with `fees_collector: "application"`): the platform owns pricing, so pick exactly ONE margin-preserving approach — don’t recommend both:   - Prefer the [Platform Pricing Tool](https://da
  • Network accessline 159
    - Prefer the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) when available (destination or direct charges) — configure it to include Stripe’s estimated processing fee so the platform’s margin is pres
  • Network accessline 160
    - Only calculate an explicit `application_fee_amount` (platform fee + estimated Stripe processing fee) when the platform isn’t using the Platform Pricing Tool. - If the charge pattern is `separate` (separate charges and transfers): `applica
  • Network accessline 162
    - Recommend monitoring the [margin report](https://docs.stripe.com/connect/margin-reports.md) in the Stripe Dashboard
  • Network accessline 226
    - If the business mixes its own-brand sales with marketplace or intermediary flows, trigger Step 3b hybrid-flow handling and map each flow to its own charge-pattern and responsibility settings. - If the user needs hold-and-release timing, r
  • Network accessline 227
    - If the user needs hold-and-release timing, recommend separate charges and transfers (destination charges can’t hold funds and aren’t appropriate for hold-and-release behavior). - For SaaS with independent sellers that own customer relatio
  • Network accessline 228
    - For SaaS with independent sellers that own customer relationships, select direct charges first — direct charges are the charge pattern for SaaS regardless of dashboard. Then choose the dashboard from the connected accounts’ operational ne
  • Network accessline 263
    - If user mentions **Billing, Invoicing, or Payment Links** with destination charges, include a concise compatibility warning and recommend the nearest supported path.    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge patter
  • Network accessline 264
    - If `dashboard: "full"` + `fees_collector: "stripe"` + charge pattern is `destination` or `separate`, treat as BLOCKED. Do NOT present this configuration. Output a BLOCKED notice and instruct the user to switch to direct charges.    - If `
  • Network accessline 265
    - If `dashboard: "full"` + `fees_collector: "application"`, treat as SALES-GATED regardless of charge pattern. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 266
    - If `dashboard: "express"` + `fees_collector: "stripe"` + `losses_collector: "stripe"` (Stripe-managed pricing) with **direct charges**, this is a supported public-preview path — do NOT block it. Present the recommendation with a concise p
  • Network accessline 267
    - If `dashboard: "express"` + `fees_collector: "application"` + `losses_collector: "stripe"` (platform-managed pricing) with **direct charges**, this is also a supported public-preview path — do NOT block it. Present the recommendation with

skills/connect-recommend/references/account-types.md

  • Network accessline 17
    | `express` | Lightweight dashboard showing earnings, payouts, and basic tax information. Stripe-branded with platform name. | Marketplace sellers, gig workers, or any connected account that needs visibility but not full Stripe control. | |
  • Network accessline 19
    | `none` | No Stripe dashboard. The platform owns the connected-account UI — use **[Embedded Components](https://docs.stripe.com/connect/supported-embedded-components.md)** (`@stripe/connect-js`) for prebuilt widgets (account management, pa
  • Network accessline 30
    > **Fee collection behavior depends on charge type.** The `fees_collector` setting interacts with the charge pattern: >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, t
  • Network accessline 31
    >  > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee 
  • Network accessline 32
    > - **Direct charges:** `fees_collector` determines who pays Stripe processing fees. With `fees_collector: "stripe"`, the connected account pays fees directly. The `fee_payer` parameter can further control this — see [direct charges fee pay
  • Network accessline 65
    - **Express dashboard with non-direct charges** requires `fees_collector: 'application'` AND `losses_collector: 'application'`. For **direct** charges, Express dashboard also supports Stripe-managed negative balance liability (`losses_colle
  • Network accessline 66
    - **`losses_collector: 'stripe'` + destination charges or separate charges and transfers** = BLOCKED. Platform silently inherits negative balance liability, fees are misattributed, and connected accounts can’t manage refunds or disputes fro
  • Network accessline 67
    - **`losses_collector: 'application'`** is compatible with all charge types when `fees_collector` is also `'application'`, with one exception: `full` dashboard + `application/application` is SALES-GATED (redirect to [Stripe sales](https://s
  • Network accessline 68
    - **`dashboard: "full"` + `fees_collector: "application"`** = SALES-GATED. Do NOT recommend for self-serve paths. Redirect to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 102
    > **Requires the `2026-06-24.preview` API version (or a later preview version that supports it).** `dashboard: 'express'` combined with `losses_collector: 'stripe'` (Stripe-managed pricing or platform-managed pricing) is only available on a
  • Network accessline 136
    This Stripe-managed-pricing configuration (Express dashboard + Stripe-managed pricing + Stripe-managed negative balance liability, with direct charges) is the low-operations default for self-serve SaaS platforms and is currently in public p

skills/connect-recommend/references/charge-patterns.md

  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 59
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 60
    return_url: 'https://yoursite.com/success',
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Network accessline 146
    elements,   confirmParams: {     return_url: 'https://yoursite.com/success',
  • Network accessline 147
    confirmParams: {     return_url: 'https://yoursite.com/success',   },
  • Network accessline 148
    return_url: 'https://yoursite.com/success',
  • Network accessline 185
    > **Not covered by this guide.** `on_behalf_of` is an advanced variant that changes the merchant of record to the connected account while the charge lives on the platform. It has narrow use cases and significant complexity. >  > If your int
  • Network accessline 186
    >  > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales). >
  • Network accessline 187
    > If your integration requires `on_behalf_of`, consult the [Stripe Connect documentation](https://docs.stripe.com/connect/charges.md) or [contact Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 212
    // at creation time and only populated on the confirmed PaymentIntent from the event // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-er
  • Network accessline 213
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 214
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.
  • Network accessline 236
    // After payment_intent.succeeded webhook fires — latest_charge is null at creation time. // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signatu
  • Network accessline 237
    // IMPORTANT: Always verify the webhook signature before processing event data. // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps. const confirmedIntent = event.data.object; // payment_in
  • Network accessline 238
    // See https://stripe.com/docs/events/manage-webhook-endpoints#signature-errors for verification steps.

skills/connect-recommend/references/compatibility-matrix.md

  • Network accessline 49
    - Connected accounts can’t manage refunds, disputes, or Radar rules from their Express dashboard for these charge types (see [Express dashboard payments docs](https://docs.stripe.com/connect/express-dashboard/payments.md))
  • Network accessline 71
    2. **Payment fees for these charge types are assessed on the platform.** For destination charges or separate charges and transfers, Stripe collects payment fees from the platform account regardless of `fees_collector`. (Rates vary by region
  • Network accessline 100
    **If the user mentions OAuth, “connect existing Stripe accounts,” or “link existing accounts”:** Direct them to the [Connect documentation](https://docs.stripe.com/connect.md) and recommend [contacting Stripe sales](https://stripe.com/conta
  • Network accessline 114
    **Recommendation:** Use embedded onboarding components or Stripe-hosted onboarding unless the platform has dedicated compliance engineering resources AND a specific branding requirement that embedded components can’t meet. This reduces comp
  • Network accessline 184
    - Always verify incoming webhook signatures before processing — see [Verify webhook signatures](https://docs.stripe.com/webhooks.md#verify-events). Optionally restrict requests to [Stripe’s published IP addresses](https://docs.stripe.com/ip

skills/connect-recommend/references/decision-matrix.md

  • Network accessline 26
    | **Rental marketplace** | `express` | `application` | `application` | Destination | Embedded | Platform owns booking flow; platform-owned pricing + loss liability required for Express | | **Event ticketing** | `express` | `application` | `
  • Network accessline 28
    | **B2B platforms** | `none` | `application` | `application` | Separate | Embedded | For complex enterprise multiparty flows, prefer Separate charges and transfers with transfer math. Don’t default to Destination in these scenarios. Often r
  • Network accessline 122
    ├── "Some customization" → Embedded components with [appearance options API](/connect/embedded-appearance-options) └── "Fully custom" → API-based — NOT RECOMMENDED for platforms integrating without dedicated Stripe guidance.     Requires bu
  • Network accessline 124
    Requires building custom remediation flows. Direct to [Stripe sales](https://stripe.com/contact/sales).
  • Network accessline 129
    - `dashboard: "express"` → **Embedded components** (recommended, keeps users in-app) or Stripe-hosted redirect (fallback) - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[E
  • Network accessline 130
    - `dashboard: "full"` → **Embedded components** or Stripe-hosted redirect - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)** - If unsure → **Embedded components** (Strip
  • Network accessline 131
    - `dashboard: "none"` + want embedded → **[Embedded components](https://docs.stripe.com/connect/embedded-onboarding.md)**
  • Network accessline 133
    - Do NOT recommend API onboarding. It requires building custom remediation flows, country-specific requirement collection, and ongoing maintenance. If a user insists on fully custom onboarding, direct them to [Stripe sales](https://stripe.c
  • Network accessline 175
    > **Note:** This section is directional guidance only. For detailed risk and Radar configuration, refer to the [Radar documentation](https://docs.stripe.com/radar.md).
  • Network accessline 217
    Stripe charges processing fees on every transaction. Rates vary by region, card type, payment method, and negotiated terms — see [stripe.com/pricing](https://stripe.com/pricing) for current rates. Who actually pays these fees depends on the
  • Network accessline 227
    Who pays Stripe fees on direct charges depends on the [fees_collector](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior.md) responsibility setting. When `fees_collector: "stripe"` (the default for SaaS), the connected accou
  • Network accessline 233
    - The [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) to configure pricing rules without code (requires platform-owned pricing, that is, `fees_collector: "application"`; supports direct and destinatio
  • Network accessline 235
    - Checking [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 263
    **Decision guidance:** If the platform fee appears low or uncertain relative to processing fees (check [stripe.com/pricing](https://stripe.com/pricing)), recommend Option A to preserve platform margin (or switch to direct charges when appro
  • Network accessline 277
    - DO NOT hardcode specific processing fee amounts (for example, “2.9% + $0.30”) — these are US-only and vary by region, card type, and payment method - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say
  • Network accessline 278
    - DO NOT make definitive profit and loss claims (for example, “you WILL lose money”) — say “you may lose money at standard rates” - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates - DO strongly recommen
  • Network accessline 279
    - DO link to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 280
    - DO strongly recommend the [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing)
  • Network accessline 358
    4. **`dashboard: "full"` + destination charges or separate charges and transfers** — Full dashboard has reduced payment and dispute detail for destination and separate charges. Full dashboard provides complete payment and dispute management
  • Network accessline 359
    5. **`fees_collector: "stripe"` + `losses_collector: "application"` (Stripe-owned pricing + platform-owned losses)** — This combination is BLOCKED for all charge types and all dashboards. The reverse — `fees_collector: "application"` + `los
  • Network accessline 360
    6. **(`on_behalf_of` is out of scope for this guide — redirect to docs or sales if encountered.)** **`on_behalf_of` with destination charges for marketplace use cases** — Do NOT use `on_behalf_of` for marketplaces. `on_behalf_of` makes the 

skills/connect-recommend/references/discovery-questions.md

  • Network accessline 105
    - Express dashboard: provide sellers an Express login link from `stripe.accounts.createLoginLink(accountId)`. - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).
  • Network accessline 106
    - Full Stripe dashboard: direct sellers to log in at [dashboard.stripe.com](https://dashboard.stripe.com).

skills/connect-recommend/references/recommendation-template.md

  • Network accessline 61
    ### E. Embedded components Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 62
    Recommended [Connect embedded components](https://docs.stripe.com/connect/supported-embedded-components):
  • Network accessline 71
    ### F. Webhook integration Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/doc
  • Network accessline 72
    Use webhooks for reliable payment confirmation, especially for async payment methods. Always verify incoming webhook signatures before processing event data ([webhook signature verification](https://stripe.com/docs/events/manage-webhook-end
  • Network accessline 81
    - Platform fee model: [percentage / flat / tiered / mixed] - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account 
  • Network accessline 82
    - `application_fee_amount` strategy: [platform fee only | platform fee + estimated Stripe processing fee] - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to
  • Network accessline 83
    - [Describe the fee structure, whether customers pay the connected account (seller) or platform, whether fees are paid to Stripe or to the platform, and whether anything is transferred from the platform to the seller. Pricing varies by regi
  • Network accessline 153
    - A concise public-preview disclosure stating that this Express + Stripe-managed-negative-balance-liability direct-charge configuration is in public preview. - A statement that this configuration requires using the current Connect preview A
  • Network accessline 154
    - A statement that this configuration requires using the current Connect preview API version (not the platform’s pinned GA API version), with a link to the [preview changelog](https://docs.stripe.com/changelog.md?preview=true) so the user c
  • Network accessline 177
    - Always link to [stripe.com/pricing](https://stripe.com/pricing).
  • Network accessline 179
    - For platform-owned pricing, recommend [Platform Pricing Tool](https://dashboard.stripe.com/settings/connect/platform_pricing) and [margin report](https://docs.stripe.com/connect/margin-reports.md). Platform Pricing Tool and explicit `appl
  • Network accessline 203
    1. **Warn first**: Explicitly state that the selected platform fee might be below Stripe processing fees, so the platform might lose money per transaction when it absorbs fees. 2. **Show downside before fix**: include one concise illustrati
  • Network accessline 204
    2. **Show downside before fix**: include one concise illustrative example of net margin without fee passthrough (label assumptions clearly and link to [stripe.com/pricing](https://stripe.com/pricing)).
  • Network accessline 206
    - If NOT using the Platform Pricing Tool: recommend margin-preserving `application_fee_amount` logic (platform fee + estimated Stripe fee) and explain why it preserves margin.    - If using the Platform Pricing Tool: recommend configuring t
  • Network accessline 208
    4. **Close with validation path**: link to [stripe.com/pricing](https://stripe.com/pricing) and recommend monitoring the margin report.
  • Network accessline 212
    > **Warning:** Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be nega
  • Network accessline 241
    The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See [Connect embedded components](https://docs.stripe.com/connect/supported-embe

skills/connect-recommend/references/terminology-rules.md

  • Network accessline 19
    - Don’t suggest comparing other payment processors, acquirers, or financial infrastructure providers. - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom p
  • Network accessline 20
    - If asked about negotiating Stripe pricing, direct users to [Stripe sales](https://stripe.com/contact/sales) for volume-based or custom pricing discussions.

skills/connect-required-verification-information/SKILL.md

  • Network accessline 141
    1. Ask for `apiVersion`. Recommend `v2`. 2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 142
    2. Fetch `https://docs.stripe.com/_endpoint/get-platform-countries` and use the public supported list to ask for `platformCountry`.
  • Network accessline 143
    3. Fetch `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` if `apiVersion=v2`.
  • Network accessline 144
    4. Fetch `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` with the chosen `platformCountry`.
  • Network accessline 152
    9. Ask for `orrProgram` only if the validated setup exposes one or more public programs. 10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting 
  • Network accessline 153
    10. If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the [Interaction contract](#interaction-contract). Keep the mismatch visi
  • Network accessline 154
    11. Only after the setup is valid, call `https://docs.stripe.com/_endpoint/get-requirements-for-setups` with one top-level setup key `account-setup-A[...]`, including `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `accou
  • Network accessline 155
    12. At the end, you must call `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` and `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` with the final
  • Network accessline 161
    ### curl examples
  • Network accessline 166
    DOCS_HOST="https://docs.stripe.com"
  • Network accessline 176
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 182
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 193
    # Step 1: verify the platform country is valid curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 194
    curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
  • Network accessline 196
    # Step 2: fetch all public options for that platform country curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 197
    curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  • Network accessline 214
    curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
  • Network accessline 222
    curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  • Network accessline 240
    curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  • Network accessline 245
    curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  • Network accessline 402
    - restate the exact validated setup you queried, including `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, selected `capabilities`, and optional `orrProgram` - 
  • Network accessline 403
    - always provide the user with a link containing the exact URL query parameters you used so they can view the requirements themselves and verify your conclusions   - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setup
  • Network accessline 404
    - for example: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEnti

skills/metronome/SKILL.md

  • Network accessline 19
    Metronome API base: `https://api.metronome.com`. Authenticate with a Bearer token in the `Authorization` header. Always use Contracts (not legacy Plans) for new integrations.
  • Network accessline 23
    | Building… | Recommended API | Details | | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metro
  • Network accessline 24
    | --- | --- | --- | | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart
  • Network accessline 25
    | Ingesting usage events | `POST /v1/ingest` (batch) | [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md), the [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md), the [Ingest AP
  • Network accessline 26
    | Defining what to measure | Billable Metrics API | [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) |
  • Network accessline 27
    | Enterprise pricing agreements | Contracts + Rate Cards | [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md), [Create and manage rate cards](https://docs.metronome.com
  • Network accessline 28
    | Mid-term contract changes | Contract Edits | [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md), [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/
  • Network accessline 29
    | Invoice lifecycle and finalization | Invoices API | [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) |
  • Network accessline 30
    | Prepaid or postpaid commitments and one-off top-ups | Commits + Credits | [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) and [Payment-gat
  • Network accessline 31
    | Syncing invoices to Stripe | Stripe billing provider config | [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) |
  • Network accessline 32
    | Prepaid balances, auto-recharge, spend alerts, and thresholds | Notifications API | [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md), [Enforce
  • Network accessline 34
    Read the linked page before answering any integration question or writing code; the links return plain Markdown. If no row fits, use the [documentation index](https://docs.metronome.com/llms.txt) to find the right page, and append `.md` to 
  • Network accessline 38
    Metronome publishes step-by-step skills for the tasks below. Read the linked skill in full before starting the task. Several of them create real Metronome objects through the API using the token in the environment: confirm which environment
  • Network accessline 40
    | Task | Metronome skill | What it does | | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-me
  • Network accessline 41
    | --- | --- | --- | | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes prod
  • Network accessline 42
    | Migrating from Stripe Billing Meters, Subscriptions, and Credit Grants to Metronome | [stripe-to-metronome-migration](https://docs.metronome.com/.well-known/skills/stripe-to-metronome-migration/SKILL.md) | Changes production state when ex
  • Network accessline 43
    | Designing `group_keys`, `pricing_group_key`, and `presentation_group_key` for a billable metric | [metronome-group-keys](https://docs.metronome.com/.well-known/skills/metronome-group-keys/SKILL.md) | Creates the billable metric and produc
  • Network accessline 44
    | Setting up Metronome from scratch: billable metrics, products, rate card, customer, and contract | [metronome-setup-catalog](https://docs.metronome.com/.well-known/skills/metronome-setup-catalog/SKILL.md) | Creates objects. End-to-end set
  • Network accessline 45
    | Creating a customer record | [metronome-create-customer](https://docs.metronome.com/.well-known/skills/metronome-create-customer/SKILL.md) | Creates objects. Duplicate check and preview, then `POST /v1/customers` with name, ingest alias, 
  • Network accessline 46
    | Creating a new contract from signed order-form terms | [metronome-create-contract](https://docs.metronome.com/.well-known/skills/metronome-create-contract/SKILL.md) | Creates objects. Commits, credits, and rate overrides on a new contract
  • Network accessline 47
    | Billing an AI application for token usage | [metronome-token-billing](https://docs.metronome.com/.well-known/skills/metronome-token-billing/SKILL.md) | Creates objects. Models AI plans, builds the managed rate card with your markup over S
  • Network accessline 48
    | Self-serve (PLG) billing setup, pricing changes, and single-customer diagnostics, in business terms | [metronome-plg-billing](https://docs.metronome.com/.well-known/skills/metronome-plg-billing/SKILL.md) | Creates and changes objects in i
  • Network accessline 49
    | Customer health reviews for Metronome CSMs: anomalies, commit burn, portfolio briefing, renewal prep | [metronome-csm-reviews](https://docs.metronome.com/.well-known/skills/metronome-csm-reviews/SKILL.md) | Read-only. Written for Metronom
  • Network accessline 74
    - [Metronome Documentation](https://docs.metronome.com/): Start here for any Metronome question.
  • Network accessline 75
    - [API reference](https://docs.metronome.com/api-reference/): Full endpoint reference.
  • Network accessline 76
    - [LLM-friendly doc index](https://docs.metronome.com/llms.txt): Machine-readable documentation index.
  • Network accessline 77
    - [Stripe Integration Guide](https://docs.metronome.com/integrations/invoice-integrations/stripe.md): Syncing Metronome invoices with Stripe.
  • Network accessline 78
    - [How Metronome works with Stripe](https://docs.stripe.com/billing/how-metronome-works-with-stripe.md): The Stripe guide to the integration patterns and what stays on Stripe.

skills/stripe-apps/SKILL.md

  • Network accessline 27
    | Task | Read | | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/h
  • Network accessline 28
    | --- | --- | | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-wo
  • Network accessline 29
    | Select an extension interface and its supported implementation types | [Extension points](https://docs.stripe.com/extensions/extension-points.md) and [how extensions work](https://docs.stripe.com/extensions/how-extensions-work.md) |
  • Network accessline 30
    | Change how items are included on subscription invoices | [Item handling extensions](https://docs.stripe.com/billing/scripts/item-handling.md) |
  • Network accessline 31
    | Customize prorations | [Native proration behavior](https://docs.stripe.com/billing/subscriptions/prorations.md) and [prorations extensions](https://docs.stripe.com/billing/scripts/prorations.md) |
  • Network accessline 32
    | Apply customer balances | [Customer balance extensions](https://docs.stripe.com/billing/scripts/customer-balance.md) |
  • Network accessline 33
    | Calculate discount amounts | [Discount calculation extensions](https://docs.stripe.com/billing/scripts/discount-calculation.md) |
  • Network accessline 34
    | Add an action to Stripe Workflows | [Existing workflow actions](https://docs.stripe.com/workflows/define-workflows.md#actions), [existing custom actions](https://docs.stripe.com/workflows/custom-actions.md), and [how custom actions work](
  • Network accessline 43
    | Build or modify any Dashboard UI, including drawers and full-page apps | <references/ui-extensions.md>, then each selected component’s current API documentation | | Author, test, or debug a script extension | <references/script-extensions
  • Network accessline 44
    | Author, test, or debug a script extension | <references/script-extensions.md>, then the selected extension point’s implementation guide | | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a
  • Network accessline 45
    | Build a custom-action script | <references/script-extensions.md> and [build a custom action with a script](https://docs.stripe.com/extensions/custom-actions/build-with-script.md) |
  • Network accessline 46
    | Build a custom-action remote function | [Build a custom action with a remote function](https://docs.stripe.com/extensions/custom-actions/build-with-remote-function.md) |
  • Network accessline 47
    | Build a self-hosted UI back-end or webhook service | <references/backend.md> and <references/authentication.md>; also load <references/webhooks.md> when receiving Stripe events | | Store app credentials with the Secret Store API | The Sec
  • Network accessline 48
    | Store app credentials with the Secret Store API | The Secret Store API section in <references/backend.md> and [store secrets](https://docs.stripe.com/stripe-apps/store-secrets.md), including for apps without a self-hosted back-end |

skills/stripe-apps/references/authentication.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/api-authentication
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Network accessline 59
    For implementation, read: https://docs.stripe.com/stripe-apps/pkce-oauth-flow
  • Network accessline 82
    For the full implementation pattern, read: https://docs.stripe.com/stripe-apps/build-backend

skills/stripe-apps/references/backend.md

  • Network accessline 22
    | Topic | URL | | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 23
    | --- | --- | | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 24
    | Backend implementation + fetchStripeSignature | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 25
    | Authentication types (determines backend pattern) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 26
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 27
    | Secret Store API | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 43
    `fetchStripeSignature` is how the UI extension authenticates requests to your backend. The signed payload and verification method are documented at https://docs.stripe.com/stripe-apps/build-backend.
  • Network accessline 64
    Read https://docs.stripe.com/stripe-apps/events for the full setup guide.
  • Network accessline 66
    For firewall allowlisting of inbound webhook traffic, see https://docs.stripe.com/ips for Stripe’s IP addresses.
  • Network accessline 99
    For the correct code patterns to read, write, and delete secrets, read: https://docs.stripe.com/stripe-apps/store-secrets

skills/stripe-apps/references/canonical-docs.md

  • Network accessline 13
    | Topic | URL | | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 14
    | --- | --- | | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app | | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest |
  • Network accessline 15
    | App scaffold and workflow | https://docs.stripe.com/stripe-apps/create-app |
  • Network accessline 16
    | Manifest schema (`stripe-app.yaml`) | https://docs.stripe.com/stripe-apps/reference/app-manifest | | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) 
  • Network accessline 17
    | Permissions reference | https://docs.stripe.com/stripe-apps/reference/permissions | | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend | | Authentication types (platform, OAuth, RAK) |
  • Network accessline 18
    | Backend + signed requests (`fetchStripeSignature`) | https://docs.stripe.com/stripe-apps/build-backend |
  • Network accessline 19
    | Authentication types (platform, OAuth, RAK) | https://docs.stripe.com/stripe-apps/api-authentication |
  • Network accessline 20
    | Events and webhooks | https://docs.stripe.com/stripe-apps/events |
  • Network accessline 21
    | How UI extensions work | https://docs.stripe.com/stripe-apps/how-ui-extensions-work |
  • Network accessline 22
    | UI components | https://docs.stripe.com/stripe-apps/components |
  • Network accessline 23
    | Extensions SDK API (`createHttpClient`, Stripe client) | https://docs.stripe.com/stripe-apps/reference/extensions-sdk-api |
  • Network accessline 24
    | Secret Store | https://docs.stripe.com/stripe-apps/store-secrets |
  • Network accessline 25
    | Versioning and releases | https://docs.stripe.com/stripe-apps/versions-and-releases |
  • Network accessline 26
    | Marketplace submission | https://docs.stripe.com/stripe-apps/publish-app |
  • Network accessline 27
    | Onboarding UX patterns | https://docs.stripe.com/stripe-apps/patterns/onboarding-experience |
  • Network accessline 28
    | Full-page apps | https://docs.stripe.com/stripe-apps/patterns/full-page-apps |
  • Network accessline 29
    | Viewports reference | https://docs.stripe.com/stripe-apps/reference/viewports |
  • Network accessline 30
    | Sandbox support | https://docs.stripe.com/stripe-apps/enable-sandbox-support |
  • Network accessline 31
    | Extension points and supported implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 32
    | Extension runtimes and limitations | https://docs.stripe.com/extensions/how-extensions-work |
  • Network accessline 33
    | Native proration behavior | https://docs.stripe.com/billing/subscriptions/prorations |
  • Network accessline 34
    | Prorations applicability and limitations | https://docs.stripe.com/billing/scripts/prorations |
  • Network accessline 35
    | Prorations script walkthrough: scaffolding, tests, and debugging | https://docs.stripe.com/extensions/scripts/build-prorations-extension |
  • Network accessline 36
    | Existing workflow actions | https://docs.stripe.com/workflows/define-workflows#actions |
  • Network accessline 37
    | Existing custom actions | https://docs.stripe.com/workflows/custom-actions |
  • Network accessline 38
    | Custom action contract and schemas | https://docs.stripe.com/extensions/custom-actions/how-custom-actions-work |
  • Network accessline 39
    | Custom-action script implementation | https://docs.stripe.com/extensions/custom-actions/build-with-script |
  • Network accessline 40
    | Custom-action remote-function implementation | https://docs.stripe.com/extensions/custom-actions/build-with-remote-function |
  • Network accessline 41
    | Script endpoint declarations and calls | https://docs.stripe.com/extensions/invoke-endpoints |
  • Network accessline 42
    | Extension configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 43
    | Extension run debugging | https://docs.stripe.com/workbench/guides#view-extension-runs |

skills/stripe-apps/references/discovery.md

  • Network accessline 32
    - Option 3: Full-stack app. Resolve any unanswered UI and audience questions. Read `ui-extensions.md`, `backend.md`, `authentication.md`, `webhooks.md`, and `workflow.md`. Load other references only when their corresponding task applies. - 
  • Network accessline 33
    - Option 4: App-as-authentication. Read `authentication.md`, `workflow.md`. - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product do
  • Network accessline 34
    - Option 5: Extension interfaces. Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation for applicability, supported implementation types, and current a
  • Network accessline 128
    | Feature | Trigger phrases (user might say) | What to tell the user | | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured 
  • Network accessline 129
    | --- | --- | --- | | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects document
  • Network accessline 130
    | Custom objects | “store custom data in Stripe”, “create my own data model”, “custom database in Stripe”, “custom fields on customers”, “structured data that isn’t in Stripe already” | Check the [custom objects documentation](https://docs.
  • Network accessline 159
    | Secret Store | Stripe’s built-in way for your app to save sensitive information like passwords or tokens | | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears
  • Network accessline 160
    | stripe-app.yaml | The configuration file that tells Stripe what your app is called, what it needs access to, and where it appears | | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documen
  • Network accessline 161
    | Custom objects | Custom data types you define and store inside Stripe; check the [custom objects documentation](https://docs.stripe.com/custom-objects.md) for current availability and access requirements |

skills/stripe-apps/references/extension-types.md

  • Network accessline 87
    **Availability:** Read the [extension-point catalog](https://docs.stripe.com/extensions/extension-points.md) and the selected interface’s product documentation. Use its current applicability, supported implementation types, and account acce
  • Network accessline 95
    **Private preview:** If the user asks for this, point them to https://docs.stripe.com/stripe-apps/embedded-apps.
  • Network accessline 119
    For the full viewport reference, see https://docs.stripe.com/stripe-apps/reference/viewports.

skills/stripe-apps/references/onboarding-ux.md

  • Network accessline 9
    **Canonical page:** https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 47
    For the correct `SignInView` props and usage, read: https://docs.stripe.com/stripe-apps/patterns/onboarding-experience
  • Network accessline 61
    For the correct Secret Store API patterns, read: https://docs.stripe.com/stripe-apps/store-secrets

skills/stripe-apps/references/publishing.md

  • Network accessline 59
    2. Bump the version and upload 3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the ap
  • Network accessline 60
    3. Existing users are notified by email 4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself** 5. The app returns a
  • Network accessline 61
    4. The **“Review Permissions”** button appears — but only on the **Apps workload page** ([dashboard.stripe.com/apps](https://dashboard.stripe.com/apps)), **not on the app itself**
  • Network accessline 76
    - Verified email address on your Stripe account - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 77
    - Business details filled in (legal name, address) - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md) - Connect platform accounts can’t publish marketplace apps
  • Network accessline 78
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 83
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 99
    Your app appears in the [Stripe Apps Marketplace](https://marketplace.stripe.com/). Any Stripe user can install it.

skills/stripe-apps/references/script-extensions.md

  • Network accessline 18
    | Topic | Documentation | | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 19
    | --- | --- | | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points | | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 20
    | Extension points and implementation types | https://docs.stripe.com/extensions/extension-points |
  • Network accessline 21
    | Script runtime | https://docs.stripe.com/extensions/how-extensions-work#scripts |
  • Network accessline 22
    | Configuration and schemas | https://docs.stripe.com/extensions/scripts/define-config-and-schemas |
  • Network accessline 23
    | HTTP calls | https://docs.stripe.com/extensions/invoke-endpoints |

skills/stripe-apps/references/ui-extensions.md

  • Network accessline 9
    - **Component API → fetch the component’s doc BEFORE you import it (required).** SDK components are split across **three import subpaths** — `@stripe/ui-extension-sdk/ui`, `/ui/next`, and `/ui/experimental` — and importing from the wrong on
  • Network accessline 21
    | `window`, `document`, `localStorage`, `sessionStorage` | not available in the iframe | | `react-hook-form` / any ref-based form library | uncontrolled inputs — `defaultValue` + `onChange` (see Forms, §3) | | arbitrary `fetch()` to externa
  • Network accessline 23
    | arbitrary `fetch()` to external URLs | `fetchStripeSignature` for your backend; the SDK client for Stripe APIs |
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 29
    Decide *where in the Dashboard* the app lives; that determines the viewport and the root component. Full viewport list: [viewports reference](https://docs.stripe.com/stripe-apps/reference/viewports.md).
  • Network accessline 31
    | Your goal | Surface | Viewport | Root component | | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stri
  • Network accessline 32
    | --- | --- | --- | --- | | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Contextual i
  • Network accessline 33
    | A dedicated workspace: tabs, lists, dashboards, multi-step workflows | **Full-page** | `stripe.dashboard.fullpage` | [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 34
    | Contextual info/actions tied to a specific object (such as a customer or payment) | **Page-specific** | `stripe.dashboard.{object_type}.detail`, `stripe.dashboard.{object_type}.list`, or `stripe.dashboard.{object_type}.overview` | [Contex
  • Network accessline 35
    | Available on every Dashboard page | **Dashboard-wide drawer** | `stripe.dashboard.drawer.default` | [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 36
    | App configuration | **Settings** | `settings` | [SettingsView](https://docs.stripe.com/stripe-apps/components/settingsview.md) |
  • Network accessline 37
    | First-run setup after install | **Onboarding** | `onboarding` | [OnboardingView](https://docs.stripe.com/stripe-apps/components/onboardingview.md) |
  • Network accessline 45
    **Full-page app** (walkthrough: [full-page apps pattern](https://docs.stripe.com/stripe-apps/patterns/full-page-apps.md)):
  • Network accessline 47
    1. **Manifest** — register the `stripe.dashboard.fullpage` [viewport](https://docs.stripe.com/stripe-apps/reference/viewports.md) → your view. *(The CLI’s `add view` adds a full-page view to an existing app; the full-page view needs `@strip
  • Network accessline 48
    2. **Shell** — [FullPageView](https://docs.stripe.com/stripe-apps/components/fullpageview.md); the header (app name + icon) comes from `stripe-app.json`. Add one `pageAction` only if there’s a single clear top-level action.
  • Network accessline 49
    3. **Routing** — `createRoutes` + `AppRouter`; read the route with `useAppRoute`, navigate with `useNavigation`. Use a `/:tabId?` pattern so tabs are bookmarkable ([routing](https://docs.stripe.com/stripe-apps/routing.md)).
  • Network accessline 50
    4. **Tabs** — [Tabs/Tab](https://docs.stripe.com/stripe-apps/components/tabs.md) for top-level sections. Distinct areas only; don’t nest tabs.
  • Network accessline 51
    5. **Overview** — [OverviewPage](https://docs.stripe.com/stripe-apps/components/overviewpage.md) with a `primaryColumn` (main content, charts) and a `secondaryColumn` (supporting modules). Group content into `PageModule`s with titles; lead 
  • Network accessline 52
    6. **List** — [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md): sortable columns, status cells, row → detail route, pagination, and an empty state.
  • Network accessline 53
    7. **Detail** — [DetailPage](https://docs.stripe.com/stripe-apps/components/detailpage.md) with `breadcrumbs` back to the list and two columns. The tab bar isn’t visible here; the breadcrumb is the way back.
  • Network accessline 54
    8. **Create / edit** — [FocusView](https://docs.stripe.com/stripe-apps/components/focusview.md) drawer over the current view.
  • Network accessline 56
    **Drawer / page-specific app:** root is [ContextView](https://docs.stripe.com/stripe-apps/components/contextview.md); keep it **single-column and dense** (a drawer is narrow — don’t force multi-column). Use `environment.objectContext` for t
  • Network accessline 60
    These are the defaults that make an app feel native — they’re *not* in any single component doc, so follow them here. Each is tagged **[Required]** (breaks/looks wrong otherwise), **[Recommended]** (Stripe’s craft default), or **[Optional]*
  • Network accessline 69
    Passing a raw CSS value (px, `flex`, hex) is a hard runtime error — the #1 way a naive build crashes. ([style reference](https://docs.stripe.com/stripe-apps/style.md))
  • Network accessline 125
    - **Sizing:** a chart needs an explicit height — wrap it in a [Box](https://docs.stripe.com/stripe-apps/components/box.md) with a pixel height (`~180` per the [chart-layout pattern](https://docs.stripe.com/stripe-apps/patterns/chart-layout.
  • Network accessline 126
    - **Trend over time → [LineChart](https://docs.stripe.com/stripe-apps/components/linechart.md).** Use a sensible granularity (monthly or weekly); **daily points over a long range render as an unreadable, noisy line.**
  • Network accessline 127
    - **A small breakdown / a total split into parts (for example, members-by-tier) → a `List` of rows** (or a [MeterChart](https://docs.stripe.com/stripe-apps/components/meterchart.md) for a proportional bar). A `BarChart` with only a few cate
  • Network accessline 138
    Reserve [BarChart](https://docs.stripe.com/stripe-apps/components/barchart.md) for genuine multi-bar / time-series data, and let it fill width.
  • Network accessline 143
    **[Recommended] Typography.** `font` accepts **only** these presets — don’t invent values (`"heading4"`, `"title2"`, and similar are not valid and crash): `body`, `bodyEmphasized`, `caption`, `heading`, `subheading`, `subtitle`, `title`, `k
  • Network accessline 147
    **[Recommended] Loading.** Put the loading state *inside* the tab/content region so the header and tab bar stay visible — don’t wrap `Tabs` or the whole view in a loading state. Center a [Spinner](https://docs.stripe.com/stripe-apps/compone
  • Network accessline 149
    **[Recommended] Empty states.** Give [DataTable](https://docs.stripe.com/stripe-apps/components/datatable.md) an empty state, and swap it by scenario: an object with a call to action when there’s genuinely no data; a plain string when activ
  • Network accessline 151
    **[Required] Forms are uncontrolled.** There is no `react-hook-form` or ref-based forms in the sandbox. Use **uncontrolled inputs** — `defaultValue` + `onChange` (or a plain React-17 `useState` controlled value) — for [TextField](https://do
  • Network accessline 155
    **The complete, authoritative catalog is [docs.stripe.com/stripe-apps/components](https://docs.stripe.com/stripe-apps/components.md)** — every component, grouped by **Views · Layout · Navigation · Content · Forms · Charts**. Start there to 
  • Network accessline 157
    | Job | Component | When to use | Doc | | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 158
    | --- | --- | --- | --- | | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) | | Root of a drawer / page-specific view | `ContextView
  • Network accessline 159
    | Root of a full-page app | `FullPageView` | Full-page viewport; header from manifest | [doc](https://docs.stripe.com/stripe-apps/components/fullpageview.md) |
  • Network accessline 160
    | Root of a drawer / page-specific view | `ContextView` | Narrow, single-column, dense | [doc](https://docs.stripe.com/stripe-apps/components/contextview.md) |
  • Network accessline 161
    | Top-level sections | `Tabs` / `Tab` (`ui/next`) | Distinct workflow areas; route-driven | [doc](https://docs.stripe.com/stripe-apps/components/tabs.md) |
  • Network accessline 162
    | Overview dashboard | `OverviewPage` + `PageModule` | Two-column summary; group content in modules | [doc](https://docs.stripe.com/stripe-apps/components/overviewpage.md) |
  • Network accessline 163
    | List of objects | `DataTable` | Sortable, status cells, row→detail, empty state, pagination | [doc](https://docs.stripe.com/stripe-apps/components/datatable.md) |
  • Network accessline 164
    | Single object detail | `DetailPage` (+ `PropertyList` for key-value) | Breadcrumb + two columns; top-level page, not inside `FullPageView` | [detail](https://docs.stripe.com/stripe-apps/components/detailpage.md) · [propertylist](https://d
  • Network accessline 165
    | Create / edit | `FocusView` | Overlay drawer; `Button pending` on save | [doc](https://docs.stripe.com/stripe-apps/components/focusview.md) |
  • Network accessline 166
    | Data visualization | `LineChart` / `BarChart` / `MeterChart` / `Sparkline` (`ui/next`) | In a fixed-height `Box` in a `PageModule`; **read the doc for the `data` shape** | [line](https://docs.stripe.com/stripe-apps/components/linechart.md
  • Network accessline 167
    | Layout / spacing | `Box`, `Inline` | The `stack`/`gap`/`padding` substrate (see §3) | [doc](https://docs.stripe.com/stripe-apps/components/box.md) |
  • Network accessline 168
    | Actions | `Button` | Primary/secondary; `pending` for async | [doc](https://docs.stripe.com/stripe-apps/components/button.md) |
  • Network accessline 169
    | Loading | `Spinner` | Center in the content region | [doc](https://docs.stripe.com/stripe-apps/components/spinner.md) |
  • Network accessline 171
    Full catalog: [all components](https://docs.stripe.com/stripe-apps/components.md) · [design patterns](https://docs.stripe.com/stripe-apps/patterns.md)

skills/stripe-apps/references/webhooks.md

  • Network accessline 7
    **Canonical page:** https://docs.stripe.com/stripe-apps/events
  • Network accessline 67
    Always verify signatures to ensure the request came from Stripe. For the complete webhook verification pattern, read: https://docs.stripe.com/stripe-apps/build-backend
  • Network accessline 85
    1. Go to [Dashboard → Developers → Webhooks](https://dashboard.stripe.com/webhooks)

skills/stripe-apps/references/workflow.md

  • Network accessline 118
    For a public app that you want to test in a general sandbox, [update its manifest to support sandbox installs](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md#update-the-app-manifest) before uploading.
  • Network accessline 132
    1. Open [Created apps](https://dashboard.stripe.com/test/apps/created) in the sandbox where you uploaded the app
  • Network accessline 138
    1. Complete the remaining steps to [enable general sandbox support](https://docs.stripe.com/stripe-apps/enable-sandbox-support.md)
  • Network accessline 139
    2. [Create an external test link](https://docs.stripe.com/stripe-apps/test-app.md) for the uploaded version
  • Network accessline 152
    1. Go to the [Dashboard → Apps page](https://dashboard.stripe.com/apps)
  • Network accessline 175
    1. Go to [Dashboard → Apps](https://dashboard.stripe.com/apps)
  • Network accessline 181
    - Verified email address on your Stripe account - Business details filled in - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)
  • Network accessline 183
    - App passes [review requirements](https://docs.stripe.com/stripe-apps/review-requirements.md)

skills/stripe-best-practices/SKILL.md

  • Network accessline 21
    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 li
  • Network accessline 35
    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 ke
  • Network accessline 41
    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).
  • Network accessline 63
    - *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 p
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    - [Integration Options](https://docs.stripe.com/payments/payment-methods/integration-options.md) — Start here when designing any integration.
  • Network accessline 78
    - [API Tour](https://docs.stripe.com/payments-api/tour.md) — Overview of Stripe’s API surface.
  • Network accessline 79
    - [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md) — Review before launching.

skills/stripe-best-practices/references/billing.md

  • Network accessline 13
    If the user has a recurring revenue model (subscriptions, usage-based billing, seat-based pricing), use the Billing APIs to [plan their integration](https://docs.stripe.com/billing/subscriptions/design-an-integration.md) instead of a direct
  • Network accessline 15
    Review the [pricing models](https://docs.stripe.com/products-prices/pricing-models.md) to find the right pattern for the user’s pricing model. For a flat-rate subscription integration with Checkout, follow the [SaaS subscriptions guide](htt
  • Network accessline 21
    For self-service subscription management (upgrades, downgrades, cancellation, payment method updates), recommend the [Customer Portal](https://docs.stripe.com/customer-management/integrate-customer-portal.md).
  • Network accessline 27
    **For any new usage-based billing integration, recommend [Metronome](https://docs.stripe.com/billing/usage-based.md) — not the Billing Meters API.** Metronome is the primary Stripe platform for usage-based billing and handles metering, rati
  • Network accessline 45
    Read [Compare basic usage-based billing and Metronome](https://docs.stripe.com/billing/subscriptions/usage-based/compare-metronome.md) for a full feature comparison. Read [Get started with Metronome](https://docs.stripe.com/billing/usage-ba
  • Network accessline 47
    For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subscription by default and add Metronome only for the usage component (the “Metronome with Stripe Subscriptions” pattern). Create the Metronome customer with the St
  • Network accessline 49
    **Before answering any Metronome implementation question or writing any Metronome code** (usage event ingestion, billable metrics, contracts and rate cards, credits and commits, invoicing, or syncing Metronome invoices to Stripe), use the `
  • Network accessline 53
    **When answering any Billing setup or subscription question, always include a brief Stripe Tax note before finishing your response.** Example: “One more thing — if you’ll be charging US or EU customers, you’ll need to consider enabling Stri
  • Network accessline 57
    - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and aft
  • Network accessline 58
    - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integ
  • Network accessline 59
    - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[co
  • Network accessline 60
    - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically. - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/
  • Network accessline 61
    - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
  • Network accessline 62
    - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple P
  • Network accessline 63
    - Don’t skip tax setup, and don’t assume enabling `automatic_tax` is enough. Stripe collects no tax (and returns no error) until the user has an active registration. See [Collect taxes for recurring payments](https://docs.stripe.com/billing
  • Network accessline 64
    - *Never pass `payment_method_types` when creating a subscription Checkout Session.* Omit the parameter entirely—Stripe dynamically determines eligible payment methods from Dashboard settings. Hardcoding `payment_method_types: ['card']` loc
  • Network accessline 77
    - *Don’t map asynchronous Stripe events to application objects through metadata by default.* Resolve each event through Stripe’s object graph to the first-class Stripe resource that represents the application’s ownership boundary, then map 

skills/stripe-best-practices/references/connect.md

  • Network accessline 43
    If dashboard is `express`, provide access through [login links](https://docs.stripe.com/api/accounts/login_link/create.md). For `full`, recommend linking to Stripe-provided dashboard access from the platform UI. You can also use embedded co
  • Network accessline 51
    - `losses_collector: "stripe"` — Stripe owns negative balance liability - Charge pattern: Direct charges (connected account is merchant of record) - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/
  • Network accessline 53
    - Code sample: [/connect/saas/tasks/create#code-sample](https://docs.stripe.com/connect/saas/tasks/create.md#code-sample)
  • Network accessline 59
    - `losses_collector: "application"` — platform owns negative balance liability (required for transfer reversals during disputes) - Charge pattern: Destination charges (platform is merchant of record) - Code sample: [/connect/marketplace/tas
  • Network accessline 61
    - Code sample: [/connect/marketplace/tasks/create#code-sample](https://docs.stripe.com/connect/marketplace/tasks/create.md#code-sample)
  • Network accessline 107
    - If platform fee is low (< ~4%), recommend including estimated Stripe fees in `application_fee_amount` to preserve margin - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 108
    - Refer to [stripe.com/pricing](https://stripe.com/pricing) for region-specific rates
  • Network accessline 114
    Always use webhooks for reliable payment confirmation. Don’t rely solely on synchronous API responses — webhook events are the source of truth for payment status. Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#veri
  • Network accessline 170
    - [SaaS platforms and marketplaces guide](https://docs.stripe.com/connect/saas-platforms-and-marketplaces.md) — Choosing the right integration approach.
  • Network accessline 171
    - [Interactive platform guide](https://docs.stripe.com/connect/interactive-platform-guide.md) — Step-by-step platform builder.
  • Network accessline 172
    - [Design an integration](https://docs.stripe.com/connect/design-an-integration.md) — Detailed risk and responsibility decisions.
  • Network accessline 173
    - [Connected account configuration (v2)](https://docs.stripe.com/connect/accounts-v2/connected-account-configuration.md) — Account setup reference.

skills/stripe-best-practices/references/payments.md

  • Network accessline 16
    Use the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) (`checkout.sessions.create`) for on-session payments. It supports one-time payments and subscriptions and handles discounts, shipping, and adaptive pricing au
  • Network accessline 18
    Use the [Payment Intents API](https://docs.stripe.com/payments/paymentintents/lifecycle.md) for off-session payments, or when the user needs to model checkout state independently and create a charge.
  • Network accessline 28
    1. **Payment Links** — No-code. Best for simple products. 2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 29
    2. **Checkout** ([docs](https://docs.stripe.com/payments/checkout.md)) — Stripe-hosted or embedded form. Best for most web apps.
  • Network accessline 30
    3. **Payment Element** ([docs](https://docs.stripe.com/payments/payment-element.md)) — Embedded UI component for advanced customization.
  • Network accessline 33
    **Traps to avoid:** Don’t recommend the legacy Card Element or the Payment Element in card-only mode. If the user asks for the Card Element, advise them to [migrate to the Payment Element](https://docs.stripe.com/payments/payment-element/mi
  • Network accessline 37
    For surcharging or inspecting card details before payment (for example, rendering the Payment Element before creating a PaymentIntent or SetupIntent): use [Confirmation Tokens](https://docs.stripe.com/payments/finalize-payments-on-the-serve
  • Network accessline 41
    Use the [Setup Intents API](https://docs.stripe.com/api/setup_intents.md) to save a payment method for later use.
  • Network accessline 47
    Drive fulfillment from an [event handler](https://docs.stripe.com/checkout/fulfillment.md), not from the success or return page. Customers aren’t guaranteed to visit the landing page — for example, someone can pay successfully and then lose
  • Network accessline 59
    - Never describe webhook setup as “optional”, “nice to have”, or something to skip for a first pass. If the integration is a proof of concept, say webhooks are recommended now and required before launch or before adding subscriptions — don’
  • Network accessline 61
    - Always [verify event signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing an event. Read the security skill reference for webhook signing secret handling.
  • Network accessline 65
    *Never pass `payment_method_types` to any Stripe API call*, except for Terminal (in-person payments) integrations. Omitting this parameter enables [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-me
  • Network accessline 77
    See the [integration options guide](https://docs.stripe.com/payments/payment-methods/integration-options.md) for full details on dynamic versus manual configuration.
  • Network accessline 81
    - Never hardcode `payment_method_types: ['card']` even if the user only mentions credit cards. Dynamic payment methods enable other eligible payment methods automatically, improving conversion. - If the user wants to customize which payment
  • Network accessline 82
    - If the user wants to customize which payment methods appear on a PaymentIntent or SetupIntent, use [payment_method_configurations](https://docs.stripe.com/payments/payment-method-configurations.md) to manage methods per-integration, `excl
  • Network accessline 83
    - If the user has a custom frontend that renders UI for specific payment method types, ensure those methods are enabled in their [payment method settings](https://dashboard.stripe.com/settings/payment_methods) or `payment_method_configurati
  • Network accessline 87
    Never recommend the Charges API. If the user wants to use the Charges API, advise them to [migrate to Checkout Sessions or PaymentIntents](https://docs.stripe.com/payments/payment-intents/migration/charges.md).
  • Network accessline 91
    | API | Status | Use instead | Migration guide | | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 92
    | --- | --- | --- | --- | | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) | | Sources API | Deprecated | Setup Intents | [Setup Inten
  • Network accessline 93
    | Charges API | Never use | Checkout Sessions or PaymentIntents | [Migration guide](https://docs.stripe.com/payments/payment-intents/migration/charges.md) |
  • Network accessline 94
    | Sources API | Deprecated | Setup Intents | [Setup Intents docs](https://docs.stripe.com/api/setup_intents.md) |
  • Network accessline 96
    | Card Element | Legacy | Payment Element | [Migration guide](https://docs.stripe.com/payments/payment-element/migration.md) |
  • Network accessline 100
    If a PCI-compliant user asks about sending server-side raw PAN data, advise them that they may need to prove PCI compliance to access options like [payment_method_data](https://docs.stripe.com/api/payment_intents/create.md#create_payment_in
  • Network accessline 102
    For users migrating PAN data from another acquirer or payment processor, point them to [the PAN import process](https://docs.stripe.com/get-started/data-migrations/pan-import.md).

skills/stripe-best-practices/references/security.md

  • Network accessline 26
    - **Google Cloud**: Use Secret Manager and give read permissions only to the application that needs it. - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a b
  • Network accessline 27
    - **Azure**: Use Azure Key Vault and give read permissions only to the application that needs it. - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with en
  • Network accessline 28
    - **Vercel**: Vercel doesn’t offer a built-in secrets vault, but several third-party add-ons can provide one that synchronizes secrets with environment variables on Vercel. Use a [sensitive environment variable](https://vercel.com/docs/envi
  • Network accessline 33
    - Never share secret keys with third parties. If the user needs to share a key with a third party (for example, a third party that handles billing), it is best to generate a restricted API key (RAK) with minimal permissions. - Rotate Stripe
  • Network accessline 34
    - Rotate Stripe API keys when personnel with access to those keys depart. - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md). - Code must never log keys or include them in error messages or 
  • Network accessline 35
    - Read [best practices for managing secret API keys](https://docs.stripe.com/keys-best-practices.md).
  • Network accessline 44
    **Traps to avoid:** Don’t embed keys in client-side code, mobile apps, or any code that runs outside your own infrastructure. Don’t suggest that users substitute a real secret key into example code — point them to [best practices for managi
  • Network accessline 48
    Use [restricted API keys](https://docs.stripe.com/keys.md#manage-your-api-keys) (prefix `rk_`) instead of secret keys (prefix `sk_`) wherever possible. RAKs have only the permissions you assign, so a compromised RAK can do far less damage t
  • Network accessline 54
    1. Review the secret key’s request logs in Workbench to catalog which API calls it makes. 2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch 
  • Network accessline 55
    2. Create a RAK in a sandbox with matching permissions. 3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs. 4. Test your integration with the RAK; fix any `403` errors by adding missing permis
  • Network accessline 56
    3. Use the [Stripe CLI](https://docs.stripe.com/cli.md)’s `stripe logs tail` command to watch logs.
  • Network accessline 65
    Encourage users to [configure access policies](https://docs.stripe.com/keys.md#access-policies) for every API key. Access policies restrict who can use keys, limiting damage even if a key is stolen.
  • Network accessline 71
    If a key is exposed or compromised, follow [protecting against compromised API keys](https://support.stripe.com/questions/protecting-against-compromised-api-keys), which can be summarized as:
  • Network accessline 73
    1. **Roll the key immediately** — go to the [API keys page](https://dashboard.stripe.com/apikeys) and roll or delete the exposed key. Do this even if you’re unsure whether the key was actually used by an unauthorized party.
  • Network accessline 77
    To prepare before an incident: practice rolling keys, audit source code for any committed keys, and use pre-commit hooks to prevent accidental key check-ins. See [protecting against compromised API keys](https://support.stripe.com/questions
  • Network accessline 81
    Before processing any webhook event, always [verify the webhook signature](https://docs.stripe.com/webhooks.md#verify-events) using Stripe’s webhook signing secret. Signature verification is a strong guarantee that requests are genuinely fr
  • Network accessline 83
    For defense in depth, also [allowlist Stripe’s IP addresses](https://docs.stripe.com/ips.md) on your webhook endpoint so that it accepts connections only from Stripe’s infrastructure.
  • Network accessline 87
    Add a `Content-Security-Policy` header to every web app that loads Stripe.js or uses Stripe’s hosted UIs. See [Stripe’s integration security guide](https://docs.stripe.com/security/guide.md) for the full list of CSP directives to use depend
  • Network accessline 95
    For cases where a client must interact directly with Stripe, use [ephemeral keys](https://docs.stripe.com/issuing/elements.md#ephemeral-key-authentication). Ephemeral keys are short-lived, scoped to a specific resource, and expire automatic
  • Network accessline 101
    When implementing [Connect OAuth flows](https://docs.stripe.com/connect/oauth-reference.md), always use the `state` parameter to protect against CSRF attacks. Generate a unique, unguessable value for `state` per request and verify it in the
  • Network accessline 107
    Recommend [passkeys or authenticator apps](https://docs.stripe.com/security.md) rather than SMS-based 2FA for Stripe Dashboard access. SMS 2FA is vulnerable to SIM-swapping attacks in which the user’s phone provider transfers their number t
  • Network accessline 115
    **Connect onboarding:** Use [Stripe-hosted onboarding](https://docs.stripe.com/connect/onboarding.md) rather than building a custom onboarding flow. Custom onboarding requires your platform to collect and handle sensitive PII directly, whic
  • Network accessline 119
    For teams managing Dashboard access, recommend [SSO via SAML](https://docs.stripe.com/get-started/account/sso.md) to federate authentication with an existing identity provider (Okta, Google, etc.). SSO centralizes access control and simplif
  • Network accessline 121
    [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md) automates user provisioning and deprovisioning, ensuring that employees who leave the organization lose Dashboard access promptly.

skills/stripe-best-practices/references/tax.md

  • Network accessline 23
    **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard > **Tax** > **Locations** > **Needs attention** and email alerts), registration on the user’s behalf for eligible US remote sellers, eligible non-resident busi
  • Network accessline 25
    **What Stripe Tax doesn’t do:** Process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for cu
  • Network accessline 31
    Use Stripe Tax for any subscription, invoice, or Checkout Session where the user has customers across multiple jurisdictions. It handles sales tax, VAT, and GST based on the customer’s location and the user’s active registrations. See the [
  • Network accessline 35
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), read the account’s current Tax Settings first (the [Tax Settings API](https://docs.stripe.com/api/tax/settings.md) or go to the Dashboard > **Tax** > **Setti
  • Network accessline 37
    1. Set a head office address in Tax Settings (Dashboard > Tax > Settings). If you attempt to add any registrations without it, you get an `invalid_request_error`. The settings `status` property returns `pending` until the head office addres
  • Network accessline 38
    2. Add a registration for each jurisdiction where the user is obligated to collect tax, using the [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) or the [Dashboard](https://docs.stripe.com/tax/registering.md). Afte
  • Network accessline 39
    3. Pass `automatic_tax: { enabled: true }` on the [Subscription](https://docs.stripe.com/api/subscriptions.md), [Invoice](https://docs.stripe.com/api/invoices.md), or [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md) obje
  • Network accessline 47
    **Traps to avoid:** `automatic_tax` can’t coexist with manual [tax_rates](https://docs.stripe.com/tax/tax-rates.md) (explicit rate objects) on the same object. Enabling it while any `default_tax_rates` or item-level `tax_rates` remain is re
  • Network accessline 49
    **EU VAT registrations:** Don’t choose a registration scheme from a general setup request. Direct the user to [tax guidance for the European Union](https://docs.stripe.com/tax/supported-countries/european-union.md) and their tax advisor to 
  • Network accessline 53
    After enabling `automatic_tax`, don’t assume the setup is complete: tax is only collected after the user has an active registration in the customer’s jurisdiction. Have the user confirm their registrations with the [Tax Registrations API](h
  • Network accessline 55
    **If you have execution access** (MCP tools or the Stripe CLI with a valid token), run a test [Tax Calculation](https://docs.stripe.com/api/tax/calculations.md) with a customer address in the target jurisdiction and the product’s tax code. 
  • Network accessline 58
    - Any other reason means the calculation worked, including when the tax is zero. Zero is *correct* for an exempt tax code or an exempt customer. Report the reason to the user and have them confirm with their tax advisor that it’s expected f
  • Network accessline 60
    - If you only have read or advisory access, don’t claim it’s verified. Point the user to [Testing Stripe Tax](https://docs.stripe.com/tax/testing.md) to run the check themselves in a sandbox.
  • Network accessline 64
    For subscriptions and invoices using Customer v1, Stripe uses the first viable source in this order: (1) shipping address, (2) billing address on the Customer object, (3) billing details from the most-specific payment method, and (4) custom
  • Network accessline 72
    - Never invent, guess, or hardcode a `txcd_` from memory. The exact value must come from Stripe’s canonical list: the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md
  • Network accessline 73
    - Don’t default to the generic **General - Electronically Supplied Services** (`txcd_10000000`) for US sales. It’s too broad for US state-level taxability; pick a specific digital or SaaS code. See [tax codes for digital products](https://d
  • Network accessline 74
    - Show the candidate codes and let the user confirm; don’t decide which code is legally correct for them. (Tax code goes on the Product, `tax_behavior` on the Price. See [product tax codes and tax behavior](https://docs.stripe.com/tax/produ
  • Network accessline 75
    - When you tell the user which code you set or recommend, link the [Tax Codes API](https://docs.stripe.com/api/tax_codes.md) or the [tax code guide](https://docs.stripe.com/tax/tax-codes.md) in the same response, in addition to the `txcd_` 
  • Network accessline 81
    The reason worth calling out is **`not_collecting`, which is ambiguous**: it means either **no active registration** in the customer’s jurisdiction (the usual cause; check registrations with the [Tax Registrations API](https://docs.stripe.c
  • Network accessline 83
    For all other `taxability_reason` values — `reverse_charge`, `customer_exempt`, `not_subject_to_tax`, `product_exempt`, `zero_rated`, `vat_exempt`, `standard_rated` — see [Zero tax amounts and reverse charges](https://docs.stripe.com/tax/ze
  • Network accessline 93
    Don’t promise that a configuration change will correct completed transactions. Use [tax reports](https://docs.stripe.com/tax/reports.md) to understand recorded activity, and direct questions about historical obligations to the user’s tax ad
  • Network accessline 97
    Identify the integration before explaining a refund. Stripe Tax doesn’t have one refund behavior for every integration. For PaymentIntents, [the simplified Stripe Tax integration](https://docs.stripe.com/tax/payment-intent/simplified.md) au
  • Network accessline 101
    Every integration needs a resolvable customer address and an active registration in that jurisdiction. It also needs a product tax code and a `tax_behavior`, set on the product/price, or falling back to the account’s [preset tax code and de
  • Network accessline 103
    - **Checkout Sessions**: set `automatic_tax: { enabled: true }`. For a new customer, Checkout collects the address it needs, so don’t force `billing_address_collection: 'required'` (unnecessary for tax, and it adds checkout friction). For a
  • Network accessline 104
    - **Invoices**: set `automatic_tax: { enabled: true }` on the invoice; the customer needs a saved address. See the [Invoices API](https://docs.stripe.com/api/invoices.md).
  • Network accessline 105
    - **Subscriptions**: set `automatic_tax: { enabled: true }`; clear existing `tax_rates` first (see Traps to avoid). See the [Subscriptions API](https://docs.stripe.com/api/subscriptions.md).
  • Network accessline 106
    - **Payment Links**: set `automatic_tax: { enabled: true }`. Collect customers’ addresses when more location precision is needed. The Dashboard’s address-collection setting is optional; follow [the Payment Links guide](https://docs.stripe.c
  • Network accessline 107
    - **Custom PaymentIntents**: there’s no `automatic_tax` field, so this path is easy to under-build. Create a [tax calculation](https://docs.stripe.com/api/tax/calculations.md) with the customer’s address, set the PaymentIntent `amount` to t
  • Network accessline 109
    For B2B or reverse-charge treatment, collect the customer’s tax ID (`tax_id_collection: { enabled: true }` on Checkout, or store it on the [Customer](https://docs.stripe.com/billing/customer/tax-ids.md)). Without a valid tax ID, Stripe Tax 
  • Network accessline 113
    For a Connect platform or marketplace, first determine which entity collects and remits the tax: the platform or the connected account. This is a legal determination, so route the final call to the user’s tax advisor rather than inferring i
  • Network accessline 117
    - Set the liable entity with `automatic_tax.liability` on Checkout, Invoices, Subscriptions, or Payment Links: `{ type: 'self' }` uses the platform’s tax settings and registrations, while `{ type: 'account', account: '<id>' }` uses the conn
  • Network accessline 118
    - Registrations and tax settings belong to the liable entity. When the connected account is liable, confirm its [tax settings](https://docs.stripe.com/tax/settings-api.md) `status` is `active` before enabling `automatic_tax` on its payments
  • Network accessline 124
    The [threshold monitoring](https://docs.stripe.com/tax/monitoring.md) tool highlights *potential* registration obligations in the Dashboard > **Tax** > **Locations** > **Needs attention**. Stripe sends email and Dashboard alerts. The public
  • Network accessline 132
    - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration tha
  • Network accessline 138
    - **Register themselves, then record it in Stripe**: the user registers directly with the relevant tax authority and obtains their registration number. Then they add the registration in Stripe using that number through the [Tax Registration
  • Network accessline 148
    Check the [US eligibility requirements](https://docs.stripe.com/tax/use-stripe-to-register/united-states.md#eligibility) or [eligibility and signup steps outside the US](https://docs.stripe.com/tax/use-stripe-to-register/outside-united-stat
  • Network accessline 150
    - **Register with Taxually where available**: Taxually can help with registrations outside the United States, including registration types not covered by the Stripe registration service. Availability varies by country and plan, so direct th
  • Network accessline 152
    **Reporting and filing**: Collecting with Stripe Tax doesn’t file a return by itself, and **Register for me** doesn’t enroll the user in filing. With Tax Complete, users can set up automated filing with Stripe for [US sales tax](https://doc
  • Network accessline 163
    Don’t guess which jurisdictions apply or add a registration without confirmation that the business is registered with the tax authority. Ask where the business sells, direct the user to their tax advisor when needed, then help them record c
  • Network accessline 167
    Check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md). If the jurisdiction isn’t listed, tell the user:

skills/stripe-best-practices/references/treasury.md

  • Network accessline 10
    For embedded financial accounts (bank accounts, account and routing numbers, money movement), use the [v2 Financial Accounts API](https://docs.stripe.com/api/v2/core/vault/financial-accounts.md) (`POST /v2/core/vault/financial_accounts`). T
  • Network accessline 12
    For Treasury for platforms concepts and guides, see the [Treasury for platforms overview](https://docs.stripe.com/treasury/connect.md).
  • Network accessline 16
    Don’t use the [v1 Treasury Financial Accounts API](https://docs.stripe.com/api/treasury/financial_accounts.md) (`POST /v1/treasury/financial_accounts`) for new integrations. Existing v1 integrations continue to work.

skills/stripe-directory/SKILL.md

  • Broad permissionsline 1
    Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 20
    - Bash(brew install stripe/stripe-cli/stripe)   - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 21
    - Bash(brew upgrade stripe/stripe-cli/stripe)   - Bash(npx skills add https://docs.stripe.com *)   - Skill
  • Network accessline 22
    - Bash(npx skills add https://docs.stripe.com *)
  • Network accessline 61
    1. Go to <https://stripe.directory>.
  • Network accessline 66
    After you install it, the CLI is authoritative — run `stripe directory --help` or `stripe directory search --help` for current commands, filters, result fields, and supported capabilities. Don’t invent CLI syntax, capabilities, or result se

skills/stripe-docs/SKILL.md

  • Network accessline 3
    description: >-   Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 4
    Use when the user or agent needs to read, search, or look up Stripe   documentation or API reference. Prefer this over curl or WebFetch for any   docs.stripe.com content. Use to fetch gated documentation.
  • Network accessline 5
    documentation or API reference. Prefer this over curl or WebFetch for any
  • Network accessline 16
    Use `stripe docs` instead of fetching [docs.stripe.com](https://docs.stripe.com/.md) content directly with `curl` or `WebFetch`. If you don’t have the CLI installed, [install the Stripe CLI](https://docs.stripe.com/cli/install).
  • Network accessline 18
    Always use the latest CLI version. If the current CLI version is less than v1.50.9, you must [upgrade](https://docs.stripe.com/cli/install) to access gated documentation.

skills/stripe-pay/SKILL.md

  • Network accessline 19
    Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.
  • Network accessline 21
    The `stripe pay` command is for business-to-business money transfers. Both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:
  • Network accessline 23
    - The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • Network accessline 24
    - The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).
  • Network accessline 26
    If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). The command resolves the recipient’s payout configuration, which can route the payout to an attached financial account
  • Network accessline 41
    | Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 42
    | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, re
  • Network accessline 43
    | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) |
  • Network accessline 44
    | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) |
  • Network accessline 45
    | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) |
  • Network accessline 46
    | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |
  • Network accessline 52
    - If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • Network accessline 54
    - If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again. - If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that t
  • Network accessline 56
    - If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it
  • Network accessline 60
    - To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • Network accessline 61
    - To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.

skills/stripe-projects/SKILL.md

  • Network accessline 42
    - **macOS (Homebrew):** `brew install stripe/stripe-cli/stripe` (or `brew upgrade stripe/stripe-cli/stripe`) - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Network accessline 43
    - **Other platforms:** Direct the user to https://docs.stripe.com/stripe-cli/install for up-to-date instructions.
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]

skills/upgrade-stripe/SKILL.md

  • Network accessline 13
    If the user specifies a target API version, use it. Otherwise, look up the current version on docs.stripe.com with any documentation or web tool available to you, for example `stripe docs /api/versioning` with the Stripe CLI. The [API versi
  • Network accessline 21
    For SDKs that support explicit API version overrides, use the selected target in client configuration and per-request overrides. Use it in curl `Stripe-Version` test headers, too. Replace bundled API versions shown in those examples with th
  • Network accessline 45
    Review the [API changelog](https://docs.stripe.com/changelog.md) for all changes between versions. See [API upgrades](https://docs.stripe.com/upgrades.md) for the full upgrade guide.
  • Network accessline 49
    See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details on setting an API version in code.
  • Network accessline 101
    See [Stripe.js Versioning](https://docs.stripe.com/sdks/stripejs-versioning.md) for details.
  • Network accessline 110
    <script src="https://js.stripe.com/endive/stripe.js"></script>
  • Network accessline 139
    See [Mobile SDK Versioning](https://docs.stripe.com/sdks/mobile-sdk-versioning.md) for details.
  • Network accessline 164
    1. Review the [API changelog](https://docs.stripe.com/changelog.md) for changes between your current and target versions
  • Network accessline 165
    2. Check the [API upgrades guide](https://docs.stripe.com/upgrades.md) for migration guidance
  • Network accessline 167
    4. Update the `apiVersion` parameter in your Stripe client initialization 5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured AP
  • Network accessline 168
    5. Test your integration against the new API version using the `Stripe-Version` header 6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs
  • Network accessline 169
    6. For each destination that receives snapshot events, review its configured API version. For webhook endpoints, follow [webhook versioning](https://docs.stripe.com/webhooks/versioning.md). For every v2 snapshot event destination — includin
  • Network accessline 179
    curl https://api.stripe.com/v1/customers \
  • Network accessline 194
    - For supported event types, follow the [migration guide](https://docs.stripe.com/webhooks/migrate-snapshot-to-thin-events.md) to move from snapshot events to thin events. After migration, webhook payloads no longer depend on API version up
  • Network accessline 197
    - Breaking changes are tagged by affected product areas (Payments, Billing, Connect, etc.) - Multiple API versions coexist simultaneously, enabling staged adoption - For 72 hours after upgrading, you can roll back to your previous API versi
  • Network accessline 199
    - For 72 hours after upgrading, you can roll back to your previous API version in [Workbench](https://dashboard.stripe.com/workbench/overview)

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 500 facts

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md.cursor/skills/<skill-name>/
Gemini CLINativeManifest gemini-extension.json.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md providers/agent-plugins/plugin/skills/connect-recommend/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

stripe/ai: #522 on hotskills, 2k stars

[![stripe/ai on hotskills](https://hotskills.dev/badge/stripe-ai.svg)](https://hotskills.dev/skill/stripe-ai/)