I used WooCommerce to allow online booking of the Dublin Barista School courses. I added numerous enhancements and customisations like discounts for combined bookings. There were challenging PayPal IPN issues that I developed workarounds for. Some 301 redirects preserved page SEO.
Simon asked me to allow their multiple courses to be booked online. I set up a staging server to develop the site without disrupting the existing site.
I installed the WooCommerce plugin to handle the e-commerce functionality. It is easy to set up and has an extensive number of hooks and filters to allow developers (like me) enhance the plugin. I wrote numerous enhancements e.g.
- Combined Products Discount (apply discount when certain products are in cart)
- Hide Coupon Code box (as the site does not offer coupons)
- Change some text labels, hide others (e.g. “State / County” to just “County” , “Republic of Ireland” to “Ireland”)
- Do not show related products
- Add notes about payment options for course fees
I used “variations” for the different course dates. The WooCommerce admin section makes it easy to add and remove course dates.
We used PayPal as the payment processor but encountered strange issues with the PayPal IPN (Instant Payment Notification) process. PayPal contacts a script on the site to confirm that the payment has been received and this script updates the payment status on the site. Unfortunately this rarely worked. I did extensive debugging, adding filters and actions to numerous points in the WooCommerce code. Eventually I put the issues down to the networking setup at Register365. Some of their servers have inconvenient restrictions (though they are probably more secure as a result).
Finally I removed the old static course pages and set up 301 redirects from those urls to the new pages within the online shop.