JoomCourses supports multiple payment methods including PayPal, invoice requests, and cash payments. You can also disable payments entirely for free courses or external payment handling.
Payment Options Overview
| Payment Method | Description |
|---|---|
| Cash Payment | A built-in method for offline/cash payments |
| PayPal | Online payment via PayPal (plugin) |
| Request Invoice | Allows customers to request an invoice instead of paying online (plugin) |
| Disabled | No payment required — registration only |
Enabling or Disabling Payments
Disable All Payments
If your courses are free or you handle payments outside your website:
- Go to Components > JoomCourses > Configuration.
- Under General, set Disable Payment to Yes.
- The checkout will skip the payment step entirely. Users register and their application is created immediately.
Enable Cash Payment
- In Configuration > General, set Cash Payment to Yes.
- This adds a "Cash" option in the payment method selection during checkout.
- Cash payment applications are created with a "Pending" status until you manually change them to "Paid" in the admin.
PayPal Setup
The PayPal payment plugin allows customers to pay online through PayPal.
Enabling the Plugin
- Go to System > Plugins in the Joomla admin.
- Search for "JoomCourses - PayPal Payment".
- Click on the plugin to open its settings.
- Set Status to Enabled.
Configuring PayPal
In the plugin settings, configure:
| Setting | Description |
|---|---|
| Business Email | Your PayPal merchant email address (required) |
| Test Environment | Enable for PayPal Sandbox testing; disable for live payments |
| Enable Logging | Turn on transaction logging for troubleshooting |
| Message | Custom message shown to users before they are redirected to PayPal |
Testing with PayPal Sandbox
Before going live:
- Create a PayPal Sandbox account at developer.paypal.com.
- In the plugin settings, set Test Environment to Yes.
- Enter your Sandbox business email.
- Process test bookings to verify the payment flow.
- When everything works correctly, set Test Environment to No and enter your live PayPal business email.
How PayPal Payment Works
- The user fills out the checkout form and selects PayPal as the payment method.
- They are redirected to PayPal to complete payment.
- PayPal sends an Instant Payment Notification (IPN) back to your site.
- JoomCourses verifies the payment and automatically changes the application status to Paid.
- The user is redirected back to a "Thank You" page on your site.
If payment fails or is canceled:
- The user is redirected to a "Payment Failed" page.
- The application remains in Pending status.
Payment Logging
When logging is enabled, all PayPal transaction details are recorded. This is helpful for troubleshooting payment issues. Check the Joomla logs directory for payment log files.
Invoice Request Setup
The invoice request plugin allows customers to request an invoice instead of paying immediately. This is common for B2B or corporate bookings.
Enabling the Plugin
- Go to System > Plugins in the Joomla admin.
- Search for "JoomCourses - Request Invoice".
- Click to open the plugin settings.
- Set Status to Enabled.
Configuring Invoice Request
| Setting | Description |
|---|---|
| Message | Custom message shown to users who select invoice payment |
How Invoice Request Works
- The user selects "Request Invoice" as their payment method during checkout.
- The application is created with a Pending status.
- You receive the application in the admin and can generate an invoice through your accounting system.
- Once payment is received, manually change the application status to Paid.
Payment Processing Flow
The complete payment flow in JoomCourses:
- User browses courses and adds a course date to their cart.
- Checkout — User fills in their details and selects a payment method.
- Payment processing — Depending on the method:
- Cash: Application created as Pending. Admin manually confirms payment.
- PayPal: User redirected to PayPal. On success, status auto-changes to Paid.
- Invoice: Application created as Pending. Admin follows up with invoice.
- Disabled: Application created immediately with no payment step.
- Confirmation — User sees a success page. Confirmation email is sent (if configured).
- Admin review — Admin can view, manage, and update application statuses from the Applications list.
Multiple Payment Methods
When multiple payment methods are enabled, users see a selection of available methods during checkout. They choose their preferred method before completing the booking.
The available payment methods are determined by:
- Which payment plugins are installed and enabled
- Whether cash payment is enabled in the configuration
- Whether payments are disabled globally
Tips
- Start with Sandbox: Always test PayPal in sandbox mode before accepting real payments.
- Enable logging initially: Turn on PayPal logging when first setting up, then disable it once everything is working smoothly.
- Use invoice requests for corporate clients: Many organizations prefer to receive an invoice and pay by bank transfer.
- Monitor pending applications: Regularly check for applications stuck in "Pending" status, which may indicate payment issues.