---
title: "Introducing Paid Pages"
description: "Learn how LaunchFa.st helps you create paid pages to prevent un-paid access."
source: "https://www.launchfa.st/features/paid-pages"
author: "Rishi Raj Jain"
created_at: 2024-03-14T19:00:00.000Z
---

> **Site index for agents**
> Fetch https://www.launchfa.st/llms.txt to discover every page on this site.
> Every page is also available as Markdown by appending `.md` to its URL.

LaunchFa.st comes with baked-in paid page(s) to help you **prevent un-paid users** access such pages. With the payment methods such as Stripe and Lemon Squeezy integrated in LaunchFa.st, such payment methods' callbacks can be used by your system to grant access only to the paid users to paid pages in your application.

Here's how easily you can create paid pages with LaunchFa.st:

- Create a file, say `paid.astro` with the following code:

```html
---
// File: src/pages/paid.astro

import redis from '@/lib/db/upstash'

const paid = await redis.hget('access', 'your-per-user-identifier')

if (paid !== 1) return webResponse('Unauthorized', 403, {})
---

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
  </head>
  <body class="font-display">
    <div class="relative mx-auto flex max-w-7xl flex-col px-8 sm:px-4 py-8">
      <h1 class="pb-6 text-3xl font-medium text-launchfast">Paid Content!</h1>
    </div>
  </body>
</html>
```

- That's it! The Upstash Redis instance integrated in the LaunchFast Starter Kit takes care of fetching the user paid status. If unauthorized, a 403 response is sent enforcing payment based access to the content.

Worry not, with LaunchFa.st you get such a page `paid.astro` built for you with goodies on top.
