Skip to content
Back to skills

Stripe Checkout Subscriptions

ASecurity

Guide for creating Stripe Checkout Sessions for subscriptions in Flutter/Supabase backend. Covers flows, API preferences, and non-negotiable rules.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentgoapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill stripe-checkout-subscriptions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stripe Checkout Subscriptions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stripe Checkout Subscriptions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-stripe-checkout-subscriptions/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-stripe-checkout-subscriptions)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stripe-checkout-subscriptions
description: Guide for creating Stripe Checkout Sessions for subscriptions in Flutter/Supabase backend. Covers flows, API preferences, and non-negotiable rules.
when_to_use: Use when creating Stripe Checkout Sessions, handling subscriptions, or integrating payments with Flutter client and Supabase.
scope: execution/backend/payments/
authority: high
alwaysApply: false
---

# Stripe Checkout Subscriptions

**Source of Truth:** All subscription states derive from Stripe Webhooks.

## Backend Flow
Client → Create Checkout Session → Stripe → Webhook → Supabase.

## Flutter Client
- Listen to `profiles` table in Supabase for status updates post-payment.
- Flutter app NEVER updates its own `is_premium` flag; it only reads backend-provided state.

## Implementation Rules (Non-Negotiable)
- Use Stripe Checkout Sessions API for one-time payments and subscriptions.
- Model taxes/discounts via Stripe.
- For recurring revenue (SaaS-like): Prefer Billing APIs + Stripe Checkout.
- Never use Charges API. Migrate to Checkout Sessions or Payment Intents if needed.
- For web: Prioritize Stripe-hosted Checkout or embedded Checkout. Payment Element OK for advanced customization (pair with Checkout Sessions).
- Never recommend legacy Card Element or Payment Element in card mode.
- Avoid deprecated Sources API or outdated Tokens/Charges. Use Setup Intent API for saving payment methods.
- For pre‑PaymentIntent rendering: Use Stripe Confirmation Tokens, not `createPaymentMethod`/`createToken`.
- Turn on dynamic payment methods in dashboard (don't hardcode `payment_method_types`).
- Default to latest API version: 2026-01-28.clover (unless user specifies otherwise).
- Use env vars: `STRIPE_SECRET_KEY`.

## Integration Resources
- Stripe Integration Options / API Tour docs.
- Go Live Checklist before production.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.