Files
member-console/docs/stripe.md

2.7 KiB

Stripe

This guide covers connecting the member console to Stripe for payment processing. The member console is the source of truth for the product catalog — Stripe handles payment execution.

Prerequisites

  • A Stripe account (test mode is fine for initial setup)
  • The Stripe secret key (sk_test_... or sk_live_...)
  • A webhook endpoint signing secret (whsec_...)

Configuration

Flag Description
--stripe-api-key Stripe secret key
--stripe-api-key-file Path to file containing the API key
--stripe-webhook-secret Webhook endpoint signing secret
--stripe-webhook-secret-file Path to file containing the webhook secret
--stripe-account-id Stripe account ID (acct_...)
--stripe-mode test or live (controls dashboard link URLs)

All flags support _FILE variants for secret injection from mounted files.

Webhook endpoint

Register a webhook in the Stripe Dashboard pointing to:

https://<your-domain>/webhooks/stripe

Subscribe to these event types:

  • customer.created, customer.updated, customer.deleted
  • product.created, product.updated, product.deleted
  • price.created, price.updated
  • checkout.session.completed, checkout.session.expired
  • customer.subscription.created, customer.subscription.updated, customer.subscription.deleted
  • invoice.created, invoice.finalized, invoice.paid, invoice.payment_failed, invoice.voided
  • payment_method.attached, payment_method.detached

How it works

Products and prices created in the operator panel automatically sync to Stripe. When members subscribe via Stripe Checkout, Stripe handles the billing cycle. Webhooks project Stripe state (subscriptions, invoices, payments) back into the member console's core tables.

The operator panel shows sync status for each product and price — Synced, Pending, or Not Mapped — with deep links to the Stripe Dashboard.

Operator guidelines

Do in the member console

  • Create and manage products, prices, and entitlement sets
  • Monitor sync status in the operator panel
  • Create grants for admin-granted access (bypasses billing)

Do not do in Stripe

  • Do not create products or prices in the Stripe Dashboard. They will not be recognized by the member console.
  • Do not delete products or prices in Stripe. Deactivate them in the member console instead.
  • Do not modify subscription quantities or prices in Stripe. Changes should flow through the member console.

Acceptable in Stripe

  • View payment details, invoices, and customer records
  • Handle disputes and issue refunds (until member console tooling exists)
  • Configure tax settings, payment method types, and Stripe-level features the member console does not manage