Invalid response status: 307 con PayPal IPN Listener

Si usas la librería PayPal IPN Listener (https://github.com/Quixotix/PHP-PayPal-IPN) en algún proyecto, es posible que te haya dejado de funcionar la comunicación con PayPal y que encuentres en el log de errores una línea como esta:

[28-Jun-2018 18:12:04 Europe/Madrid] Invalid response status: 307

En junio de 2018 PayPal hizo efectivos una serie de cambios en sus servicios, y además de necesitar una URL para tu IPN que responda bajo HTTPS, tendrás que hacer este cambio para resolver el problema del 307.

En el fichero ipnlistener.php tendrás que modificar las líneas 71 y 72 (si no son estas mismas, por ahí andarán) por estas:

const PAYPAL_HOST = 'ipnpb.paypal.com';
const SANDBOX_HOST = 'ipnpb.sandbox.paypal.com';

Al menos en mi caso, el problema era este. La URL por defecto es www.paypal.com, pero PayPal recomienda usar ipnpb.paypal.com, e intuyo que ese 307 es la redirección de www a ipnpb.

Un consejo adicional para que nos apliquemos los que aún usamos PayPal IPN Listener es que actualicemos código, pues este recurso tiene ya unos cuantos años y tiene pinta de haber sido abandonado. ¿Qué alternativa a PayPal IPN Listener recomendarías?

Antonio Lite

Soy periodista especializado en comunicación y contenidos digitales. Consultor SEO y Analítica Web. Experto en optimización de sitios web en ruso. Yandex Metrica Expert. Profesor asociado en Universidad San Jorge. Trabajando en proyectos online desde 1998.