I currently have a Website Payments Standard checkout process for purchasing annual subscriptions & standalone virtual products, which in its simplest form;
custom
field to track & verify the purchase with IPNAs I understand, with Express I could
However, I am aware of the additional work involved, particularly with recurring payments.
Would you argue it's worth it for the gains? Or is what I'm doing acceptable*, given the requirements?
*I've always been concerned about exposing the transaction in a standard PayPal webform, which is why I like the idea of Express, but I'm rigorously validating IPN calls; do I have any genuine reason to worry?
Yes! Definitely, go for it.
Perhaps I'm biased, but I love Express Checkout as opposed to Website Payments Standard.
In addition to being able to control the recurring payment profiles via ManageRecurringPaymentsProfileStatus, you can also control the LANDINGPAGE for the Express Checkout PayPal landing page ('Billing' or 'Login').
You can use the CreateRecurringPaymentsProfile and/or DoExpressCheckoutPayment API response (in case you charge an initial amount) to check for the PAYMENTSTATUS.
Plus, if you ever want to upgrade to Website Payments Pro Direct Recurring Payments (setting up a recurring payment via your own site's credit card form, without leaving to go to the PayPal website), you can simply add in the required additional parameters to the same CreateRecurringPaymentsProfile API response.
Lastly, if you ever decide to start using PayPal Digital Goods for Express Checkout including Recurring Payments, all it takes is a few parameter changes in SetExpressCheckout, and for you to load the dg.js file.
The only downside of using Express Checkout Recurring Payments is that there is no equivalent for Enhanced Recurring Payments / Premium Services (allowing you to accept guest-based recurring payments in the US, UK, CA and AU). The only alternative for this would be Website Payments Pro Direct Recurring Payments, which is a slight step up in terms of product offering.