Integrating Wordpress and the Open edX platform as an alternative to e-commerce
Meta
Time: April 28, 2022 at 1:00pm, Room -112
Presenter: Andres Gonzalvez, Aulaseo (Argentina)
Talk
Motivations
Business case for learner certificates
Support for more payment gateways
More regulations
More providers
Support for bank transfers (more popular in Latin America)
Multiple payment gateway offerings depending on country and currency
Multitenancy
Design flexibility & better integration with marketing site
Course bundling, discounts, coupons, special offers
Selling other products & services (books, etc.)
Deprecation of ecommerce
Why is ecommerce difficult?
A lot of business logic due to payment rules
Architecture
Wordpress + Woocommerce
Amazon API Gateway + Lambda Functions
Open edX Installation
Setup
Enable REST API client and create products in Wordpress
Add OAuth2 in LMS
Requires adding Bulk Enrollment in API
Example Cases
Happy Path: Woocommerce New Order Webhook → Woocommerce REST API to LMS to Enroll → Woocommerce Order Complete Webook
Woocommerce New Order Webhook
Woocommerce sends JSON that includes user email, SKU, and course id
Woocommerce REST API to LMS to Enroll
Uses GitHub - aulasneo/openedx-rest-api-client
Simplified version of Opencraft’s openedx_client
list_all_courses
andchange_enrollment
Woocommerce REST API (polls?) LMS for Status Update
Manual Payment Confirmation: Send confirmation link to institution that will confirm payment has arrived in institution’s bank account (1 email per transaction). Add AWS RDS & SES.
Multisite/Multi-LMS. Can support multiple Woocommerce & Open edX installations to route requests using Amazon API Gateway.
Also integrated with AWS CloudWatch for logs, AWS Secrets Manager, and the AulasNeo Panorama frontend
Future
Improve REST API client to support more functions that is lightweight.
Manage cancellations and refunds
Dynamic product configuration from courses status (enrollment quotas, dates, course title, code descriptions, and image, student progress)
Sell upgrades (course modes), not only enrollments
Programs with complex course interdependencies
Subscriptions
Develop a framework to easily connect any ecommerce application to any Open edX installation
Audience Questions
Florian Haas, Cleura: Woocommerce custom line items for people purchasing for others. Also uses Shopify. Does not use AWS, uses a simple Django project instead.
Andres: Does not have a user in Wordpress.
Audience member: Uses Ecommerce - wonders how coupons work.
Andres: Woocommerce supports coupons.
Audience member: Common problem is incorrect emails. Purchaser email not the same as user email.
Andrews: Syncing Woocommerce and Open edX (e.g. disabled users) can be tricky