Coursepress testing with payment gateway

I am building a Coursepress Pro site with a Marketpress integration using STRIPE as the payment processor. I can't work out how or where a user should be directed once they purchase a course. My user flow so far is....

1. From the Courses list page, hit the TAKE COURSE BUTTON
2. Sign up button brings up popup window asking to register
3. Once details are entered you get the Marketpress cart page...
4. When you add your credit card details etc you get taken to the completed order page...

Now here is the problem - how do I then start using the course? Should I be redirected somewhere else after checkout? If I click on the course title on the order confirmation page, I get sent straight back the first course page where I have to do the entire process again.

Am I totally missing something? I'd expect some instructions on the order confirmation page telling me how to start completing the course? Is this because I have STRIPE set up in testing mode? If so, how can I get my clients to actually test the courses out before we go live?

Any help appreciated! Thanks.

  • Adam Czajczyk

    Hello lowercase,

    I hope you're well today and thank you for your question!

    The simplest "flow" with paid courses and MarketPress would be like this:

    1. When you create a course make sure that in "Enrollment & Course Cost" you checked the "Automatically generate Stock Keeping Unit" option and this will automatically create a product.

    2. Direct your students to the product page instead of course
    3. They'll be able to add the course to the cart and go through a regular purchase
    3. Once the payment is finished (make sure that MarketPress is set to require login, otherwise course will not be assigned to the student!) they'll be able to access courses dashboard (by default: "yoursite.com/courses-dashboard") and they should see the courses they bought/enrolled there.

    If this doesn't work like this for you, could you please grant me a support access to your site so I could review its settings? Here's a guide on this:

    https://premium.wpmudev.org/manuals/wpmu-dev-dashboard-enabling-staff-login/

    Is this because I have STRIPE set up in testing mode? If so, how can I get my clients to actually test the courses out before we go live?

    No. The only difference between "test" and "live" modes is that the "test" mode doesn't transfer data over SSL secured connection and it doesn't involve any real money (although it requires you to provide credit card number, you'll find proper testing card numbers here). The transaction and communication is exactly the same so it's not causing these issues.

    Best regards,
    Adam

  • lowercase

    Hello Adam,

    Thanks so much for the reply. I have granted you access to the site, so please go in and see if you can work out what is going wrong? Please use the Stripe testing card number which should work fine.

    I just can't figure it out as everything seems to be set up the correct way. I just can't find the courses once I have enrolled and paid for one! ha.

    Also, on the product order confirmation page, It has a 'download' button, but this course it not downloadable so that is an error also.

  • Predrag Dubajic

    Hi lowercase,

    Wow, that's strange, I've now double checked the file and it's working fine for me and it doesn't cause any fatal errors.

    Could you please double check that you replaced the correct file, there are two stripe.php files and the one that needs to be replaced is in this folder:
    /wp-content/plugins/marketpress/includes/common/payment-gateways/

    There's another one in below folder but that one shouldn't be changed:
    /wp-content/plugins/marketpress/includes/common/payment-gateways/stripe-files/lib/

    Looking forward to your response.

    Best regards,
    Predrag

  • lowercase

    Hi Predrag Dubajic

    I double checked. The file was in the correct place, but i renamed the old stripe file stripe-old.php and left it in the directory. Looks like Marketpress was scanning every file in the directory and still picked up this old one which through the duplicate error. Thanks for your help - it appears to have worked!

    I don't suppose you now how to get rid of the DOWNLOAD link on the order confirmation page?

  • Dimitris

    Hey there lowercase,

    hope you're doing good and don't mind chiming in!

    I double checked. The file was in the correct place, but i renamed the old stripe file stripe-old.php and left it in the directory. Looks like Marketpress was scanning every file in the directory and still picked up this old one which through the duplicate error. Thanks for your help - it appears to have worked!

    This is true, CP is looking for every .php file in that folder, I'm glad that you successfully sorted that out! :slight_smile:

    I don't suppose you now how to get rid of the DOWNLOAD link on the order confirmation page?

    Download links should have only products which are marked as "digital downloads".
    Could you please try to revert this product kind to "physical/tangible product" and test once more if you see a download link?

    Warm regards,
    Dimitris

  • lowercase

    Hi Dimitris

    If I set up the course as a digital product, I get the DOWNLOAD link on the order confirmation page. This is bad as it makes users think they have something to download (which they do not).

    If I make this a PHYSICAL/TANGIBLE product (which it isn't), the user then has to fill out a bunch of extra fields in Marketpress like billing info, address, country, state and Shipping address. This is also bad, as the user now thinks they will be SHIPPED something (which they will not).

    This setting also leaves my order confirmation page to read 'CURRENT STATUS: In Process' which is very confusing. In addition, it does not offer any information as to how I start my course once I have paid for it which is a pretty major flaw as well.

    I hope that makes sense. A regular online course just needs a name and email address and won't ever have anything to be downloaded from the order confirmation page. This is what we need.

  • Dimitris

    Hey there lowercase,

    hope you're doing good today! :slight_smile:

    I was able to hide this "Download" link in a "finished order" page, like /store/order-status/7db626da9fc4/, with the following CSS rule:

    .mp_order_cart .mp_cart_item .mp_cart_item_content-title > a:last-child {
      display: none;
    }

    Feel free to use this either in a custom CSS area if your theme options provides you such an option, or in your child-theme's style.css file, or via a plugin like this.

    Hope that's some help, don't mind to post back here if more assistance is required on this! :slight_smile:

    Warm regards,
    Dimitris

  • lowercase

    Thanks Dimitris

    We are still having issues with this.

    To be fair, we have been paying for 3 months now and have been completely unable to launch our site. It seems after the last Marketpress fix, we were paying for 2 months where it was impossible for people to pay for a course with Stripe anyway? That isn't right. You can't charge people for a product and three months later send a fix to repair a product that never actually worked as advertised.

    I am at a loss as to how to get this working, and we really need some answers if possible.

    In particular the items I've mentioned earlier...

    If I make this a PHYSICAL/TANGIBLE product (which it isn't), the user then has to fill out a bunch of extra fields in Marketpress like billing info, address, country, state and Shipping address. This is also bad, as the user now thinks they will be SHIPPED something (which they will not).

    This setting also leaves my order confirmation page to read 'CURRENT STATUS: In Process' which is very confusing. In addition, it does not offer any information as to how I start my course once I have paid for it which is a pretty major flaw as well.

    I hope that makes sense. A regular online course just needs a name and email address and won't ever have anything to be downloaded from the order confirmation page. This is what we need.

    There has to be a simple solution for this right? The entire system is for selling online courses.
    Why do users need to hear anything about shipping addresses? Or downloads? Or have no text anywhere after purchase to tell me how to take the actual course?

  • Adam Czajczyk

    Hello lowercase!

    I understand your frustration and I apologize for the trouble.

    However I'd like to explain this a bit: since you never responded to the last message from my colleague Dimitris, we had no way of knowing whether the issue was sorted fully for you or not. If we do not get any feedback from member we assume that the issue is no longer valid.

    Getting back to the issue. I understand that the stripe fix provided by my colleague worked for you, is that right? We're then struggling with the "download" issue still.

    With the course set to "downloadable product" you could hide the "download" link with the CSS that Dimitris suggested. Also, on "Store Setting -> General" page in "Digital settings" section you can set "Details Collection" option to the "Only contact details" and it will limit the number of information gathered during checkout.

    After the payment is made, if the fix provided by Predrag has been properly applied and works, user should already be enrolled for the course. On an order confirmation page there's a name of the course and if a user click on it, she/he is taken to the course. User can also access "Course Dashboard" which usually is added to one of the site menus in case of sites with courses. If there's no such link you can add it via "Appearance -> Menus" page of your site's dashboard.

    Furthermore, you can simplify entire process even more by going to "CoursePress -> Settings -> General" page and clicking making sure that "Redirect MarketPress product post to a parent course post" option is enabled. The workflow would be as follows:

    1. User goes to the course list and selects a course
    2. If a user went to the store and selected course there, she/he is automatically redirected to the course details page (point 1)
    3. User click "Enroll" button
    4. Course is added to the cart
    5. User goes to checkout
    6. User is only asked for billing data
    7. User makes payment

    At this point user is enrolled to the course and can go to "My courses" page and will see "Your current courses" section where he/she can take the course.

    Kind regards,
    Adam

  • lowercase

    Thanks for the detailed replay Adam Czajczyk

    We have made some progress today at least.
    1. The new Marketpress code finally works so users can actually purchase a course on our site (something WPMU Dev has yet to able to provide until this point).
    2. I still get the DOWNLOAD link on the order confirmation page, and understand this is inevitable. I think this should be a major addition in future versions of Coursepress Pro. Most courses are to be taken online and DO NOT require additional billing and shipping info from users. This should realistically be the default option, not one that doesn't exist at all.
    3. It simply is not enough to make the primary means for starting a course on the Order Confirmation page via clicking on the course name. This is impossible for a user to understand and is a massive oversight. When you sign up for an online course, pay for it and are told your payment is successful, you should be greeted by HUGE INSTRUCTIONS letting people know what happens next. The entire point of Coursepress Pro is to offer online courses, yet your software doesn't even tell them how to begin one! How can we fix this huge issue?
    4. I appreciate the menu addition, but it is useless to someone who is on the order confirmation page. Why would anyone even scroll up and look at a menu. why would they think you magically added a new menu item after payment.

    All in all, we have made some progress, but the bottom line is, you cannot make users pay for a product online then immediately offer NO ADVICE or INSTRUCTION on where to get what they just paid for. It sounds insane because it is.

    I hope we can sort this out sooner rather than later, because I fear the software collapses if a user can't use the course they paid for.

  • Predrag Dubajic

    Hi lowercase,

    Have you considered using student dashboard shortcode on your order status page, this way after the payment is completed it will show courses you are enrolled in.

    So by adding this shorcode [courses_student_dashboard] to your order confirmation page you should end up with something like this after successful purchase:

    Would something like that work for you?

    Best regards,
    Predrag