You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Para depurar lo que está ocurriendo, he incluido en el archivo app/code/community/Devopensource/Redsys/controllers/IndexController.php, después de la línea 60, el siguiente código:
Mage::log($redsys, null, 'redsys.log', true);
Al realizar una operación de compra con Redsys, veo la siguiente información en el archivo redsys.log
El error está en el cálculo de DS_MERCHANT_MERCHANTURL, ya que no incluye la tienda, y la URL que genera devuelve un error 404. La URL correcta, en este caso, sería https://domain/es/redsys/index/callback
Tal y como se apunta en el hilo #33, parece un error en la función getUrlStore (como apunta zarapico123):
public function getUrlStore(){
$url = Mage::getStoreConfig('payment/redsys/callback', Mage::app()->getStore());
if ($url==0) {
return Mage::getStoreConfig('web/unsecure/base_url', Mage::app()->getStore())."redsys/index/callback";
}elseif($url==1){
return Mage::getStoreConfig('web/secure/base_url', Mage::app()->getStore())."redsys/index/callback";
}else{
return Mage::getStoreConfig('payment/redsys/callbackurl', Mage::app()->getStore());
}
}
Que al cambiarla por el siguiente código (tal y como indica zarapico123) genera correctamente la URL de callback en el caso de una multi-tienda:
public function getUrlStore(){
$url = Mage::getStoreConfig('payment/redsys/callback', Mage::app()->getStore());
if ($url==0) {
return Mage::getBaseUrl() . 'redsys/index/callback';
}elseif($url==1){
return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true) . 'redsys/index/callback';
}else{
return Mage::getStoreConfig('payment/redsys/callbackurl', Mage::app()->getStore());
}
}
No he podido probar este código en una instalación con una única tienda, así que no sé qué efecto tiene en ese caso.
The text was updated successfully, but these errors were encountered:
Yo he tenido este problema en una tienda de Magento con varias vistas e idiomas. Desde que instalé este módulo, no funciona el callback de Redsys y los estados de los pedidos no se actualizan.
Es más, desde que instalé este módulo, ¡algunos pedidos se registran sin el email!
He modificado las 2 líneas del fichero Data.php que se comenta, a ver si con esto se soluciona.
Hola,
Abro un nuevo hilo, relacionado con el #33, ya que tengo el mismo error pero la solución descrita en ese hilo (ya resuelto) no aplica en mi caso.
En mi caso tengo una tienda multi-tienda, en la que hay un path por idioma: https://domain/es, https://domain/en, ...
Para depurar lo que está ocurriendo, he incluido en el archivo app/code/community/Devopensource/Redsys/controllers/IndexController.php, después de la línea 60, el siguiente código:
Mage::log($redsys, null, 'redsys.log', true);
Al realizar una operación de compra con Redsys, veo la siguiente información en el archivo redsys.log
El error está en el cálculo de DS_MERCHANT_MERCHANTURL, ya que no incluye la tienda, y la URL que genera devuelve un error 404. La URL correcta, en este caso, sería https://domain/es/redsys/index/callback
Tal y como se apunta en el hilo #33, parece un error en la función getUrlStore (como apunta zarapico123):
Que al cambiarla por el siguiente código (tal y como indica zarapico123) genera correctamente la URL de callback en el caso de una multi-tienda:
No he podido probar este código en una instalación con una única tienda, así que no sé qué efecto tiene en ese caso.
The text was updated successfully, but these errors were encountered: