by Lazy Sloth
Create Product using Stripe API
import os
from flask import Flask, jsonify, render_template_string, request
# Set the Stripe API key from environment variables
stripe_api_key = os.environ.get('STRIPE_API_KEY')
if not stripe_api_key:
raise ValueError("The STRIPE_API_KEY environment variable is not set.")
import stripe
stripe.api_key = stripe_api_key
app = Flask(__name__)
# HTML content for creating a product with a price
HTML_CONTENT = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Create a Stripe Product with Price</title>
</head>
<body>
Created: | Last Updated:
Introduction to the Stripe Product Creation Template
Welcome to the Stripe Product Creation Template! This template is designed to help you seamlessly create products and their associated prices using the Stripe API. It includes a Flask web service with an endpoint that facilitates the creation of a product and its price on Stripe based on the data submitted through a simple web form. This is an excellent tool for builders looking to integrate Stripe's payment processing capabilities into their applications without delving into the complexities of API calls and backend coding.
Getting Started
To begin using this template, click on "Start with this Template" in the Lazy builder interface. This will pre-populate the code in the Lazy Builder, so you won't need to copy or paste any code manually.
Initial Setup
Before you can test and use the app, you'll need to set up an environment secret for the Stripe API key. Here's how to do it:
- Log in to your Stripe account and navigate to the API section to find your API keys.
- Copy the secret key.
- In the Lazy Builder interface, go to the Environment Secrets tab.
- Create a new secret with the key
STRIPE_API_KEY
and paste your Stripe secret key as the value.
This step is crucial as the application uses the Stripe API key to authenticate requests to Stripe's servers.
Test: Pressing the Test Button
Once you have set up the environment secret, press the "Test" button in the Lazy builder. This will deploy your application and launch the Lazy CLI. No user input is required at this stage.
Using the App
After pressing the "Test" button, Lazy will provide you with a dedicated server link. Use this link to access the web interface for creating a Stripe product. The interface includes a form where you can enter the product name, description, price in cents, and currency. Once you submit the form, the backend will process the request and create the product and price in your Stripe account.
Integrating the App
If you wish to integrate this functionality into an existing service or frontend, you can use the provided server link as the endpoint for your product creation form. Ensure that the form data is sent to the /create_product
route as a POST request with JSON content.
Here's a sample request you might use in your external tool:
`POST /create_product HTTP/1.1
Host: [Your Lazy Server Link]
Content-Type: application/json
{
"name": "Sample Product",
"description": "This is a sample product",
"amount": 1000,
"currency": "usd"
}`
And a sample response you would receive:
{
"product_id": "prod_XXXXXXXXXXXXXX",
"price_id": "price_XXXXXXXXXXXXXX"
}
Remember to replace [Your Lazy Server Link]
with the actual link provided by Lazy after deployment.
By following these steps, you should now have a fully functional Stripe product creation tool at your disposal. Happy building!