< Back

Custom WooCommerce checkout and integrations

Category:Work-experience
Tech:backendfrontendphpwoocommercewordpresswordpress plugins

Employer: LearningPlay AB

worked on multiple online courses that are required by the Swedish Work Enviroment Authority (Krav-utbildningar by Arbetsmiljöverket) – Fall Protection and Mobile Work Platforms (Lifts), there was a need to automate the process of buying licences so that the end-customer could buy a course and get access immediately. The LMS (Learning Management System) was LearnDash, a WordPress plugin, that was setup with WooCommerce to be able to use coupons and other payment methods that LearnDash itself didn’t support. Also the whole setup (WordPress/LearnDash) used another plugin to handle companies as sub-groups. This created the need to develop a custom checkout process with WooCommerce that would also integrate with LearnDash to create student accounts.


The checkout is a three-step process where you first create the student accounts that will go the selected course, the number of rows corresponds to the number of selected licences in the cart.

In the first step there is also a function that the customer can send all login details for the student accounts to a separate e-mail instead of sending to each student.

In step 2 there is the regular WooCommerce-form with customer details.

The last step (3) is the regular WooCommerce confirmation with the selection of payment method, here the payment method Invoice (Faktura) has been slightly modified with two extra optional fields for only that method if the customer wants to customize and send the invoice to a separate e-mail for example.

When the payment/order has been processed the student accounts are created from step 1 in a WooCommerce-hook and the student accounts are also connected to the correct course which has been bought in the checkout.

< Back