Ghost Stripe Integration: Complete Setup

Ghost connects directly to Stripe for paid memberships. Learn how to set up Stripe, configure tiers, handle taxes, and manage subscriber billing.

Direct Payment Without Middlemen

Ghost connects directly to Stripe for all membership payments. There is no Ghost payment layer, no platform fee, and no revenue share. Stripe processes the payment, deposits funds into your bank account, and charges its standard ~2.9% + $0.30 per transaction.

This is fundamentally different from Substack (10% platform fee), Patreon (5-12% fee), or Medium (algorithmic revenue sharing). With Ghost, you own the billing relationship with your subscribers.

Requirement: Paid memberships require Ghost(Pro) Publisher ($29/month) or higher. The Starter plan supports free members only.

How the Integration Works

Ghost’s Stripe integration is native — not a plugin or third-party connector. When you connect Stripe, Ghost:

  1. Creates Stripe Products for each membership tier
  2. Creates Stripe Prices for monthly and yearly billing options
  3. Uses Stripe Checkout for the payment flow
  4. Manages Stripe Subscriptions for recurring billing
  5. Handles Stripe Webhooks for real-time subscription status updates

All subscriber data syncs bidirectionally. A cancellation in Stripe reflects in Ghost. A tier change in Ghost updates Stripe. You can manage everything from Ghost Admin or the Stripe Dashboard.

Setting Up Stripe

Step 1: Create a Stripe Account

Go to stripe.com and create an account. Stripe is available in 46+ countries. You will need:

  • Business or personal information
  • Bank account for payouts
  • Tax identification (depending on your country)

Stripe account creation is free. You only pay processing fees when transactions occur.

Step 2: Connect Stripe to Ghost

  1. In Ghost Admin, go to Settings → Membership
  2. Click Connect to Stripe
  3. Authorize Ghost to access your Stripe account
  4. Select whether to use Stripe’s test mode or live mode

In test mode, you can simulate transactions without real payments. Use Stripe’s test card numbers (e.g., 4242 4242 4242 4242 for a successful payment) to verify the entire flow.

Step 3: Configure Your Currency

Stripe supports 135+ currencies. Choose the currency for your membership tiers in Ghost Admin. Once members are subscribed, changing the currency requires creating new tiers (existing subscriptions stay in the original currency).

Configuring Membership Tiers

Each tier in Ghost maps to a Stripe Product with associated Prices:

Creating a Tier

  1. Go to Settings → Membership → Tiers
  2. Click Add tier
  3. Configure:
    • Name: Displayed to members (e.g., “Premium”, “Founding Member”)
    • Monthly price: e.g., $7
    • Yearly price: e.g., $70 (offering a ~17% annual discount)
    • Description: Brief value proposition
    • Benefits: Bullet points shown on the pricing page
    • Welcome page: Custom URL after subscription

Ghost creates the corresponding Stripe Product and Prices automatically. You can verify in your Stripe Dashboard under Products.

Pricing Strategy

Common pricing approaches for Ghost publications:

StrategyMonthlyAnnualNotes
Entry$5$50Low barrier, volume-focused
Standard$7-10$70-100Sweet spot for most publications
Premium$15-25$150-250High-value niche content
Founding$25-50$250-500Supporters, limited availability

Annual plans reduce churn significantly. Most Ghost publishers offer a 15-20% discount for annual billing to incentivize longer commitments.

Multiple Tiers

Ghost supports up to 3 paid tiers on Publisher and 10 on Business. Multiple tiers let you:

  • Offer different content access levels
  • Create an upgrade path (basic → premium)
  • Offer a “founding member” tier at a higher price with the same content access (for supporters)

Stripe Tax Integration

Ghost supports Stripe Tax for automatic sales tax, VAT, and GST collection:

  1. Enable Stripe Tax in your Stripe Dashboard
  2. Configure your tax registration numbers
  3. Ghost automatically calculates and applies the correct tax rate based on the subscriber’s location

This is critical for publications with EU subscribers (VAT), Australian subscribers (GST), or US subscribers in states with digital goods tax. Without automatic tax handling, you are responsible for calculating and remitting taxes manually.

Managing Subscribers in Stripe

Your Stripe Dashboard provides subscriber management alongside Ghost Admin:

What You See in Stripe

  • Customer list: Every member with their email, subscription status, and payment history
  • Subscription details: Plan, billing cycle, next payment date, payment method
  • Invoices: Every charge with downloadable receipts
  • Revenue metrics: MRR, churn, new subscriptions

What You See in Ghost

  • Member list: All members (free and paid) with signup date, tier, and activity
  • Revenue dashboard: MRR, growth, conversion rates, top converting posts
  • Individual member: Email, tier, subscriptions, newsletter preferences, labels

Both dashboards show the same underlying data from different angles. Ghost focuses on content and publishing metrics. Stripe focuses on payment and billing details.

Handling Common Scenarios

Failed Payments

Stripe handles payment retries automatically. The default retry schedule:

  1. First retry: 3 days after failure
  2. Second retry: 5 days later
  3. Third retry: 7 days later
  4. After all retries fail: subscription marked as past due

You can customize retry behavior in Stripe’s billing settings. Ghost reflects the subscription status in real-time — a past-due member loses access to paid content until payment is resolved.

Refunds

Process refunds through the Stripe Dashboard:

  1. Find the charge in Stripe
  2. Click Refund
  3. Choose full or partial refund
  4. The member’s Ghost subscription is not automatically canceled — cancel it separately in Ghost Admin if needed

Member Cancellations

When a member cancels through their Ghost account page:

  • The subscription cancels at the end of the current billing period
  • The member retains access until the period ends
  • Ghost records the cancellation reason (if you have cancellation surveys enabled)
  • Stripe stops future charges

Coupons and Discounts

Create discount codes in the Stripe Dashboard and apply them to Ghost subscriptions:

  1. Create a coupon in Stripe (percentage off, fixed amount, or free trial)
  2. In Ghost Admin, create an Offer that uses the Stripe coupon
  3. Share the offer URL with your audience

Ghost Offers support:

  • Percentage discounts (e.g., 20% off first year)
  • Fixed amount discounts (e.g., $10 off)
  • Free trial periods (e.g., 14 days free)
  • Limited redemptions (e.g., first 100 subscribers)

One-Time Payments (Ghost 6.0)

Ghost 6.0 introduced one-time payments alongside recurring subscriptions:

  • Tips: Readers can send a one-time payment of any amount
  • One-time purchases: Set a fixed price for one-time access

These are processed through Stripe with the same 0% Ghost fee. One-time payments appear in your Stripe Dashboard alongside subscription revenue.

Security Considerations

Ghost’s Stripe integration follows security best practices:

  • No card data on your server: Stripe handles all payment information. Card numbers never touch Ghost’s servers.
  • PCI compliance: Stripe is PCI DSS Level 1 certified. By using Stripe, you inherit their compliance.
  • Webhook verification: Ghost validates Stripe webhook signatures to prevent spoofed events.
  • HTTPS required: All payment flows occur over encrypted connections.

Self-Hosted Stripe Setup

Self-hosted Ghost installations connect to Stripe the same way Ghost(Pro) does. The configuration lives in Ghost’s config file:

{
"stripe": {
"secretKey": "sk_live_...",
"publicKey": "pk_live_..."
}
}

Set up via Ghost Admin the same way — Settings → Membership → Connect to Stripe. The Stripe API keys are stored securely in Ghost’s database.

Make Membership Conversion Seamless

Your theme’s membership pages are the conversion point between free reader and paying subscriber. Professional membership pages with clear tier comparison and seamless Stripe Checkout integration convert significantly better than default Portal modals.

Luno Ghost theme sign-in page

Our themes include custom membership pages designed for conversion — branded sign-up, sign-in, and account pages that guide readers through the subscription flow. Starting at $69.

Browse Ghost themes →

For the complete membership setup process, see our Ghost membership guide.