How to receive course payments
With course pricing plans, you can receive payments via students’ accounts, update payment statuses manually, or add a payment widget to your website.
In this article, we will talk about how to create pricing plans, receive payments on your site, and enable users to quickly sign up for your course.
How to enable course payments
Course payments rely on pricing plans — they allow students to decide on their preferred price and access to content or instructor feedback.
Every course must have at least one active pricing plan. By default, all courses have a free plan.
Multiple plans help you test which option works best and adjust your pricing based on demand. In SendPulse, you can edit, add, disable, and remove plans as needed.
Read more: How to manage course pricing plans.
Add a pricing plan
Go to the Settings tab > Pricing plans. Click Add pricing plan and set up your plan in the following fields:
Name | Add a pricing plan name that will be visible to instructors and students. |
Payment system and price |
Choose a connected payment method. Set a course price using your selected currency. You can view and add payment methods in Account settings > Accept payments. Read more: Accept Payments. In the Payment redirection URL field, paste the links to pages shown after successful and unsuccessful payments. Students will be redirected to these pages from the payment system. |
Course format |
Select a course format: Open-ended — students can take your course anytime. Specific dates — students can only take your course during a specific timeframe. Set the start and end date and time of your course. Select a time zone. Students will not be able to access your lessons and tests before and after these dates. Before your course starts, students will only see its description and program. Scheduled course openings and closings will appear in the Calendar tab of instructor and student accounts. |
Time limit to complete the course |
Select a course completion limit: No limits — students have unlimited time to complete their course. Limit in days — students have a fixed number of days to complete their course. If you select this option, add the number of days during which students should complete their course from the moment of registration. The real-time countdown starts when a student enrolls in your course (for new students) or right after you save these settings (for existing students). You can limit students’ course access time from 1 to 999 calendar days. |
Student tags | Select a student tag you’ve previously created in the CRM section and other courses. |
Student group | Select a student group in this course that will be assigned to your student once they pay. |
CRM pipeline | Select a pipeline, stage, and assigned team member to create deals after student payments. |
Deal name | Add a deal name. You can set a name for all course-related deals or a dynamic one using your linked variables: {course_name} , {date} , {time} , {first_name} , {last_name} . |
Team member assigned to the student | Assign an instructor to students without creating a group. |
Click Add.
Your course can end sooner than students’ course completion time if your course end date precedes the given course completion end date.
To make a pricing plan available to students, turn on its toggle.
Courses created before May 28, 2025, cannot be changed to free or paid once activated.
Customize course access settings
Give students access to course content based on their pricing plan. Extra features in higher-tier plans will encourage students to upgrade. To give you an idea, you can offer personalized support or exclusive content on your premium plan.
In the Course access tab, set content access rights in each pricing plan.
Student account | Students will have access to the Question* tab, where they can view answers to their questions about your course. However, they will not be able to ask questions within individual lessons.
This setup allows you to offer personalized support exclusively within paid pricing plans. |
Course content | Students will have access to all course sections, lessons, tests, and certificates. |
*If a student asks questions but later switches to a pricing plan without this feature, they can still view their previous questions and instructors’ answers in the Questions tab. However, they won’t be able to ask new questions.
Click Save.
How to add a payment widget to a website
Choose or create a course page
You can edit an existing registration page or create a new one.
In the Courses section, go to the necessary course, click the arrow in the upper right corner, and select Edit website.
To add a new page, go to the Websites section, find the necessary course website, and click Add page.
Also, here you can edit an existing course page, click the three dots icon next to its name, and select Edit.
Add a payment widget
In the Widgets section, select Payment. Place the widget, for example, right after your course program.
Customize your payment buttons
In the Product field, select Courses.
In the next field, select a pricing plan for which you want to receive payments from the drop-down list.
You can select paid pricing plans with any domain from your current account. Available pricing and payment methods match your plan settings.
You can also change your course pricing plan settings.
Customize your form fields — all of them will be required.
Read more: How to add a payment system to your website.
How to generate a payment link in the CRM system
You can create course payment links in contact cards or deals and share them with students. Once a user clicks your link, they will see a payment form with the payment method you selected.
Go to the CRM section, and open a deal or contact. Go to the Payments tab, and click Create payment. In the Payment type field, select Payment EDU. Enter a description, add contacts, select a payment method, and enter a payment amount.
Once a student completes their payment, they will receive an email with access to their account, where they can take your course.
Read more: How to generate a payment link in the CRM system.
How to add a payment gateway to your pop-up
You can also allow students to pay for your course right in your pop-up and add this widget to your website. Go to the pop-up builder, and select the Courses element.
In the left panel, turn on the Enroll users in a paid course toggle, and select a paid course in the List of courses field. Set up a payment method, add promo code, and select where to save the data in the CRM system.
Read more: How to enroll students in a course via a pop-up.
Other payment options
There are other ways to enroll paying students in a course besides payments through your academy website.
Confirm payments manually
Suppose a student pays for your course in cash or by bank transfer. In this case, you can manually update their profile and confirm their payment. Then, the student will get access to your course.
Go to your course > Students. Find the student whose payment you’d like to confirm, click the three dots, and select Confirm payment.
Using Automation
You can use SendPulse Automation to automatically enroll students in your course once they pay for it.
Create a flow in Automation. Add the Action: Mark as paid element. Once you receive a student's payment, they will automatically get access to your course.
Using a chatbot
You can also accept payments and enroll students through messaging apps like Instagram, Facebook, or WhatsApp.
In your chatbot flow, add the Message element with the Payment button. Then, add the Action: Enroll in the course element.
How students can pay online
When a user clicks the button, a modal window with a form will open. The personal information they specify will be saved to their CRM contact card and student’s card in Courses that will be created after they click the button.
When the user fills out all the required fields and clicks the button at the bottom of your form, they will be redirected to your payment page, where they can enter their card details and pay for your course.
When users successfully pay for your course, they receive the login and password to their student account to the email address they specified in your form.
If the user filled in your form fields, clicked the button, and did not pay for your course, they will receive an email notification with a link to the payment page.
Once a student successfully pays for your course, they will get access to it for the time specified in the settings. If they repurchase your course, their access to it will be renewed.
How to view a payment status
Instructors can monitor students’ payment statuses (Paid
or Not paid
) and pricing plan. To do this, hover over the dollar sign next to a student's name.
You can learn more in Statistics > Payments. Select a timeframe, and you'll see a graph along with payment details below. These details include student names, course names and links, amounts, currencies, payment methods, applied promo codes and discounts, dates of last status changes, and current payment statuses.
Read also: How to view payment information.
How to send a successful payment webhook
You can also send webhooks to your system notifying that the users have successfully paid for your products.
Go to Account Settings in the API tab. Under the Successful payment webhooks section, click Create Webhook.
Paste the URL you want to send the event to.
You can check the webhook structure and example in the Payment webhooks section.
Last Updated: 03.06.2025
or