Únete a la Comunidad Magento

Regístrate gratis para publicar preguntas y recibir un resumen semanal con lo mejor de la comunidad
REGISTRO GRATIS

Caja Rural

Tema en 'Contribuciones, extensiones' iniciado por davidfx, 19/11/08.

  1. davidfx

    davidfx Nuevo usuario

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

    Muchas gracias.
     
    Etiquetas:
  2.  
    Comunidad Magento orgullosamente patrocinada por FactoriaDigital, expertos en hosting y vps magento.
  3. defcon2

    defcon2 Nuevo usuario

    118
    0
    0
    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
     
  4. davidfx

    davidfx Nuevo usuario

    11
    0
    0
  5. defcon2

    defcon2 Nuevo usuario

    118
    0
    0
    Cual es el problema que presenta? Que es lo que no funciona?
     
  6. Antonio

    Antonio Nuevo usuario

    97
    0
    0
    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:eek:k:

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

    Salu2
     
  7. defcon2

    defcon2 Nuevo usuario

    118
    0
    0
    Lo usas con Caja Rural? Si es asi podrias darle una mano a davidfx con la configuracion?
     
  8. Vitamina C

    Vitamina C Nuevo usuario

    12
    0
    0
    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
     
  9. raynexus

    raynexus Nuevo usuario

    59
    0
    0
    @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! :eek:k:
     
  10. Vitamina C

    Vitamina C Nuevo usuario

    12
    0
    0
    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.
     
  11. raynexus

    raynexus Nuevo usuario

    59
    0
    0
    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.
     
  12. lanotanegra

    lanotanegra Nuevo usuario

    7
    0
    0
    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 ;)
     
  13. Vitamina C

    Vitamina C Nuevo usuario

    12
    0
    0
    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:

  14. lanotanegra

    lanotanegra Nuevo usuario

    7
    0
    0
    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: 23/3/09
  15. Vitamina C

    Vitamina C Nuevo usuario

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

    lanotanegra Nuevo usuario

    7
    0
    0
    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: 23/3/09
  17. Vitamina C

    Vitamina C Nuevo usuario

    12
    0
    0
    es verdad, justamente me estaba dando cuenta de eso ahora...
     
  18. Vitamina C

    Vitamina C Nuevo usuario

    12
    0
    0
  19. lanotanegra

    lanotanegra Nuevo usuario

    7
    0
    0
  20. Carlos_conv

    Carlos_conv Nuevo usuario

    18
    0
    0
    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
     
  21. lanotanegra

    lanotanegra Nuevo usuario

    7
    0
    0
    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!
     
Cargando...

Compartir esta página

Cargando...