stripe-apps

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

5.3k|765|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/openai/plugins --skill stripe-apps
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stripe-apps
Source: https://github.com/openai/plugins/tree/main/plugins/stripe/skills/stripe-apps
Command: npx skills add https://github.com/openai/plugins --skill stripe-apps

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 marketplace publishing — and mistakes in any of these produce broken apps. This Skill guides the entire workflow from discovery questions through scaffolding, implementation, and publishing.

Core Features & Use Cases

  • Guided Discovery & Architecture Routing: Asks structured questions about goals, viewports, audience, and data needs, then maps answers to the correct extension type (UI extension, backend-only, full-stack, extension interfaces).
  • Correct-by-Construction Code Generation: Enforces hard rules such as using stripe generate app for scaffolding, SDK-only UI components, React 17 constraints, and canonical docs verification before writing code.
  • Full Lifecycle Coverage: Handles authentication (platform keys, OAuth, restricted API keys), webhook configuration, Secret Store API, fetchStripeSignature verification, versioning, and marketplace submission.
  • Use Case: A developer wants to show a customer's loyalty points next to their Stripe profile and sync updates via webhooks — the Skill scaffolds the app, writes App.tsx and server.js, configures permissions, and walks through upload and install.

Quick Start

Ask the assistant to help you build a Stripe App that adds a panel to the customer detail page in your Stripe Dashboard.

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 the project 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` and publish with `stripe apps upload`.

How do I choose between platform keys, OAuth, and restricted API keys for a Stripe App?

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 or raw HTML in Stripe App UI extensions?

No. UI extensions run in a sandboxed iframe where only components from @stripe/ui-extension-sdk/ui render. Raw HTML elements, CSS frameworks, React 18 APIs, and browser globals like window or localStorage are blocked.

Why does fetchStripeSignature fail before uploading my Stripe App?

The signing secret (starting with absec_) is generated only during the first `stripe apps upload`. You must upload a version before fetchStripeSignature or the Secret Store API will work, even during local development.

How do I set up webhooks for a public Stripe App?

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

What are the limitations of Stripe Apps custom objects and extension interfaces?

Custom objects, extension interfaces, and full-page apps are private preview features requiring gated access on your Stripe account. Without access, use the Secret Store API or your own backend for data storage, and webhooks instead of processing interception.