Connect Stripe to your Goodspeed app
Payment sheet integration for marketplace and commerce apps, with server-side intent creation plus native Stripe SDK on mobile. Goodspeed wires Stripe into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every Stripe build
Every app Goodspeed generates with Stripe includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| initStripe() with publishable key from gasConfig.backend.stripe called on app boot, guarded by marketplace feature flag | initStripe() with publishable key from gasConfig.backend.stripe called on app boot, guarded by marketplace feature flag | 01 |
| presentPaymentSheet() wrapping both initPaymentSheet and presentPaymentSheet with full error surface for checkout UI | presentPaymentSheet() wrapping both initPaymentSheet and presentPaymentSheet with full error surface for checkout UI | 02 |
| Client secret fetched from a Supabase Edge Function so the secret key stays server-side at all times | Client secret fetched from a Supabase Edge Function so the secret key stays server-side at all times | 03 |
| Sentry breadcrumb and PostHog event recorded on every payment attempt and completion | Sentry breadcrumb and PostHog event recorded on every payment attempt and completion | 04 |
| Webhook handler Edge Function processes Stripe subscription lifecycle events and writes updates to the users table | Webhook handler Edge Function processes Stripe subscription lifecycle events and writes updates to the users table | 05 |
Source: gas-template repository · payments/marketplace
REAL GENERATED CODE
A snippet from a Stripe integration the pipeline ships
This pattern comes directly from the gas-template codebase. The studio generates Stripe integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
Payment sheet
// lib/stripe.ts export async function presentPaymentSheet( clientSecret: string, ): Promise<{ error?: string }> { const { error: initError } = await StripeModule.initPaymentSheet({ paymentIntentClientSecret: clientSecret, merchantDisplayName: gasConfig.app.name, }); if (initError) return { error: initError.message }; const { error } = await StripeModule.presentPaymentSheet(); return error ? { error: error.message } : {}; }
Today's log
APPS THAT USE STRIPE
Where this integration ships
These app types include Stripe as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Marketplace App appMarketplace apps require buyer and seller flows, search with filters, secure checkout, and the kind of review system that builds trust over time. Goodspeed generates all four, wired together on SupabaMARKETPLACE APP
- Build a Booking App appBooking apps need real-time availability, conflict detection, and a checkout that handles deposits and reminders. Goodspeed generates a complete booking system for service providers: calendar sync, StBOOKING APP
- Build a On-Demand Service appOn-demand service apps require two-sided logistics: customer booking, provider dispatch, live location sharing, and payment settlement. Goodspeed generates all four sides as a native React Native app ON-DEMAND SERVICE APP