I’m pretty sure this is what you’re going to need to do.
1) Install IPN and Forwarder on website1.com.
2) Configure PayPal account to send all IPNs to the URL provided by our plugin for website1.com.
3) Add a forwarding rule to forward IPN data on website1.com to the IPN URL that would typically be used by the subscription system. This way the IPN plugin will run and your subscription IPN code will also run.
4) Add a forwarding rule to forward IPN data to website2.com’s subscription IPN URL. Should be the same as website1 except for the domain, of course.
The result here would be that IPN data would be sent from PayPal to our plugin’s listener, and it would then be forwarded out to both website1 and website2 subscription listeners.
Things to consider:
1) The subscription plugins may be using NotifyURL to override the IPN URL set in the PayPal account profile. If this is the case then the IPNs would be sent directly to that NotifyURL and our IPN listener would never get hit, so our forwarder would not trigger, of course. If this is the case, though, I don’t think you would need the forwarder anyway because each individual site would have its own custom URL being sent in NotifyURL.
2) If the subscription transactions do fall to the PayPal profile setting, then what I outlined above would work, however, ALL transactions would be sent to both website1 and website2 regardless of which site they came from. If the IPN solutions provided by the subscriptions to not properly handle data that did not originate from it you could run into problems. Hopefully, their listener updates based on transaction ID, and without a matching transaction ID it would simply “do nothing” when an IPN hits a site URL that was from the opposite site.
Does all of that make sense?