configurar CECA desde 0

alejandro24

Nuevo usuario
Buenas necesito ayuda con la pasarela de pago CECA.
He instalado el modulo: Metodo de Pago CECA-TPV (Confederacion Espanola de Cajas de Ahorros)\” que es gratis.

tambien he contactado con la caja y tengo los datos necesarios.
merchantID
adquirerBIN
Terminal ID

y los archivos:
libtpv.a
des1.dat

En el administrador de magento he añadido los datos estos que me piden. ahora me falta colocar los archivos que me han mandado que no se donde y algo que he leido por los foros del calculo de firmas. Me gustaría saber las ubicaciones de donde poner estos archivos y como calcular la firma.

Trabajo con magento mediante ftp.
 

alejandro24

Nuevo usuario
Bueno he conseguido hacer que funcione, el problema mayormente fue que el de la caja me dio datos erroneos u.u
por otro lado me descargue de un foro la carpeta CECA con los archivos modificados que por lo visto he leido que hay algunos errores.

Ahora el problema es la redireccion, me realiza la compra y ya está se queda parado sin redireccionar a ningun lado.
Por otro lado en el pequeño formulario que aparece para introducir el nº de tarjeta y demas datos no me da opcion a cancelar.
 

riahc3

Nuevo usuario
Bueno he conseguido hacer que funcione, el problema mayormente fue que el de la caja me dio datos erroneos u.u
por otro lado me descargue de un foro la carpeta CECA con los archivos modificados que por lo visto he leido que hay algunos errores.

Ahora el problema es la redireccion, me realiza la compra y ya está se queda parado sin redireccionar a ningun lado.
Por otro lado en el pequeño formulario que aparece para introducir el nº de tarjeta y demas datos no me da opcion a cancelar.

Explica un poco como lo conseguiste porque a mi me dice que Faltan campos obligatorios y he rellenado todos.....
 

txuko

Nuevo usuario
Estaría bien que alguna alma caritativa indicara los procesos porque a mi tambien me da error con datos obligatorios en el tpv en modo prueba, los cuales he rellenado, pero no he encontrado nada de archivos de encriptación.

Un saludo por adelantado.
 

txuko

Nuevo usuario
Solucionado,

En mi caso utilizo modulo CECA gratuito con magento 1.4.2.0 y el problema que tenía al principio era que me daba error de “faltan datos obligatorios”, y no había manera me di cuenta que con ese modulo no me pasaba el tipo de moneda así que agregue una variable:

Insertar CODE, HTML o PHP:
$tipomoneda = “978”
Y añadí seguidamente en el último elemento del array "$sArr" lo siguiente:

Insertar CODE, HTML o PHP:
'TipoMoneda' => $tipomoneda,
Volví a probar y entonce el siguiente error era el calculo de la firma así que utilice SHA1 como explicaban en otro hilo, modificando el código añadiendo lo siguiente:

Insertar CODE, HTML o PHP:
$cifrado = 'SHA1';

//$string = "$calculo $clave $code $AcquirerBIN $TerminalID $ord $amount $currency $Exponente \"\"  ";
//$resultado = exec($string);

$resultado= sha1($clave.$code.$AcquirerBIN.$TerminalID.$ord.$amount.$tipomoneda.$Exponente.$cifrado.$URL_OK.$URL_NOK);
*Ojo hay que cambiar la variable $currency por $tipomoneda.

Siguiente error es que no calculaba bien la firma aunque parece estar todo correcto, las url_ok y url_nok generan una cadena la cual parece no valida, también explicado en el otro hilo del tpv ceca.

Yo añadí en el panel de control de métodos de pago en “Url del comercio si la transacción es ok” -> “ceca/standard/success” tal cual y en “ceca/standard/success” -> “ceca/standard/cancel” tal cual.

Luego en el codigo hay que modificar lo siguiente:

Insertar CODE, HTML o PHP:
//$URL_OK = Mage::getUrl($this->getConfigData('URLOK'));
//$URL_NOK = Mage::getUrl($this->getConfigData('URLNOOK'));
$URL_OK = str_replace("?___SID=U","",Mage::getUrl($this->getConfigData('URLOK')));
$URL_NOK = str_replace("?___SID=U","",Mage::getUrl($this->getConfigData('URLNOOK')));
Y modificando el array "$sArr":

Insertar CODE, HTML o PHP:
$sArr = array(
			'Importe'				=>	$amount,	// convert to minor units
			'TipoMoneda'				=>	$currency,
			'Num_operacion'					=> $ord,
			'MerchantID'			=>	$this->getConfigData('merchantnumber'),
			'AcquirerBIN'  => $this->getConfigData('AdquirerBIN'),
            		'Idioma'      =>  $this->calcLanguage(Mage::app()->getLocale()->getLocaleCode()),						
			'Exponente'   =>  $this->getConfigData('Exponente'),
			'Firma'  => $resultado,
			'Pago_soportado'  => $this->getConfigData('PagoSoportado'),
			//'URL_OK'					=>	Mage::getUrl($this->getConfigData('URLOK')),
			//'URL_NOK'					=>	Mage::getUrl($this->getConfigData('URLNOOK')),
			'URL_OK' => $URL_OK,
			'URL_NOK' => $URL_NOK,
			'TerminalID'				=>	$this->getConfigData('TerminalID'),
			'Cifrado' => $cifrado,
			'TipoMoneda' => $tipomoneda,
		);
Así todo me funciona ok.

Un saludo.
 
Arriba