Hola, buenas, alguien ha conseguido desarrollar un modulo de pago para caja rural ?? Ya que el estándar de servired no sirve.
Muchas gracias.
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
Preguntas frecuentes
Busca si no esta contestado ya tu pregunta antes de preguntar
Postea en el foro/subforo adecuado
Pon un titulo lo más descriptivo posible
Describe con un máximo de detalles
Si el problema es online, danos la URL
Trabaja con el cache deshabilitado hasta que pases en producción
Gracias OSdave por la firma
La documentación de caja rural es esta:
http://rapidshare.com/files/165334678/caja-rural.zip.html
El problema es según tenia entendido el modulo de Servired que hay hecho funcionaba.
Y estoy intentando hacerlo yo mismo pero estoy un poco pez.
Cual es el problema que presenta? Que es lo que no funciona?
Preguntas frecuentes
Busca si no esta contestado ya tu pregunta antes de preguntar
Postea en el foro/subforo adecuado
Pon un titulo lo más descriptivo posible
Describe con un máximo de detalles
Si el problema es online, danos la URL
Trabaja con el cache deshabilitado hasta que pases en producción
Gracias OSdave por la firma
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
El talento es algo bastante corriente. No escasea la inteligencia, sino la constancia.
Si buscas la verdad, prepárate para lo inesperado, pues es difícil de encontrar y sorprendente cuando la encuentras.
Lo usas con Caja Rural? Si es asi podrias darle una mano a davidfx con la configuracion?
Preguntas frecuentes
Busca si no esta contestado ya tu pregunta antes de preguntar
Postea en el foro/subforo adecuado
Pon un titulo lo más descriptivo posible
Describe con un máximo de detalles
Si el problema es online, danos la URL
Trabaja con el cache deshabilitado hasta que pases en producción
Gracias OSdave por la firma
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í
.
¿Cómo se podría modificar el fantástico módulo de Defcon2 para Caja Rural?
Muchas gracias
@Vitamina C
Intenta colocar el siguiente codigo debajo del arreglo $sArr que esta dentro de la funcion getStandardCheckoutFormFields() ubicada en el archivo appcodelocalMageServiredModelStandard.php aproximadamente en la linea 415.
$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:
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.
Vitamina C, post: 5576 wrote: 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.
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:
$firma = $ord." ".$amount." ".$fecha." ".$currency;
o si lo ponemos todo en la misma linea:
$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 😉
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?
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í:
$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.
Efectivamente ¡Funciona!
no os podeis imaginar el alivio...
Muchas gracias a Raynexus y lanotanegra, así da gusto meterse en estas historias.
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/