woocommerce: getting paypal ipn to update order status of downloadable product to complete

Woocommerce has paypal functionality built-in to handle downloadble product. After the paypal IPN is setup, it should ping the merchant server on the status of the payment and update the order status from “pending” to “complete”. If you are seeing the “processing” status, it means that you haven’t check the right boxes when setting up the product. For any product that you want IPN to update from “pending” to “complete”, it needs to be both “virtual” and “downloadable”. So much for what virtual and dowloadable means… I realised that only after reading line 1161 in plugins/woocommerce/classes/class-wc-order.php

if ( $_product->is_downloadable() && $_product->is_virtual() )

I then realised woothemes does document this part a bit – http://wcdocs.woothemes.com/user-guide/managing-products/

Author: bpeh

Bernard Peh is a great passioner of web technologies and one of the co-founder of Sitecritic.net Website Design and Reviews. He works with experienced web designers and developers everyday, developing and designing commercial websites. He specialises mainly in SEO and PHP programming.