Jump to content

Edit History

Prestafan33

Prestafan33

En el módulo de Redsys puedes asignarle una URL para cuando una petición de pago finaliza de forma incorrecta. Yo lo tengo asignado para que devuelva a una página personalizada de error en el pago.

Para ello, en primer lugar he creado una página personalizada de error:

error-pago.thumb.jpg.9465467953bd6f81304202d97eb93e6b.jpg

Luego, en el módulo de Redsys he realizado unos cambios en este archivo /modules/redsysoficial/redsysoficial.php. Concretamente he ido a la línea 403, y este bloque:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
}

... lo he modificado así, añadiendo una variable $urlerror:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
}
/* Modificado : Añadida url error */
$urlerror = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'content/15-error-en-el-pago';

Evidentemente el "content/15-error-en-el-pago" se debe cambiar por la página a la que quieras redirigir cuando haya un error en el pago. Puede ser una página personalizada, o puedes devolver a la página de checkout (en ese caso sería "/pedido", o la URL amigable que tenga tu checkout).

Y luego en la línea 480, donde dice :

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urltienda );

... cambiarlo por:

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urlerror );

Eso es todo, con eso se debería solucionar tu problema.

Prestafan33

Prestafan33

En el módulo de Redsys puedes asignarle una URL para cuando una petición de pago finaliza de forma incorrecta. Yo lo tengo asignado para que devuelva a una página personalizada de error en el pago.

Para ello, en primer lugar he creado una página personalizada de error:

error-pago.thumb.jpg.9465467953bd6f81304202d97eb93e6b.jpg

Luego, en el módulo de Redsys he realizado unos cambios en este archivo /modules/redsysoficial/redsysoficial.php. Concretamente he ido a la línea 403, y este bloque:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
}

... lo he modificado así, añadiendo una variable $urlerror:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
	/* Modificado : Añadida url error */
	$urlerror = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'content/15-error-en-el-pago';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
	/* Modificado : Añadida url error */
	$urlerror = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'content/15-error-en-el-pago';
}

Evidentemente el "content/15-error-en-el-pago" se debe cambiar por la página a la que quieras redirigir cuando haya un error en el pago. Puede ser una página personalizada, o puedes devolver a la página de checkout (en ese caso sería "/pedido", o la URL amigable que tenga tu checkout).

Y luego en la línea 480, donde dice :

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urltienda );

... cambiarlo por:

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urlerror );

Eso es todo, con eso se debería solucionar tu problema.

Prestafan33

Prestafan33

En el módulo de Redsys puedes asignarle una URL para cuando una petición de pago finaliza de forma incorrecta. Yo lo tengo asignado para que devuelva a una página personalizada de error en el pago.

Para ello, en primer lugar he creado una página personalizada de error:

error-pago.thumb.jpg.9465467953bd6f81304202d97eb93e6b.jpg

Luego, en el módulo de Redsys he cambiado en /modules/redsysoficial/redsysoficial.php, he ido a la línea 403, y este bloque:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
}

... lo he modificado así, añadiendo una variable $urlerror:

// URL de Respuesta Online
if (empty ( $_SERVER ['HTTPS'] )) {
	$protocolo = 'http://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
	/* Modificado : Añadida url error */
	$urlerror = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'content/15-error-en-el-pago';
} else {
	$protocolo = 'https://';
	$urltienda = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/redsysoficial/validation.php';
	/* Modificado : Añadida url error */
	$urlerror = $protocolo . $_SERVER ['HTTP_HOST'] . __PS_BASE_URI__ . 'content/15-error-en-el-pago';
}

Evidentemente el "content/15-error-en-el-pago" se debe cambiar por la página a la que quieras redirigir cuando haya un error en el pago. Puede ser una página personalizada, o puedes devolver a la página de checkout (en ese caso sería "/pedido", o la URL amigable que tenga tu checkout).

Y luego en la línea 480, donde dice :

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urltienda );

... cambiarlo por:

$miObj->setParameter ( "DS_MERCHANT_URLKO", $urlerror );

 

×
×
  • Create New...