What problem does it solve? Adding payments to a marketing site requires coordinating Stripe keys, webhook signature verification, Firebase secrets, IAM roles, and fulfillment logic — a multi-service setup that is easy to misconfigure. This Skill walks through the entire integration end-to-end, from storing secrets to testing against the Stripe sandbox. ## Core Features & Use Cases - Two checkout shapes: hosted Stripe Checkout redirect or an embedded Payment Element rendered on your own page with @stripe/react-stripe-js. - Four fulfillment modes: RS256 JWT entitlement tokens for desktop-app licensing, receipt emails via Resend, time-limited signed download URLs for private files, or Stripe's own receipt only. - Order recovery endpoint: OTP-verified self-serve flow so customers who lost a license or download link can recover it by proving ownership of their purchase email, with optional reCAPTCHA Enterprise App Check gating. - Use Case: You sell a Mac app with monthly, annual, and lifetime plans. The Skill scaffolds a hosted Checkout function, a webhook that signs JWT entitlement tokens on checkout.session.completed, and a recovery endpoint — then verifies everything locally with the Firebase emulator and Stripe CLI before deploying. ## Quick Start Set up Stripe payments on my site using Firebase Functions with hosted checkout and a receipt email sent after each purchase.