Implementing custom payment processors for Open edX ecommerce
Ever since edX announced the plan to develop a new ecommerce service to replace the original shopping cart that came in cypress and earlier named releases of the open edX platform, there has been a lot of interest in this feature.
Adding an e-commerce service working along your open edX site, is the way to allow learners to pay for upgrading to a verified course track, or to enroll in paid closed courses. But, there is a substantial amount of configuration needed before getting the e-commerce service to run on an open edX instance. This article will cover the basics of such process.
To complete the process of installing you must do the following:
- Get the edx e-commerce project code here.
- Install all requirements and project dependencies.
- Configure your open edx installation so that both platforms can connect.
For a more detailed documentation, please read the official installation notes.
Once the activation and configuration of e-commerce is completed the next step is to configure the payment processors that will be used to actually collect the payments.
What payment processors are available with edx e-commerce?
In the current latest open edX named release (Eucalyptus), edx e-commerce supports two payment processors out of the box: Cybersource and Paypal. Both processors are widely known, have a significant worldwide presence and support many features.
Cybersource is a payment management company providing a complete portfolio of services that simplify and automate payment operations. Customers use CyberSource solutions to process online payments, streamline fraud management, and simplify payment security.
To find out more about cybersource from the technical standpoint, check out this link.
PayPal gives people and business ways to manage and move their money, offering them choice and flexibility in how they are able to send money, pay or get paid. PayPal operates an open, secure and technology agnostic payments platform that businesses use to securely transact with their customers online, in stores and increasingly on mobile devices.
To find out more about the technical aspects of the paypal integration, check out this link.
How to activate a payment processor in open edX?
In order to complete this task, you have to configure a setting variable called PAYMENT_PROCESSOR_CONFIG inside the e-commerce service. There resides a set of required data to turn on any payment processor. The values you will need to set there will be mostly related to the accounts or profiles previously created for a given processor.
What if I need to add a some custom payment processors for open edx?
You may be needing to support a different payment processor, such as stripe, due, Flagship Merchant Services, Payline Data, Square, Adyen, Payu, Amazon payments, Cayan, or any other; depending on the geographic location you intend to market your courses to, or the specific technical features you are looking for in terms of payments.
It is definitely possible to add support for a new payment processor for your open edX instance.
In order to do so, your implementation has to comply with certain business rules. Speaking strictly in terms of the code’s architecture, edx e-commerce has an extensible way of adding new payments processors.
At eduNEXT we have recently integrated open edX with PayU, an online payments company that belongs to the Naspers group, and with operation in several countries across the world, including, Argentina, Brazil, Chile, Colombia, Czech Republic, Hungary, India, Mexico, Nigeria, Panama, Peru, Poland, Romania, Russia, South Africa, and Turkey.
The integration of this payment processor to open edX basically includes the following steps:
- Create a class or module to abstract all the logic for the PayU processor. This class implements all required methods to be a valid processor.
- Create the logic in charge of handling the payment processor response or responses (this can vary from one processor to another).
- Configure the new payment processor on PAYMENT_PROCESSOR_CONFIG.
- Activate the new payment processor in the e-commerce database.
If you are in need of activating PayU, or a custom payment processor for an open edX site, or have any comments, or suggestions on these subject, please contact us at eduNEXT, we are a company that specializes in open edX development and open edX cloud services.