When creating a profesional course in CAT (`/courses` view ecommerce) administrator is given option to either enable or disable "Verification" feature for that course. This setting is honored on the LMS `/dashboard` view, however it is not honored on the `/receipt` view.
Only LMS is affected by this change.
*Sandbox URL*: TBD - sandbox is being provisioned.
*Partner information*: 3rd party-hosted open edX instance
[ ] edX reviewer[s] TBD
Login as a email@example.com user and see following two receipts:
A receipt for course that does not require verification: http://pr12470.sandbox.opencraft.com/commerce/checkout/receipt/?orderNum=EDX-100007
A receipt for course that requires verification: http://pr12470.sandbox.opencraft.com/commerce/checkout/receipt/?orderNum=EDX-100008
Prepare the enviorment:
1. Install devstack using recent master
2. Setup a payment processor, paypal seems to be the easier one to set up. See setting-up PayPal for some hints
3. Create two new courses in Studio, name one of them "Professional with Verification Required" and another one "Professional no verification".
4. Start e-commerce and go to `localhost:8002/courses`, and add two courses, first one with Verification second one without it.
Reproduce the issue:
1. Register to the platform with a new user, and buy for both courses.
2. Observe that on Receipt for both courses you are asked to confirm your identity.
Verify the fix:
1. Check out this branch.
2. Go to the receipt pages for both courses, and observe that course with enabled verification still
asks user to verify:
3. However for course with verification disabled user can go straight to the dashboard
Setting up PayPal
To configure paypal [add section from this gist](https://gist.github.com/jbzdak/e5761f9f5ac05fee8624d0f966e98961) to `ecommerce/settings/private.py`. And `client_id` and `client_secret`.
I also had problems releated to PayPal forcing TLS 1.2 for all urls (including Sandbox), if you'll get errors citing: 'sslv3 alert handshake failure', you'll need to update `lib-ssl-`, `openssl-` (and probably `curl`) in your devstack.