TPV BBVA en VirtueMart para Joomla

Para conectarnos al TPV del BBVA, tenemos dos maneras, mediante web services o mediante una redirección a través del navegador.

A continuación vamos a ver como configurar la segunda opción en un VirtueMart integrado en Joomla.

Los pasos a seguir son los siguientes:

1. Descargar los ficheros necesarios para el módulo del TPV BBVA en el siguiente enlace: tpv_bbva

2. Dentro del backend de Joomla (…/administrator), accedemos a Componentes->VirtueMart->Tienda->Listar formas de pago y damos de alta uno Nuevo.

A continuación vemos la configuración que tenemos que introducir:

En la pestaña de configuración, tenemos que copiar el código del fichero modulo_pago_configuracion.txt sustituyendo los datos en negrita por los de nuestro TPV del BBVA:

Palabra secreta ofuscada en formato HEX:

$obfuscated="88;87;1A;02;78;03;74;05;70;03;1F;XX;XX;XX;XX;XX;XX;XX;XX;XX";

Clave de descargar de la palabra secreta:

$clave="84972500";

Código del comercio del TPV:

$comercio="F2873856611142";

Dirección URL que va a recibir los datos de respuesta del TPV del BBVA.

$urlcomercio="http://bbvaglobalnet.com/administrator/components/com_virtuemart/notify_bbva.php";

Dirección URL a la que se redirecciona una vez finalizado el proceso de pago en el TPV del BBVA. Dependiendo de la respuesta, se mostrará un mensaje u otro.

$urlredir="http://bbvaglobalnet.com/index.php?option=com_virtuemart&page=checkout.result_bbva&order_id=".$db->f("order_id");

3. Copiar el fichero notify_bbva.php en el directorio administrator/components/com_virtuemart y cambiar el valor de las variables $obfuscated, $clave y $comercio al igual que en el paso anterior.

Este fichero es el especificado en la $urlcomercio y se va a encargar de procesar la respuesta del TPV y actualizar el estado del pedido.

4. Copiar el fichero checkout.result_bbva.php en el directorio administrator/components/com_virtuemart/html.

Este fichero es el especificado en la $urlredir y se encargará de mostrar el resultado de la operación realizada en el TPV.

5. Editar el fichero spanish.php del directorio administrator/components/com_virtuemart/languages/checkout y añadir las líneas correspondientes a:

'PHPSHOP_BBVA_THANKYOU' => 'Gracias, la transacción ha sido aceptada. Recibirás un email de confirmación de la transacción. Ahora puedes continuar o pinchar en el enlace inferior para ver los detalles del pedido.',
'PHPSHOP_BBVA_ERROR' => 'Un error ha ocurrido durante el proceso de la transacción. El estado de tu pedido ha pasado a cancelado.',
'PHPSHOP_BBVA_PENDING' => 'Se ha grabado correctamente el pedido, aunque aún no ha sido pagado. Pincha en el enlace inferior para ver los datos del pedido y completar el pago.'

El fichero completo está entre los ficheros descargados en el paso 1.

La información utilizada a sido una recopilación de la obtenida aquí

WordPressTwitterBlogger PostShare

14 thoughts on “TPV BBVA en VirtueMart para Joomla

  1. Buenos días.
    Lo primero agradeceros la aportacion del manual.
    Estoy realizando pruebas en integración y me salta el error:
    004 – Operacion No Procesada (02020000042)

    he consultado la documentación y se debe a
    004 02020000042 Error en la Petición del Comercio: La firma de la operación no es válida
    he revisado los datos de configuracion y estan correctos ni veo nada raro.
    La unica diferencia observable con vuestro ejemplo es que $clave tiene caracteres alfanumericos en vez de numericos solamente.

    A que puede ser debido.

    • Hola,
      Ese error se muestra cuando los datos que se envían al TPV, en el momento de realizar la comprobación de la integridad de los mismos, estos no coinciden por lo que lo primero que probaría sería generar una nueva palabra y con una contraseña nueva.
      Prueba esto y me comentas.
      Muchas gracias,

  2. Hola:

    Ante todo muchas gracias por la ayuda y por este interesante tutorial.

    Mi tienda funciona con un Joomla! 1.5 y un Virtuemart 1.1.4, y la verdad es que va razonablemente bien.
    Mi problema es el siguiente. Cuando el usuario pulsa en el enlace de “Finalizar pedido”, el proceso de checkout se abre en una nueva ventanita de 700 x 50 px con todos los pasos del proceso. Funciona bien, accedo al TPV y puedo hacer pagos con una tarjeta de pruebas, me confirma que el pago ha sido aceptado y demás…
    El caso es que una vez hecho el pago, debería cerrarse la ventana y redireccionar de nuevo a la tienda, concretamente a la sección de la cuenta de usuario donde se ven los pedidos hechos, estado, etc… Y NO LO HACE. ¿Cómo lo puedo solucionar?.
    Por otra parte, aunque el TPV haya aceptado el pago, en el apartado de pedidos sigue apareciendo como “Pedidos pendientes” cuando debería aparecer como “Pagado”. Si me pudiéseis dar una orientación os lo agradecería.

    Un saludo.

    • Hola Óscar,

      El problema que tienes suele ser debido a que no está bien configurada la URL a la que redirecciona el TPV la respuesta de la operación ($urlredir) o bien que dicha URL (si estás en un entorno de desarrollo o similar) no esté accesible desde fuera de tu red o bien tienes un htaccess y el TPV no puede acceder a ella, por eso ni se te cambia el estado ni te dice que el pago se ha realizado correctamente dentro de tu portal.

      Un saludo

  3. Hola Carlos,

    De nuevo muchas gracias por la información. Resulta que ya me funciona el TPV, admite el pago y una vez hecho redirecciona al espeacio personal del cliente… el problema es que no cambia el estado del pedido una vez pagado. ¿Podrías explicarme cómo configurar el .htaccess para que si lo permita?. Supongo que debe ser eso, no se me ocurre nada más. Saludos y gracias.

  4. Hola, estoy desarrollando un tienda virtual en virtuemart y he seguido los pasos para instalar el tpv del bbva. Al realizar el pedido funciona correctamente, aunque dice que esta en un entorno en pruebas ( en integración ). He intentado cambiarlo desde la pagina del bbva, pero no tiene boton de aceptar el cambio o guardar. Solo me permite cancelar. Me pregunto si el cambio se realiza desde alli, o se deberia cambiar algun parametro en el codigo del tpv. Muchas gracias

  5. Tengo la página montada en el joomla! 2.5 y no se como seguir para poder hacer el paso 3, 4 y cinco, me puedes ayudar?

  6. Hola, no se ve bien la página, ¿se puede hacer algo para solucionarlo? ¿funciona este método para virtuemart 2?

  7. Tengo el mismo problema que Raul, alguien sabe a que se puede deber?

    “El pago no ha sido aceptado. Código de Acción Asignado: 0190″

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>