Create Account with Stripe API

import os
import stripe
import uvicorn
import logging
from fastapi import FastAPI, HTTPException, Request
from starlette.responses import HTMLResponse, RedirectResponse
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel

app = FastAPI()

# CORS configuration
origins = ["*"]

# Set your secret key: remember to change this to your live secret key in production
# See your keys here:

About this template

This app template allows for the creation of Stripe accounts on the fly. It will automatically redirect the user to the Stripe page to provide their information. Once the user has provided their information, they will be returned to the return_url specified by the frontend. This app requires that Stripe Connect is set up and that the Stripe secret key is provided as an environment variable.

Introduction to the Create Account with Stripe API Template

Welcome to the Create Account with Stripe API Template! This template is designed to help you seamlessly integrate Stripe account creation into your application. With this template, you can automatically redirect users to Stripe's hosted account creation page, where they can provide their information. Once completed, users will be redirected back to your specified return URL. This process is made possible through the Stripe Connect platform, and it requires that you have your Stripe secret key ready.

Clicking Start with this Template

To begin using this template, simply click on the "Start with this Template" button. This will pre-populate the code in the Lazy Builder interface, so you won't need to copy, paste, or delete any code manually.

Initial Setup: Adding Environment Secrets

Before you can test and use the app, you'll need to set up an environment secret within the Lazy Builder. Specifically, you need to provide your Stripe secret key. Here's how to do it:

  • Log in to your Stripe dashboard and navigate to the API keys section.
  • Copy your secret key. Remember to use a test key for development and switch to a live key in production.
  • In the Lazy Builder, go to the Environment Secrets tab.
  • Create a new secret with the key STRIPE_SECRET_KEY and paste your Stripe secret key as the value.

With the secret key in place, your app will be able to communicate securely with Stripe's API.

Test: Pressing the Test Button

Once you've set up your environment secret, press the "Test" button. This will deploy your app using the Lazy CLI. If the app requires any user input, you will be prompted to provide it through the Lazy CLI interface.

Entering Input: Filling in User Input

If the template code requires user input, you will be prompted for it after pressing the "Test" button. Follow the instructions in the CLI to enter the necessary information.

Using the App

After deployment, Lazy will provide you with a dedicated server link to use the API. If you're using FastAPI, you will also receive a link to the API documentation. Use these links to interact with your app and test the Stripe account creation process.

Integrating the App

To integrate this app into your service or frontend, you will need to make a POST request to the backend endpoint provided by Lazy. Here's a sample JavaScript code snippet that you can use in your frontend application:

const create_account = async () => {
    const backend_url = 'YOUR_LAZY_BACKEND_URL/create_stripe_account'; // Replace with your Lazy backend URL
    const returnUrl = 'YOUR_RETURN_URL'; // Replace with your desired return URL
    try {
      const response = await fetch(backend_url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        body: JSON.stringify({
          refresh_url: backend_url,
          return_url: returnUrl,

      if (!response.ok) {
        throw new Error("Network response was not ok");
      const data = await response.json();
      window.location.href = data.url;
    } catch (error) {
      console.error("Error:", error);

Remember to replace YOUR_LAZY_BACKEND_URL with the URL provided by Lazy after deployment, and YOUR_RETURN_URL with the URL where you want users to be redirected after completing the Stripe account setup.

By following these steps, you should now have a fully functional integration with Stripe for account creation in your application. If you encounter any issues or have further questions, refer to the Stripe API documentation provided in the code or reach out for support.

Last published
July 20, 2024

More templates like this

Stripe API Testing

This application utilizes Flask for the backend and JavaScript with Stripe API for the frontend. It allows users to test various Stripe functionalities such as adding a card to a customer, creating a charge, and retrieving customer details. The backend interacts with the Stripe API using the stripe library, while the frontend provides a simple form for users to input their Stripe API secret and an optional customer ID. Upon submitting the form, the frontend sends a POST request to the backend, which then executes the specified tests and returns the results to be displayed on the page. Made by BaranDev[]


Connect Payout with Stripe API

This app uses the Stripe API to create payouts for Connect Stripe Accouts and allows users to modify the payout schedule. It includes a Flask web service with an endpoint for this purpose. The backend makes API calls to create a transfer of funds and update the payout schedule using the Stripe API and the submitted form data.


Create Product using Stripe API

This app uses the Stripe API to create a product with it's price. It includes a Flask web service with an endpoint for this purpose. The backend makes API calls to create a product and its price object using the Stripe API and the submitted form data.

Create Account with Stripe API