Fast Phoenix Docs
  • πŸš€What is Fast Phoenix?
  • 😍Main Features
  • πŸ’‘Changelog
  • Getting Started
    • ⏩Quickstart
    • 🌏Go Live!
  • 🌟Features
    • πŸ’³Stripe
    • πŸ“§Mailgun
    • πŸ“¨Premade Email Templates
    • πŸ“©Email Templates & Sending
    • 🏒Organizations
    • πŸ˜‡Admin
    • πŸ›¬Landing Page
    • πŸ³οΈβ€πŸŒˆThemes
    • πŸ”SEO
  • 🧱Components
    • Theme Selector
    • Testimonials
    • Call to Action
    • Faq's
    • Features
    • Header
    • Footer
    • Hero
    • Login/Register
    • Mobile Hero
    • Sidebar
    • Trust
    • Card
Powered by GitBook
On this page
  • Stripe Setup Tutorial
  • Extra:
  1. Features

Stripe

Stripe Setup Tutorial

Fast Phoenix integrates seamlessly with Stripe to handle subscriptions and payments. Follow these steps to configure Stripe for your project.


Step 1: Prepare Your Environment Variables

Fast Phoenix uses environment variables to manage Stripe configuration. Open your .env file and ensure the following variables are set:

# Stripe API Configuration
STRIPE_API_KEY=sk_test_your_stripe_api_key
STRIPE_SIGNING_SECRET=your_signing_secret
STRIPE_API_BASE_URL=http://localhost:4000

# Product and Pricing IDs
STRIPE_PRO_PRICE_ID=price_pro_id
STRIPE_PRO_PRICE=30
STRIPE_ENTERPRISE_PRICE_ID=price_enterprise_id
STRIPE_ENTERPRISE_PRICE=100

STRIPE_PORTAL_ID=portal_test_id

Replace the placeholder values with your actual Stripe credentials and product/pricing details.


Step 2: Create Products and Prices in Stripe

  1. Create Two Products

    • Pro Plan

      • Name: Pro

      • Price: $30

      • Billing: Monthly

    • Enterprise Plan

      • Name: Enterprise

      • Price: $100

      • Billing: Monthly

  2. Copy Product Price IDs After creating the products, navigate to the pricing details and copy the Price IDs for each product. Replace the STRIPE_PRO_PRICE_ID and STRIPE_ENTERPRISE_PRICE_ID values in your .env file with these IDs.


Step 3: Set Up Stripe Webhooks

Stripe uses webhooks to notify your application about important events like successful payments.

  1. Run Your Application Start your local development server:

    mix phx.server
  2. Forward Events to Your Application Use the Stripe CLI to forward webhook events to your local server:

    stripe listen --forward-to localhost:4000/webhook

    Copy the generated signing secret and update your .env file’s STRIPE_SIGNING_SECRET.

  3. Set Up Webhook Endpoint in Stripe For Prod

    • Navigate to the Webhooks section of the Stripe Dashboard.

    • Add a new endpoint pointing to https://your-domain.com/webhooks/stripe for production.


Step 4: Test Your Setup

  1. Test Subscription Creation Use Stripe's test card numbers (e.g., 4242 4242 4242 4242) to simulate subscriptions.


Step 5: Optional - Enable Customer Portal

  1. Copy the Customer Portal URL and save it in your .env as STRIPE_PORTAL_ID.


Extra:

We have written a stripe_helpers.ex module that creates checkout sessions for new subscribers and upgrading/downgrading subscribers, and a request helper function for hitting up Stripe's API. For example:

price_id = StripeHelpers.get_price_id(session_id)

# email being the logged in user.
case StripeHelpers.create_checkout_session(price_id, email) do
      {:ok, url} ->
        redirect(conn, external: url)
      {:error, reason} ->
        IO.inspect(reason)
        redirect(conn, to: "/")
      _ ->
        redirect(conn, to: "/")
    end

Your Stripe setup is now complete! You can start accepting payments, managing subscriptions, and leveraging Fast Phoenix’s built-in features to streamline your billing processes. πŸš€

PreviousGo Live!NextMailgun

Last updated 4 months ago

Log in to Stripe Dashboard Access your .

Install Stripe CLI Download and install the to set up webhook forwarding.

In the Stripe Dashboard, enable the .

🌟
πŸ’³
Stripe Dashboard
Stripe CLI
Customer Portal