What this workflow does
This workflow takes product info from a form and creates both a Stripe product and a payment link automatically.
The main problem it solves is saving time by removing manual product setup in Stripe and mistakes in price or currency.
The result is a live payment page ready instantly for customers to buy from.
How the workflow works
Input: A user fills a form with product title and price.
Processing: The workflow changes the price to cents, makes a new Stripe product via API, then generates a payment link linked to that product.
Output: The person submitting the form is redirected to the Stripe checkout page for that product.
Who should use this workflow
Anyone who sells digital products or courses and uses Stripe for payments.
It fits users who want to avoid repetitive, error-prone manual Stripe setup.
Tools and services used
- n8n: To automate workflow and handle webhook triggers.
- Stripe API: To create products and payment links.
- Form Trigger node: To capture product info from user input.
- Set node: To prepare and convert price data.
- HTTP Request nodes: To call Stripe’s API.
- Respond to Webhook node: To redirect user to Stripe payment page.
Beginner step-by-step: How to run this workflow in n8n
1. Import Workflow
- Download the workflow file using the Download button on this page.
- Open your n8n editor and choose “Import from File”.
- Select the workflow file you downloaded.
2. Configure Credentials
- Add Stripe API credentials in n8n using the Stripe credential type.
- Make sure your credentials have permission to create products and payment links.
3. Update Workflow Settings
- Check the Form Trigger node and confirm the path (like “my-form-id”) matches your setup.
- Change currency in the Set node if you want a currency besides EUR.
4. Test the Workflow
- Submit sample product data through the form URL generated by the Form Trigger node.
- Watch the execution inside n8n to confirm each node runs without errors.
5. Activate for Production
- Turn the workflow active in n8n.
- Make sure your n8n instance is publicly reachable through a URL or a tunnel.
If self hosting n8n, refer to self-host n8n for help.
Inputs and Outputs
Input: Product title (text) and price (number) from the form submission.
Process: Price converts to cents, Stripe product created with price and currency, then payment link made.
Output: Redirect URL leading directly to Stripe’s hosted payment page.
Edge cases and common errors
Error: “Invalid price parameter” means the price wasn’t converted to cents.
Fix by checking the Set node uses
{{$json.price * 100}}correctly.
Error: Webhook not triggering means your n8n instance URL or webhook path is wrong or unreachable.
Make sure your instance is public and the form path matches exactly.
Error: Payment link error shows if the price ID is not passed properly.
Confirm that the price ID is taken from the default_price field in Stripe product creation output.
Customization ideas
- Change currency code in the Set node to USD, GBP, or others.
- Add quantity as a form field to allow buyers to pick amount.
- Include metadata like product descriptions by adding extra form fields and passing them in the Stripe product creation node.
Summary of results
✓ Saves hours of manual work creating Stripe products and links.
✓ Reduces errors in pricing and currency.
✓ Provides instant Stripe payment page to customers.
→ Makes selling digital products faster and easier.
