[Tutorial - Webpay] Configurar Webpay en Ubercart y Drupal Commerce

Posteado el por: moncada.nicolas
FacebookTwitter
drupal webpay

En el tutorial anterior instalamos y configuramos el módulo Webpay API, ahora vamos a ver como integramos este método de pago con Ubercart o con Drupal Commerce.

En este tutorial damos por hecho de que se realizaron los pasos del tutorial anterior, osea Webpay ya funciona correctamente en el sitio.

Instalando en Ubercart

La integración es bien simple, solo basta con descargar el módulo Ubercart Webpay y una vez que lo hayamos habilitado debería estar disponible el método de pago en el checkout. Algo como esto:

Si entramos a la página de configuración de Webpay API, debería aparecer esto:

NOTA: En la configuración de la tienda de Ubercart se debe establecer con que moneda se trabajará en el comercio, recordemos que Webpay solo trabaja con CLP o USD. En caso que lo tengan con otra moneda, el sistema no dejará usar el método de pago.

Instalando en Drupal Commerce

La integración también es simple, descargamos el módulo que integra Webpay API con Drupal Commerce y una vez habilitado ya debería andar el método de pago en el checkout. Sin embargo, debemos configurar el correo y la página de éxito para que muestren el comprobante de pago que exige Transbank.

Comprobante de pago

Adjuntar comprobante al correo electrónico

En Drupal Commerce, cuando se completa una compra, se gatilla una regla que envía un correo electrónico al cliente, esto se hace gracias al módulo Rules. La idea es que en ese correo pueda ir adjuntado los datos que exige Transbank, esos datos se imprimen en la página de éxito, un ejemplo:

Para adjuntar esta tabla contamos con un token que debe ir en el correo electrónico. Para hacer eso debemos tener habilitado el módulo Rules UI y luego ingresar a la página de configuración (admin/config/workflow/rules) y buscar la regla "Send an order notification e-mail", le hacemos clic en editar y veremos algo como esto:

Aquí es donde podemos editar el contenido del correo electrónico, le damos clic en editar (la imagen te indica donde) y buscamos la sección "Message", aquí es donde agregamos el token [commerce-order:voucher-webpay], un ejemplo:

Así, cada vez que se compre con Webpay, en el correo irá el comprobante, en caso contrario no lo imprime.

Nota: Este comprobante, que es el mismo que se ve en la página de éxito, tiene adjuntado una vista generado por el módulo Views, esta vista sufre sutiles cambios por Drupal Commerce que es alterar el acceso, todo bien salvo que el correo electrónico se envía cuando se hacen las validaciones en la página de cierre que utiliza Webpay y esto lo realiza el KCC como un usuario anónimo, esto hace que el comprobante tenga todos los datos salvo la vista de los productos, esta quedará vacío. Una solución a esto es editar dicha vista, llamada "Shopping cart summary", en ella se debe seleccionar la opción "Disable SQL rewriting", que está en las opciones de la Query de la vista. (Esta vista es usada en el checkout del usuario y no cuenta con un display como página, no debería haber problemas de seguridad al habilitar esta opción)

Comprobante en la página de éxito.

Para agregar el comprobante en la página de éxito, deben ir a admin/commerce/config/checkout/form/pane/checkout_completion_message, y en el área de texto agregan el token [commerce-order:voucher-webpay]

moncada.nicolas

Últimos Comentarios

Blog

En esta sección compartimos algunas experiencias concretas para la comunidad de desarrolladores de código abierto

Hace un tiempo atrás, Transbank (la empresa detrás de Webpay) había habilitado una nueva modalidad para integrar su sistema de pago con nuestros sitios. Se trata de un servicio web que utiliza el protocolo SOAP, haciendonos más fácil la integración con respecto a su antecesor. Y para soportar esto en Drupal, se ha publicado una nueva versión del módulo Webpay y aquí veremos como funciona.

Posteado el por: moncada.nicolas

Para la junta de Drupal (realizado el 20 de Diciembre del 2016) he presentado el desarrollo de un módulo pensado para la comunidad de Drupal Chile, llamado Badge. El objetivo del módulo es crear logros o insignias y asignarlo a usuarios u otras entidades de nuestro sitio.