Hi Alex,
In general I'm doing what is needed to sell download products as I will soon be opening a store on this site to sell some products.
I have implemented all of the notification API because it was needed to support download products otherwise the user could not download until the order has been reviewed. This way we get notification from google that the payment has cleared an we automatically change the status of the order to Fulfillable so that the downloads are available. I also implemented 1 call to the Order Processing API to tell google the order is "Delivered" after the order status has changed.
Later when I get around to implementing support for shippable products I will look into additional work with the Order Processing API, though one could easily just use the google pages for processing the orders if google was the only payment process being used.
With PayPal its different, the user is immediately redirected back to your site and we can direct him to his order detail page. If the payment is cleared the download links are there, otherwise a message indicating that the links will appear as soon as payment is cleared. Generally with PayPal the payment is cleared right away unless they pay with an echeck. In any case I have implemented the PayPal IPN and PDT APIs.
I've structured it so that the re-useable ecommerce parts are now in the core of mojoportal and there is a provider model in place so when posts come in from google or PayPal the correct provider is called to handle the post. So the WebStore project has the actual implementations working, but now I am also implementing ecommerce in a new product "Event Calendar Pro" which will also have providers and will be able to sell tickets to events.
The WebStore is getting alot of work lately in order to open my store, I think I'm within a few days of opening the store and making a new release of mojoportal. The store is very basic right now but sufficient for selling a few downloadable products or taking donations using Authorize.NET and/or PayPal and/or Google Checkout. A lot of work yet remains to implement a proper product catalog with categories, support for shippable products etc.
Best,
Joe