Stripe ecommerce checkout errors

Would anyone be able to help me with implementing stripe as a payment processor on the ecommerce plugin. I am sure I must be missing something as I keep getting a “NotImplementedError”.

I have performed a fresh installation of tutor and the ecommerce plugin. I have then created a ecommerce-config.yml file as below:

stripe:
  publishable_key: pk_test_...
  secret_key: sk_test_...
  country: db

And installed it as so:
tutor config save --set “ECOMMERCE_PAYMENT_PROCESSORS=$(cat ecommerce-config.yml)” --set ‘ECOMMERCE_ENABLED_PAYMENT_PROCESSORS=[“stripe”]’ --set ‘ECOMMERCE_ENABLED_CLIENT_SIDE_PAYMENT_PROCESSORS=[“stripe”]’

I then run tutor local quickstart just in case.

Upon attempting to checkout as a student, clicking the checkout with Stripe button shows a “Could not submit order” error.

It appears that checkout is calling a function (get_transaction_parameters) in the stripe.py file that will always raise a NotImplementedError. See ecommerce log below.

Any assistance with fixing this would be greatly appreciated.

Further to this I have noticed that an XML HTTP Request is failing at checkout as a result of the CORS policy (See screenshot)

This appears to be preventing the course name being shown in the basket.

What’s more interesting is i have this working in Native EDX install but can’t get this running on Tutor. Any ideas?

Having wasted my weekend fixing the CORS issue, getting round numerous other issues and reading tons of source code, I have come to the conclusion it is not possible to get Stripe working on Juniper release without some development effort.
I believe this is due to the move to MFEs.

If i am wrong and anyone has successfully managed to get this working with the Juniper tutor release I would be eternally grateful for some assistance.

Until that time it looks as though I am forced to return to native openedx ironwood. :cry:

1 Like

This would mean that this is an issue with Tutor.

Do you mean that it would require some development effort in Tutor, or upstream in Ecommerce?

Can you clarify what makes you think so?

If this is an issue with Tutor, then we will try to investigate and fix this. If this is an regression, we’ll make sure to send some feedback upstream. You seem to have already thoroughly investigated this issue. If it’s not too much to ask, would you mind sharing more of your thought process?

@regis, apologies let me clarify. I have this working in Ironwood Native not Juniper.
This does not appear to be an issue with Tutor.

I’ve spent the past couple of days testing this on various builds (tutor and native) and have now solved the issue.
It appears the OpenEDX documentation is missing a seriously key piece of information required for anyone wishing to use the Stripe processor and it’s so simple that I can’t believe no one has mentioned it.

Ensure you add the following waffle flag to the lms and ecommerce admin sections.

Hope this helps anyone who has struggled with this.

I’m now very happy as I will be able to use Tutor going forward.