Caja Rural

Estado
Cerrado para nuevas respuestas

davidfx

Nuevo usuario
Hola, buenas, alguien ha conseguido desarrollar un modulo de pago para caja rural ?? Ya que el estándar de servired no sirve.

Muchas gracias.
 

defcon2

Nuevo usuario
Cual es el problema con el de servired? Dime y veo de modificarlo si no es mucho. Si puedes mandarme la documentacion para la implementacion seria genial
 

defcon2

Nuevo usuario
Cual es el problema que presenta? Que es lo que no funciona?
 

Antonio

Nuevo usuario
Defcon2, estas líneas son para agradecerte el trabajo que has realizado con el modulo de servired. Lo hemos implementado en la tienda y va genial, sim problemas:ok:

Es de agradecer tu dedicación y constancia. Gracias.

Salu2
 

defcon2

Nuevo usuario
Lo usas con Caja Rural? Si es asi podrias darle una mano a davidfx con la configuracion?
 

Vitamina C

Nuevo usuario
Hola a todos,
efectivamente el módulo de Servired no sirve para Caja Rural. Ellos tienen su propia pasarela y se envian los datos de forma distinta. La información de configuración que me han enviado está aquí http://www.vitamina-c.es/rural.rar.
¿Cómo se podría modificar el fantástico módulo de Defcon2 para Caja Rural?

Muchas gracias
 

raynexus

Nuevo usuario
@Vitamina C

Intenta colocar el siguiente codigo debajo del arreglo $sArr que esta dentro de la funcion getStandardCheckoutFormFields() ubicada en el archivo app\code\local\Mage\Servired\Model\Standard.php aproximadamente en la linea 415.


PHP:
        $fecha = date("ymdHis"); 
		$firma = "$fecha$clave$amount$currency$ord"; // formula sha-1 para caja rural
		
		$sArr = array (
			'importe'		=>	$amount,
			'numpedido'		=>	$ord,
			'moneda'		=>	$currency,
			'fuc'			=>	$this->getConfigData('merchantnumber'),
			'idioma'		=>	'0', // correponde a el idioma Castellano
			'idterminal'	=>	$this->getConfigData('merchantterminal'),
			'fecha'			=>	$fecha,
			'firma'			=>	$firma,
			'url'			=>	'',
		);
Espero te sirva, suerte! :ok:
 

Vitamina C

Nuevo usuario
Raynexus,
he probado con el código que has puesto y me sale el error 50007 Validalición de la firma incorrecta. No sé dónde puede estar el problema pero al menos hemos avanzado al solucionar lo del FUC incorrecto.
 

raynexus

Nuevo usuario
Raynexus,
he probado con el código que has puesto y me sale el error 50007 Validalición de la firma incorrecta. No sé dónde puede estar el problema pero al menos hemos avanzado al solucionar lo del FUC incorrecto.
La firma esta hecha de acuerdo a lo que dicen las especificaciones de utilizacion del algoritmo sha-1 para caja rural, no deberia dar error, te recomiendo que te comuniques con la gente de ruralvia para que ellos te indiquen cual es el error que tienes en la firma, que si es posible te envien un ejemplo de como realizar dicho algoritmo para la firma.

Saludos.
 

lanotanegra

Nuevo usuario
El problema, creo yo, está en que para generar la firma de caja rural se utiliza una librería externa, cierto? De esta librería solo se entrega el binario, no las fuentes.

Las firmas que genera esta librería no son la estandar de sha-1 de 40 caracteres hexadecimales, sino que genera una de 8, del tipo: ef048787

El orden para generarlas desde la linea de comandos es: nºpedido importe fecha moneda (todo separado por un espacio), lo que en php sería:
PHP:
$firma = $ord." ".$amount." ".$fecha." ".$currency;
o si lo ponemos todo en la misma linea:
PHP:
$firma = "$ord$amount$fecha$currency";
A esto habría que aplicar el algoritmo que usen para generar la firma en el formato de 8 caracteres que ellos usan y no aplicando un sha1.

Una solución sería subir la librería y hacer una llamada para que genere la firma y luego enviarla, pero debería haber una forma de hacerlo en php puro sin necesidad de usar la librería.

Perdonadme si he dicho muchas gilipolleces ;)
 

Vitamina C

Nuevo usuario
Según la documentación de Ruralvía sí se admite el SHA-1 como forma de enviar la firma. Adjunto documento en el que se muestran las especificaciones (apartado 5). La propuesta de Raynexus debería funcionar, pero no... no sé.
He llamado a los de Ruralvía y me han dicho que todas las especificaciones están documentadas y que ellos no dan soporte para Magento, vamos, que me busque la vida...
¿Alguna otra sugerencia?
 

Adjuntos

lanotanegra

Nuevo usuario
Conseguido!!

La solución propuesta por raynexus es la correcta pero se nos había olvidado generar el sha1 de la firma, por lo tanto el código que hay que añadir para que funcione queda así:

PHP:
$fecha = date("ymdHis"); 
$firma = sha1("$fecha$clave$amount$currency$ord"); // formula sha-1 para caja rural
        
        $sArr = array (
            'importe'        =>    $amount,
            'numpedido'      =>    $ord,
            'moneda'         =>    $currency,
            'fuc'            =>    $this->getConfigData('merchantnumber'),
            'idioma'         =>    '0', // correponde a el idioma Castellano
            'idterminal'     =>    $this->getConfigData('merchantterminal'),
            'fecha'          =>    $fecha,
            'firma'          =>    $firma,
            'url'            =>    '',
        );
Edito: Por cierto, he tenido que llamar a caja rural para que cambiaran el método de firma a sha1, ya que por defecto sólo reconocen su algoritmo.
 
Última edición:

Vitamina C

Nuevo usuario
Efectivamente ¡Funciona!
no os podeis imaginar el alivio...
Muchas gracias a Raynexus y lanotanegra, así da gusto meterse en estas historias.
 

lanotanegra

Nuevo usuario
Ahora queda ya lo último, después de hacer el pago, enviarlo y demás, el tpv te redirecciona a la página que tu le hayas dicho, con una serie de datos en la url para que la tienda los reciba, procese y si el pago ha sido correcto que ponga el pedido como tal.

El problema es que no se exactamente donde debe apuntar esa url ya que no puedes ponerlo al index de tu página porque magento no reconoce esos datos y los artículos quedan por siempre en el carrito de compras.

Edito otra vez: vale, despiste mío, la url es /checkout/onepage/success/
 
Última edición:

Carlos_conv

Nuevo usuario
Buenos días

Hola a todos!

gracias por vuestras contribuciones, son geniales. Os cuento: estamos implementando el módulo de Servired modificado para pagar a través de Caja Rural pero tenemos algunas dudas para rellenar los campos que os muestro a continuación.
Hemos instalado el módulo y pegado el código tal y como comentáis. Rellenando los campos como creemos que van el POP-UP nos devuelve "Error en datos enviados. Contacte con su comercio."
Donde podemos estar metiendo la pata?? agradeceremos cualquier ayuda!

Mil gracias!

FUC Numero de Comercio OK

Identificacion otorgada por Servired al Comercio ¿?
Nombre del Comercio ¿?
Mensaje Generico ¿?

Metodo para la firma COMPLETO AMPLIADO??
Clave del Comercio ¿? (caja rural me ha dado el CIP o Clave de Acceso y un USUARIO... eso donde va?)

Clave otorgada por Servired al Comercio (para encriptacion) ¿?¿?
Url del Comercio OK
Numero de Terminal ¿¿Ponemos 001 o 1??

Tipo de Transaccion ¿?¿?
Datos del Comercio ¿?¿?

Specific Url ¿hay que marcar algo??



Y aquí lo que nos ha dado Caja Rural:

Nombre: XXXX
Usuario: XXXXXXXX
FUC: XXXXXXXX
Id Terminal: 001
CIP o Clave de Acceso: XXXXXXXX
Divisa: Euro
URL de retorno: URL + URL NOTIFICACIÓN
URL: http://www.xxxxxx.com
URL notificación: http://www.xxxxxx.com
 

lanotanegra

Nuevo usuario
Hola Carlos!

FUC: Tu número de comercio
Nombre: El nombre de tu comercio, tal como aparece en Ruralvía
Mensaje Genérico: Lo que aparecerá en el resumen de la tarjeta del cliente
Metodo para la firma: Completo
Clave del Comercio: Es el CIP, si estás en pruebas creo que es 111111111 (no recuerdo si son 9, pero son todo unos)
Url del Comercio: La URL de tu tienda
Numero de Terminal: 001 (si sólo tienes un TPV)
Tipo de Transaccion: Autorización
Datos del Comercio: Lo mismo que en Nombre
Estado de la Ventana: Como tu quieras
Entorno Real de trabajo: Si lo usas con Caja Rural ponlo siempre en NO
Specific Url: Aquí pon la URL que te dan desde Ruralvía

Espero haber aclarado tus dudas, salud!
 
Estado
Cerrado para nuevas respuestas
Arriba