Stripe enables you to set up payments for your application, allowing you to charge users for access or premium features. Our integration streamlines the setup process in minutes, providing:
  • Create a payment account in Create with Stripe
  • Add essential Stripe functions and components for payment and checkout flows
  • Enable user subscriptions to your application
  • Track subscription status in your user accounts database
  • Control feature access based on subscription status
This integration is designed for Stripe subscriptions (users pay $X per month for a paid tier, similar to Create Pro).Other payment methods (one-time payments or tips) are not officially supported yet. You can customize the Stripe elements the integration adds.

Prerequisites

A Create project with User Accounts enabled

User flow

Here’s the complete user journey once configured:
  1. User visits your landing page
  2. User signs in with User Accounts
  3. User encounters:
    • Free tier application with paid upgrade options, OR
    • Payment requirement for initial access
  4. User proceeds through the upgrade flow:
    • Redirected to Stripe checkout
    • Completes payment details in Stripe’s secure interface
  5. User completes payment:
    • Redirected back to your application after subscribing
    • User marked as active subscriber in the users database
    • Gains access to premium features
  6. User cancels subscription:
    • User marked as inactive subscriber in your user accounts database
    • Premium feature access removed
After a customer subscribes, you can manage them manually from your Stripe dashboard.

Create a Stripe account

1

Visit Create Dashboard -> Accept Payments

Accept Payments
2

Complete Stripe Onboarding

Create partners with Stripe to securely store your business information.Click ‘Add information’ to begin. A Stripe popup will appear requesting email and password.
Have an existing Stripe account? Use that email to reuse your business information and save time.
Follow these steps to complete Stripe’s secure onboarding:
  1. Account
    • Enter your email
    • Create a Stripe password
  2. Personal information
    • Full legal name
    • Date of birth
    • Phone number
    • Home address
  3. Business details
    • Business name and type
    • Business address
    • Industry and website
  4. Tax Information
    • SSN or EIN
    • Tax ID verification
  5. Bank Account (for payouts)
    • Account number
    • Routing number
    • Bank verification
3

Verify Email

Check your inbox for a verification email from Stripe and click the link to verify your email.
4

Confirm Stripe Dashboard Access

Once you’ve verified your email, you’ll see your business information and a “View Stripe Dashboard” button in the ‘Accept Payments’ section of the dashboard.Your Stripe dashboard is used to manually manage subscription products, prices, and customers. You’ll copy keys (STRIPE_PRICE_ID and STRIPE_WEBHOOK_SECRET) from here to Create.
We’re working on automated updates from Create to your connected Stripe account when you make requests to the assistant.For now, you’ll need to return to the Stripe dashboard to make manual changes to your products, prices, and customers when you modify your Create application.

Add Stripe to your project

Before you begin, ensure you have:
  • A Create project where you want to add subscriptions
  • User Accounts enabled in the project
You’ll complete these steps:
  • Use our integration to add the necessary checkout elements (functions and components)
  • Set up the product, price, and webhook in your Stripe account in Test Mode
  • Add keys from your Stripe account to the functions in Create
  • Customize the appearance of the added components in Create
  • Prompt Create to add the components to the appropriate locations in your application
  • Publish your application
  • Test your application flow in the published version
Once everything looks correct:
  • Repeat the Stripe setup steps in Live Mode
  • Copy new keys to Create
  • Publish again and launch your application

Add Stripe integration to Create project

1

Go to Project

2

Press / in the chat

3

Select 'Stripe - Subscriptions'

Prompt “Add Stripe - Subscriptions to this project. [other details of your subscription]”
4

Send message

Create will automatically add the integration elements to your project
5

View Project Selector

Verify that the Stripe elements appear in your project selector

Added Stripe elements

When you use the integration, Create adds 4 elements to your project to help build checkout flows and track user status. This function generates a Stripe checkout URL for your product/subscription.
  • Redirects users to Stripe’s hosted checkout page
  • Requires the STRIPE_PRICE_ID as a secret key from your Stripe account
You won’t need to modify this beyond adding your STRIPE_PRICE_ID.
Learn how to get your STRIPE_PRICE_ID in the Create product, price, and get STRIPE_PRICE_ID section below.

Subscription Upsell

This component provides an upsell UI that redirects users to Stripe for checkout. Customizable as a button or link, it uses the Stripe Checkout Link function to redirect to Stripe on click.
  • Customize its appearance
  • Add to the appropriate pages in your application
  • Redirects users to Stripe when they tap “subscribe”
You can style this component and add it to the right locations in your application. Prompt examples In the component chat:
Style this upsell to look like the rest of the app: [screenshot]. Call out that Pro is $10/month and say it gives you unlimited generations.
In another page:
Use /[Subscription Upsell] in the dashboard if the user is not subscribed.

Stripe Webhook

This function listens for successful payments and subscription updates. It logs the user’s subscription status in your user accounts database.
  • Automatically updates user payment status
  • Manages subscription lifecycle in your database
  • Requires the STRIPE_WEBHOOK_SECRET as a secret key from your Stripe account
You won’t need to modify this beyond adding your STRIPE_WEBHOOK_SECRET as a secret.
Learn how to get your STRIPE_WEBHOOK_SECRET in the Add Stripe webhook and STRIPE_WEBHOOK_SECRET section below.

useIsSubscribed

Component that handles checking the signed-in user’s subscription status. You can use it to gate features and access for paid members.
  • Shows/hides content based on subscription status
  • Checks subscription status for the current user in your users database
  • Shows the Subscription Upsell if the user isn’t subscribed
You can use this component when describing content you only want paid users to see, and Create will include it to gate access. Prompt examples
Use /[useIsSubscribed] to only show the /[Subscription Upsell] for free users. Hide it for paid users."
If the user is subscribed, show the extra content for pro members with /[useIsSubscribed]"

Set up your Stripe product

You’ll create a product and price in Stripe for your subscription. You’ll copy the STRIPE_PRICE_ID from Stripe to use in your Create application.

Create product, price, and get STRIPE_PRICE_ID

1

Access your Stripe Dashboard

create.xyz/dashboard -> Accept Payments -> View Stripe Dashboard
2

Go to Product catalog

3

+ Create product

4

Add Product details

Name and description.Under Pricing, select “Recurring” and add a price per month.
5

Go to the product

6

Go to the price

7

Copy the price ID from top right corner

Copy this ID. You’ll set it in your Create application as STRIPE_PRICE_ID.
8

Go to Create project

9

Select Stripe Checkout Link function

10

Go to [3 dots menu](/builder/controls#3-dot-menu) > Secrets

11

Add STRIPE_PRICE_ID as a secret

Add STRIPE_PRICE_ID as the name. Add the price ID you copied from Stripe as the value.

Add Stripe webhook and get STRIPE_WEBHOOK_SECRET

1

Go to Create project

Navigate to your Create project
2

Copy the project id from the URL in the builder

3

Create webhook URL

You’ll now create a webhook URL in this format: <project-groupid>.created.app/api/stripe-webhookSo the final URL here is: 326163b8-7363-489e-9def-13d8717f6ce6.created.app/api/stripe-webhook
4

Access Stripe Dashboard

Go to Stripe dashboard: create.xyz/dashboard -> Accept Payments -> View Stripe Dashboard
5

Create Event Destination

Search “Create an event destination” in the search bar
6

Select Event

Search for customer.subscription.updated as the event. Check it.
7

Choose Webhook

Choose Webhook
8

Set Endpoint URL

For Endpoint URL put in your webhook URL in the format above
9

Get Secret

After it’s created hit reveal secret
10

Copy Secret

Copy the webhook secret
11

Select Stripe Webhook function in Create

Go to your Create project > Stripe Webhook function
12

Access Secrets

Go to 3 dots menu > Secrets > Add a Secret
13

Add Secret

Add STRIPE_WEBHOOK_SECRET as the name. For the value, paste in the secret you copied from Stripe.

Configure the payment flow

You can now build:
  1. How your users pay you
  2. What happens before and after payment
You can add the Subscription Upsell and useIsSubscribed components to other parts of your application the same as other components.Press / in the chat > Components > [name]. Then describe how you want to use it.
1

Style the Subscription Upsell

Tap on the Subscription Upsell component.Prompt Create to make it look how you want.Before styling:After styling with prompts:
2

Add Subscription Upsell

Add the Subscription Upsell component where you want to show users your upgrade options.Use / to add it in the chat.
3

Use the useIsSubscribed to gate features

Prompt Create to use this component when you want to control access to features based on the user’s subscription status.Use / to add it in the chat.For example, “Use /[useIsSubscribed] If the user is free, then show them the [Subscription Upsell]. If they’ve paid, then show them the paid content”
4

Publish your application

When you publish, ensure you toggle your Stripe Checkout Link function and Stripe Webhook function to on.Do not change the function routes. They should be /api/stripe-checkout-link and /api/stripe-webhook for your components and webhooks to work properly.
5

Test your application

Run through your flow in your published application. You can use Stripe Test Data to make a test purchase.
  1. Verify that clicking the button in the Subscription Upsell redirects you to Stripe
  2. The Stripe integration is set up in test mode. You can pay for products using test cards (e.g., 4242 4242 4242 4242), but no real transactions will occur.
  3. Check your users database to confirm the signed-in user is marked as subscribed
You can find your Users Database for your project quickly by:
  • Tap on the Sign In page in the builder > in the panel on the left > tap database
  • You should see that the user you signed in with is marked as “active” in the subscription status column
  1. After the user is subscribed, ensure the appropriate content is shown to them.
If you’re not seeing the right content shown to free vs. paid users, use the useIsSubscribed component.
You can use a real card to test the flow. If needed, you can refund the payment from your Stripe dashboard.