Se non sbaglio in un altra discussione un utente aveva un problema con il listner utilizzando i socket. Aveva risolto cambiando "approccio"....che però non ha specificato

Prova a usare curl invece che il socket

https://github.com/paypal/ipn-code-s.../PaypalIPN.php

Inoltre, potresti usare una funzione di log su file per capire dove le cose non funzionano. Ad esempio puoi scriverti su file se ti arriva VALID/INVALID quando fai la verifica