stripe-apps

Builds, scaffolds, and publishes Stripe Apps with UI extensions, backends, and webhooks.

Updated Apr 19, 2026
One-click install
npx skills add https://github.com/divinaarmuela/Content --skill stripe-apps-divinaarmuela
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stripe-apps
Source: https://github.com/divinaarmuela/Content/tree/main/.claude/skills/stripe-apps
Command: npx skills add https://github.com/divinaarmuela/Content --skill stripe-apps-divinaarmuela

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building a Stripe App requires navigating many moving parts — the stripe-app.yaml manifest, sandboxed UI extensions, authentication types, webhooks, and the upload/publish workflow — and getting any of them wrong produces broken apps. This Skill guides the entire lifecycle from discovery questions through scaffolding, implementation, and marketplace publishing. ## Core Features & Use Cases - Guided Discovery & Architecture Routing: Asks structured questions to determine whether you need a UI extension, backend-only app, full-stack app, or extension interface, then maps answers to the correct viewports and files. - Correct-by-Construction Code Generation: Enforces hard rules — SDK-only components, React 17, no raw HTML or CSS, design-token styling — and requires fetching canonical Stripe docs before writing any code. - Full Workflow Coverage: Handles scaffolding via stripe generate app, manifest permissions, fetchStripeSignature backend auth, Secret Store, webhook configuration, versioning, and marketplace submission. - Use Case: A developer says "add a panel to the customer page showing loyalty points from my service." The Skill asks discovery questions, scaffolds the app, writes App.tsx and server.js following current docs, and walks through preview, upload, and install. ## Quick Start Ask the assistant to help you build a Stripe App that shows custom data in the Dashboard or reacts to Stripe events, and answer its four discovery questions.

Frequently Asked Questions about stripe-apps

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

FAQPage Schema
How do I build a Stripe App with a Dashboard UI extension?

Scaffold with `stripe generate app <name>`, then modify stripe-app.yaml and ui/src/views/App.tsx using components from @stripe/ui-extension-sdk/ui. Preview locally with `stripe apps start`, then run `stripe apps upload` and install from the Dashboard.

What is the difference between stripe apps start and stripe apps upload?

`stripe apps start` runs a non-persistent local preview in your Dashboard for development. `stripe apps upload` publishes a version, generates the signing secret needed for fetchStripeSignature and Secret Store, and makes the app installable.

Which authentication type should a Stripe App use?

Restricted API keys are the recommended default for private apps and simpler integrations. Use platform keys for public marketplace apps needing Connect-style access across merchants, and OAuth only when the merchant must be merchant-of-record.

Can I use Tailwind, HTML elements, or React 18 in Stripe App UI extensions?

No. UI extensions run in a sandboxed iframe on React 17.0.2 and only render components from @stripe/ui-extension-sdk. Raw HTML tags, CSS frameworks, window/document access, and React 18 APIs like useId or useTransition are blocked.

Why does my Stripe App upload fail with an invalid manifest error?

Invalid manifest errors come from missing required fields or malformed YAML. Check indentation, ensure id, version, and name are present, include `extensions: []`, and run `pnpm build` locally to catch TypeScript errors before uploading.

How do webhooks work for public Stripe Apps?

Public apps with platform keys use one webhook endpoint with "Listen to events on Connected accounts" enabled, identifying merchants via event.account. Apps with restricted API keys cannot use Connect fanout, so each merchant manages their own webhooks.