🔔 Don't miss out! Join the Open edX® Conference 2024! 🚀
🔔 Don't miss out! Join the Open edX® Conference 2024! 🚀 Whether you're an educator or an edtech contributor, transform education with us ✨ Learn more 👉
Custom E-commerce module for Open edX

Custom E-commerce module for Open edX® platform

Open edX is a very popular platform, offering a huge variety of individuals (instructors, authors and students) or entities (colleges and companies) means for efficient eLearning via MOOCs. However, every job must be paid and eLearning is no exception. With thousands of students learning from thousands of different locations, E-commerce is the only solution possible.

Table of Contents
Raccoon Tech Pathfinder, Raccoon Gang

The technical wizard navigating the digital forest, pioneering new technological horizons that keep Raccoon Gang at the forefront of innovation.

Custom E-commerce module for Open edX® platform

Let’s take a closer look on how E-commerce in Open edX works. What main functions should E-commerce module in any MOOC provide? Here is a short list of functions we expect from an E-commerce module:

  • Receiving payments via PayPal and/or credit cards
  • Adjusting course price (discounts)
  • Providing free or paid courses

Open edX platform has a built-in E-commerce module working with CyberSource payment platform, yet it is far from perfect. It allows accepting payments from credit/debit cards, issuing discounts and creating free courses. This module’s main flaw is that it does not work with PayPal.  However, additional Django Project E-Commerce external module is needed to accept PayPal payments – but this module cannot work with discounts.

How does the built-in open edX E-commerce module work?

First of all you should connect the CyberSource E-commerce module to your Admin panel (it is built-in, yet not activated by default), add a CyberSource account and provide all required CyberSource Client Data, namely:


After that, you should set up a paid course in Admin panel and select a Course mode for it. Yes, each course is set up separately… To finish setting up the E-commerce open edX module you should add an admin role to the course in the Admin panel. This should be either finance_admin or sales_admin. Both of these roles can accept payments.

How does Django Project E-Commerce external module work?

Django Project E-commerce module is a separate project that interacts with Open edX via API.
Its setup process differs quite a lot. You should install the DP E-commerce module, add the client account and specify all the details required. These are just the same as the abovementioned:


However, you can add Paypal Client Data at once, which consists of CLIENT_ID and SECRET_ID. Once this data is submitted, you proceed to turn off the Shopping Card in Open edX LMS, and setting up the DP module itself.

You should input Partner Configuration and Site Configuration data, input ID_COURSE of an already existing course, created with Open edX, and select the payment mode.

What kinds of courses can Django Project E-Commerce external module support?

Django Project E-Commerce allows providing such modes of access to courses:

  • Free course audit
  • Free courses  without a certificate
  • Paid courses with a certificate
  • Credited paid courses with a certificate

What does the payment look like?

From the customer’s side, the payment process is the following. If a student wants to enroll for a paid course, he or she is redirected to a payment page, where they submit their payment details and check the payment mode – via credit card or PayPal. Please note that the student should upload a photo-quality picture of their government-issued ID and confirm it with a short webcam session. This is done for verification purposes.

How does Raccoon Gang PayPal module work?

Raccoon Gang developed this alternative built-in solution for the sake of combining both payment methods in one module. It works similarly to the standard version, the only difference being that it cannot issue discounts. You should install it, create a CyberSource account, and specify PayPal Client Data (CLIENT_ID and SECRET_ID). The rest of the workflow is the same with setting up the built-in CyberSource module.

To process the data we utilize a function, which works with PayPal. The problem is that Open edX is built in such a way that  the payment mode is set with a parameter in Settings, and this parameter contacts the payment system back-end.


Therefore, if your customers require credit card payment possibility, you can use the built-in Open edX E-commerce module. If your customers prefer paying with PayPal – you can utilize PayPal module developed by Raccoon Gang. In case you need both credit card and PayPal payment methods – feel free to use the external Django Project CyberSource module (with the following 2 limitations – you can’t adjust the already specified course entity and you can’t issue discounts).

However, if you aim big, it’s best to do things the right way from the very beginning. It’s best to have your own marketing website, which connects to Open edX via API and allows monitoring all the enrolled students with ease – and Raccoon Gang can help you with that!

Want to know more about Open edX and why we believe it’s a great LMS technology? Check out our blog posts on the topic:

Back to Blog

Rate this article!

Average 0 / 5. Ratings: 0

No ratings yet. Be the first to rate.

Follow us on social media
Recommended Articles:
Schedule a Demo Schedule a Demo
Great 👍

We sent the document to the email you provided.
P.S.Check your email and mark our emails as important so you don't lose them in your Promotions folder”

    By clicking the “Send message”“Book a call” Button I confirm, that I have read and agree to the Privacy Policy