Documentation

Find documentation for our Joomla extensions on this page.

JoomCourses - Checkout and Cart

The cart and checkout system handles how users register for courses on your website. JoomCourses offers flexible checkout options including guest checkout, multi-step flows, and configurable registration forms.

Checkout Modes

JoomCourses supports two checkout layouts:

One-Step Checkout

Everything appears on a single page:

  1. Cart summary (items, quantities, prices)
  2. Coupon code input
  3. Login form (for guest users)
  4. Registration form (personal details)
  5. Additional attendees (if enabled)
  6. Payment method selection
  7. CAPTCHA (if enabled)
  8. Submit button

This is the fastest checkout experience for users.

Two-Step Checkout

The process is split across two steps:

Step 1:

  • Cart review with items and totals
  • Coupon code input
  • Login or guest checkout selection

Step 2:

  • Checkout method selection (registered vs. guest)
  • Personal details form
  • Additional attendees
  • Payment method selection
  • CAPTCHA
  • Submit

Users can navigate back and forth between steps.

Configuring Checkout Steps

  1. Go to Components > JoomCourses > Configuration.
  2. Under Cart, find Checkout Steps.
  3. Select 1-Step or 2-Step.
  4. Save the settings.

Guest Checkout

By default, users must have a Joomla account to book courses. Guest checkout allows unregistered visitors to book without creating an account first.

Enabling Guest Checkout

  1. Go to Configuration > Cart.
  2. Set Guest Checkout to Yes.
  3. Optionally, set Registered Users Can Guest Checkout to Yes if you want logged-in users to also have the option to checkout as guests.

How Guest Checkout Works

  1. The user adds a course to the cart.
  2. At checkout, they see two options: "I'm a registered user" or "I'm a guest".
  3. Guest users fill in their personal details (name, email, etc.) without needing to log in or register.
  4. After checkout, a JoomCourses contact record is created for the guest with their details.
  5. A guest confirmation email is sent (if configured) with instructions for accessing their booking.

Customizing Guest Checkout Fields

You can exclude certain custom fields from the guest checkout form:

  1. In Configuration > Registration, find Exclude Custom Fields for Guest Checkout.
  2. Select the custom fields that should not appear during guest checkout.

Registration Form Fields

The checkout form collects personal details from registrants. You can control which fields appear and whether they are required.

Configuring Fields

Go to Configuration > Registration to configure each field:

FieldOptions
Salutation Enable / Require / Enable for Guest
First Name Enable / Require
Last Name Enable / Require
Company Enable / Require
Phone Enable / Require
Address Enable / Require
City Enable / Require
Country Enable / Require
VAT Number Enable / Require
Identification Number Enable / Require
Website Enable / Require

Each field can be independently:

  • Enabled — Whether the field appears on the form
  • Required — Whether the user must fill it in
  • Guest enabled — Whether the field appears during guest checkout (for some fields)

Additional Attendees

For group bookings, users can enter names of additional attendees alongside their own details.

Enabling Additional Attendees

  1. Go to Configuration > Registration.
  2. Set Additional Attendees to Yes.
  3. During checkout, an "Additional Attendees" section appears where users can add names and details for each extra seat.

This is useful for:

  • Corporate bookings where one person registers for a team
  • Group discounts where one payment covers multiple people

Cart Features

Adding Items to Cart

On the frontend, users add course dates to their cart by clicking the Book Now button on a course listing or detail page. They can select:

  • The specific course date
  • The quantity (number of seats)

Cart Display

The cart shows:

  • Course name and date
  • Unit price (per attendee)
  • Quantity
  • Subtotal per item
  • Coupon discount (if applied)
  • VAT breakdown (if VAT display is enabled)
  • Total

Quantity Management

If the Quantity option is enabled in cart settings, users can adjust the number of seats in the cart before checkout.

To show or hide the quantity field:

  1. Go to Configuration > Cart.
  2. Set Quantity to Show or Hide.

Removing Items

Users can remove individual items from their cart by clicking the remove button next to each item.

Coupon Code

If Show Coupon is enabled in cart settings, a coupon code input field appears in the cart where users can enter and apply discount codes.

Login Form in Cart

You can display a login form in the cart for users who already have an account:

  1. Go to Configuration > Cart.
  2. Set Login Form to Show.
  3. Returning users can log in directly from the cart page instead of navigating away.

CAPTCHA

To prevent spam registrations, you can add CAPTCHA verification to the checkout:

  1. Go to Configuration > Cart.
  2. Under CAPTCHA, select a Joomla CAPTCHA plugin (e.g., reCAPTCHA).
  3. Make sure the selected CAPTCHA plugin is installed and configured in Joomla's plugin manager.

The CAPTCHA challenge will appear before the submit button during checkout.

Capacity Checking

When Check Capacity is enabled in the general configuration:

  • The system verifies available seats before allowing a booking to proceed.
  • If the requested quantity exceeds available capacity, the user sees an error message.
  • If the course date is completely full, users are offered the option to join the waiting list instead.

Cart Session

The shopping cart uses browser sessions to store items. This means:

  • Cart contents persist as the user browses your site.
  • Cart contents are lost if the user closes their browser or their session expires.
  • Each user has their own independent cart.

Tips

  • Use one-step checkout for the simplest user experience with few form fields.
  • Use two-step checkout when you have many form fields or want users to review their cart before entering details.
  • Enable guest checkout to reduce friction for first-time buyers.
  • Only require essential fields — the fewer fields required, the higher your conversion rate.
  • Enable CAPTCHA if you experience spam registrations.
  • Test your checkout flow regularly to ensure it works smoothly from the user's perspective.
Cron Job Starts

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok