• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión

Truco El IPN de PayPal devuelve error 500

lms

Administrador
Mensajes
7.741
Puntuación de reacciones
2.163
Puntos
2.613
Sitio web
xenfacil.com
País
España
Versión de XenForo
2.1.x
PayPal
Donar dinero a este usuario
Página web
Web
He estado jugando con esto más, y pensé que había que seguir en esto. Hasta donde yo sé, la URI en library/XenForo/ControllerPublic/account.php *tiene* que ser HTTPS, o la pantalla que ve el usuario cuando se dirige a PayPal es sólo su resumen de cuenta. El URI en tanto account.php *y* /library/XenForo/UserUpgradeProcessor/Paypal.php parece que tiene que terminar en webscr, y websrc no es un URI real, como se mencionó anteriormente. El URI en PayPal.php debe ser HTTPS, por lo que no supera la validación del IPN. Mi sitio web no tiene por qué ser HTTPS inicialmente (¿mal?) Comprendido lo que Sumo dice. Todo ello ha sido probado únicamente con la caja de arena PayPal, pero teniendo en cuenta que la caja de arena se supone que funcionan como PayPal real, no tengo ni idea de cómo alguien tiene mejoras laborales sin modificaciones.

Para los que desean solucionarlo, en library/XenForo/UserUpgradeProcessor/PayPal.php, buscar:
Insertar CODE, HTML o PHP:
			  if ($this->_filtered['test_ipn'] && XenForo_Application::debugMode())
			{
				$validator = XenForo_Helper_Http::getClient('http://www.sandbox.paypal.com/cgi-bin/webscr');
			}
			else
			{
				$validator = XenForo_Helper_Http::getClient('http://www.paypal.com/cgi-bin/webscr');
			}
Reemplazar con
Insertar CODE, HTML o PHP:
			if ($this->_filtered['test_ipn'] && XenForo_Application::debugMode())
			{
				$validator = XenForo_Helper_Http::getClient('https://www.sandbox.paypal.com/cgi-bin/webscr');
			}
			else
			{
				$validator = XenForo_Helper_Http::getClient('https://www.paypal.com/cgi-bin/webscr');
			}

Lo siguiente, en library/XenForo/Controller_Public/Account.php, buscar:
Insertar CODE, HTML o PHP:
		$viewParams = array(
			'available' => $upgradeModel->prepareUserUpgrades($purchaseList['available']),
			'purchased' => $upgradeModel->prepareUserUpgrades($purchaseList['purchased']),
			//'payPalUrl' => 'https://www.sandbox.paypal.com/cgi-bin/websrc',
			'payPalUrl' => 'https://www.paypal.com/cgi-bin/websrc',
		);
y reemplazar por
Insertar CODE, HTML o PHP:
		$viewParams = array(
			'available' => $upgradeModel->prepareUserUpgrades($purchaseList['available']),
			'purchased' => $upgradeModel->prepareUserUpgrades($purchaseList['purchased']),
			//'payPalUrl' => 'https://www.sandbox.paypal.com/cgi-bin/webscr',
			'payPalUrl' => 'https://www.paypal.com/cgi-bin/webscr',
		);
Y eso debería solucionar las suscripciones, si no está trabajando.

En xenforo: http://xenforo.com/community/threads/paypal-ipns-returning-500.31736/page-2#post-363934

Salud2
 
Arriba