The script name is actually wrong, my fault, but not exactly sure that's the issue, because we send them the URL to notify when a request is made. However, since it's declared there it might be overriding it.

The script name should be paypal_ipn instead of paypal-ipn.

Other than that, the only thing that could be preventing this is if your php configuration doesn't allow an fsockopen call (you might want to check with your host on that).