Failed to enroll (using checkout) to a course as a user with student role


I have installed tutor version 3.12.4 on a google cloud VM.

I have the following plugins installed:

All the functionality on the site works fine.

However, the ecommerce module is not working correctly.

I have configured “stripe” as the only available payment processor. I am able to enroll into a course as “admin” user.

I see the following webpage view at url
Admin checkout

However enrolling as a student user, the i am incorrectly directed to the following webpage view for url
Student checkout

Also in both cases, ecommerce service fails to fetch course run information from discovery service and logs the following error:

discovery_1         | 2020-06-14 20:49:04,057 WARNING 15 [django.request] /openedx/venv/lib/python3.5/site-packages/django/core/han
dlers/ - Not Found: /api/v1/course_runs/course-v1:RedBench+TC1+2020_R1/
discovery_1         | 2020-06-14 20:49:04,057 WARNING 15 [django.request] /openedx/venv/lib/python3.5/site-packages/django/core/han
dlers/ - Not Found: /api/v1/course_runs/course-v1:RedBench+TC1+2020_R1/
discovery_1         | 2020-06-14 20:49:04,057 WARNING 15 [django.request] /openedx/venv/lib/python3.5/site-packages/django/core/han
dlers/ - Not Found: /api/v1/course_runs/course-v1:RedBench+TC1+2020_R1/
ecommerce_1         | 2020-06-14 20:49:04,061 ERROR 17 [ecommerce.extensions.basket.views] /openedx/ecommerce/ecommerce/extensions/
basket/ - Failed to retrieve data from Discovery Service for course [course-v1:RedBench+TC1+2020_R1].
ecommerce_1         | Traceback (most recent call last):
ecommerce_1         |   File "/openedx/ecommerce/ecommerce/extensions/basket/", line 168, in _get_course_data
ecommerce_1         |     course = get_course_info_from_catalog(, product)
ecommerce_1         |   File "/openedx/ecommerce/ecommerce/courses/", line 45, in get_course_info_from_catalog
ecommerce_1         |     course = api.course_runs(key).get(partner=partner_short_code)
ecommerce_1         |   File "/openedx/venv/local/lib/python2.7/site-packages/slumber/", line 155, in get
ecommerce_1         |     resp = self._request("GET", params=kwargs)
ecommerce_1         |   File "/openedx/venv/local/lib/python2.7/site-packages/slumber/", line 101, in _request
ecommerce_1         |     raise exception_class("Client Error %s: %s" % (resp.status_code, url), response=resp, content=resp.conten
ecommerce_1         | HttpNotFoundError: Client Error 404:

I will really appreciate any help in fixing this issue.

Thanks a bunch.

Hi! Can you try to upgrade to tutor v10+ (and also upgrade the ecommerce/discovery plugins) to see if this is resolved in the latest release?

Thanks @regis for the response. We just found the root cause for the issue. The flag “enable_client_side_checkout” was “true” only for “superuser”. I used the django admin UI for ecommerce site and enabled the flag true for “authenticated” users. With that change, I am able to enroll into a course in the “learner” role.

The only pending issue we have now involves discovery service returning a “404” during the checkout flow for url

Hi @andy-rb-dev,
I am struggling to make the ecommerce work. I have added paypal with below config in the tutor/config.yml file
- paypal
- paypal
cancel_checkout_path: /checkout/cancel-checkout/
client_id: valid_clientid
client_secret: valid_client_secret
error_url: /checkout/error/
mode: sandbox
receipt_url: /checkout/receipt/

I added a course and added it in course mode as honor, enabled one user as finance_admin. then from LMS, I updated fees and saved.
But when logs in as learner, it shows me the course and when I try to enrol in the course, it takes me back to the same course page.
I don’t see any error in the tutor logs so I am guessing probably I didn’t configure ecommerce properly.
Can you guide me in the right direction how to resolve this?