When invoice payment is succeeded in Stripe, Create a new user in WordPress and enroll that user for a course in MasterStudy LMS
When a Stripe invoice is paid, this workflow creates a WordPress user for the payer and enrolls that new account in a MasterStudy LMS course, so students who pay by invoice can start learning on your site.
Stripe
WordPress
Master Study3 steps Setup ~5 min Used on 3.2k sites Free to import

What this workflow does
Selling a course through Stripe invoices leaves a gap: the payment lands in Stripe, but the student has no account on your WordPress site and no access to the lessons. Closing that gap by hand means creating the user and enrolling them each time an invoice is paid. This workflow does both steps for you.
Each successful payment on a Stripe invoice starts a run. FlowMattic then runs New User in WordPress, where you map the payer's details from the invoice to create the account. The last step is Enroll user to course in MasterStudy LMS, which takes the account the previous step returns and enrolls it in the course you choose.
Invoice events don't always carry the payer's email or name, so check a test run first. Stripe also raises this event for every paid invoice, including later payments on a subscription. For a returning payer, WordPress creates no second account; the New User step returns their existing user ID, and the MasterStudy step receives that ID for the enrollment.
Cohort courses billed by invoice
A coding bootcamp sends each student a Stripe invoice for the next cohort. Paying it gives the student a WordPress login and a seat in the MasterStudy course.
Corporate training paid by finance teams
A compliance trainer invoices companies per learner through Stripe. Once an invoice is settled, the named learner gets an account and is enrolled in the course.
One-off workshop recordings
A coach sells access to a recorded workshop as a MasterStudy course and bills it with Stripe invoices, so each paid invoice opens the course to that buyer.
How this workflow runs
What happens at each step once the workflow is on, and what you need before you import it.
Stripe Invoice Payment SucceededStarts a run each time Stripe reports a paid invoice. The invoice data becomes available to map, but it may name the customer only by Stripe ID, so check what a test run returns.
WordPress New UserCreates a new WordPress user from the invoice details you map, such as the payer's email and name. WordPress won't create a second account for an email address it already has; the step returns that user's ID instead.
Master Study Enroll user to courseEnrolls the user created in the previous step in the MasterStudy LMS course you pick. Map the new account from the New User step's result into this step, then confirm the enrollment with a test payment.
What you need
- FlowMatticCore
- Stripe AccountAccount
- Master Study PluginPlugin
After importing, map your own data. To keep the template universal, not every step is pre-filled. Open each step in the builder and connect your accounts and fields (channels, lists, sheets, recipients) before you switch the workflow on.
Make it yours
Changes worth making after you import it.
- If a test run shows no email for the payer, add Stripe's Find Customer by ID after the trigger and map the customer ID into it, then take the email and name for the WordPress step from its result.
- Add WordPress's Send Password Reset action after the New User step so the student gets a link to set their own password and can sign in to the course.
- If renewals of a subscription shouldn't run the account and enrollment steps again, add a Filter between the Stripe trigger and the WordPress step. Check a test run for an invoice field that tells a first invoice apart from a renewal, and continue only on first invoices.
Questions about this workflow
Which Stripe invoices start this workflow?
Every invoice whose payment attempt succeeds, whether it's a one-off invoice or a recurring payment on a subscription. Add a Filter between the Stripe trigger and the WordPress step if only some invoices should create accounts and enrollments.
What happens when someone who already has a WordPress account pays a Stripe invoice?
WordPress won't make a duplicate user for that email. The New User step returns the ID of their existing account, and the MasterStudy step tries to enroll that account. Task History shows each step's reply.
Can one paid invoice enroll the student in different courses?
As imported, every run enrolls in the single course you set in the MasterStudy step. For different courses per product, replace that step with a Router whose routes check the invoice and each enroll in their own course.
Does the student get a password for the new WordPress account?
The template doesn't send one. Add WordPress's Send Password Reset step after the account is created so the student receives a link to choose a password.
More Payments workflows
Other ready-to-import templates from the same category.
Import this workflow into your WordPress site
Download the JSON, import it from the Workflows screen and connect your accounts. Every run stays on your server, with no per-task fees.
30-day money-back guarantee Unlimited workflows and runs Self-hosted




