Woocommerce en Chile con Transbank y sin Certificación

Woocommerce es una herramienta para generar sitios eCommerce que funciona sobre wordpress. A continuación la implementación para recibir pagos con tarjetas en Chile usando WebpayPlus. Este servicio se convirtó en lo que hoy es pagofacil.cl, recomiendo revisar la página web y ver el siguiente vídeo : https://www.youtube.com/watch?v=BIBx_mBt4-Y Si bien desde hace años que el plugin … Leer más

Instalando #MercadoPago para #Woocommerce #Chile « WordPress Plugins

Si bien MercadoPago es el líder en recepción de pagos para América Latina, en mi opinión aún le falta para poder llegar a ser competencia en Chile. Sin embargo tiene sus beneficios como el pago de 6 cuotas sin interés para tus clientes.

Origen: WordPress › Woo MercadoPago Chile « WordPress Plugins

Hoy se lanza de manera oficial este plugin a través del repositorio de WordPress, agradezco a las personas que me ayudaron al probarlo.

La última versión también es compatible con las 6 cuotas sin interés que ofrece Mercado Pago.

Ejemplos de implementación :

A continuación las instrucciones para instalarla en WordPress / Woocommerce.

Instalar a través de WordPress Plugin Directory ( Recomendado ).

Este debería ser el método más sencillo y simplemente corresponde a meterse al plugin directory y descargar.

  1. Entramos al panel de administración de wordpress.
  2. Seleccionamos plugins / añadir nuevo.
  3. Buscamos por MercadoPago y seleccionamos el que corresponde a la imagen que sale un poco más abajo. ( No se asusten por la cantidad de instalaciones activas, lo acabo de subir 🙂 )
  4. Al activar el plugin ahora debemos configurarlo. Nos vamos a Woocommerce / Preferencias / Finalizar Compra / Mercado Pago Chile y rellenamos con la información necesaria.
Instalando Mercado Pago Chile
Instalando Mercado Pago Chile usando WordPress y Woocommerce

Configurando el plugin de MercadoPago.

Configuración Woo MercadoPago
Configuración Woo MercadoPago

 

La verdad el plugin no es muy difícil de configurar, las variables posibles son :

  1. Habilitar / Deshabilitar Método de Pago: Activa este método de pago.
  2. Habilitar / Deshabilitar Sandbox : Solo si utilizarás el SandBox de Mercado Pago.
  3. Customer Message : Lo que quieres que le aparezca a tu cliente al momento de realizar la compra.
  4. Título : El título que le aparecerá a tu cliente al momento de realizar el pago.
  5. Client Id :  Este ID es tu ID de Mercado Pago. Es necesario para que se pueda conectar a tu cuenta.
  6. Secret Key: Al igual que el ID corresponde al par de datos o credenciales facilitadas por MercadoPago para poder recibir los pagos.
  7. Pagos Habilitados : En este caso simplemente selecciona los métodos de pago que NO quieras aceptar en tu tienda.

Teniendo las credenciales y tu cuenta en MercadoPago es muy sencillo empezar a recibir los pagos.

Obtener las credenciales.

Si bien la documentación de desarrolladores debería ser muy completa y extensa, es mucho mejor tener el link directo para obtener las credenciales.

Las credenciales pueden ser obtenidas en el siguiente link : https://www.mercadopago.com/mlc/herramientas/aplicaciones

 

Inscribiéndose en MercadoPago

Si bien no tengo nada que ver con este sistema, les dejo el contacto directo para empresas en caso de que lo requieran y tengan consultas. Yo no tengo las respuestas sobre MercadoPago.

[contact-form to=’[email protected]’ subject=’Contacto Web Cristian Tala S.’][contact-field label=’Nombre’ type=’name’ required=’1’/][contact-field label=’Correo electrónico’ type=’email’ required=’1’/][contact-field label=’Sitio web’ type=’url’/][contact-field label=’Comentario’ type=’textarea’ required=’1’/][/contact-form]

 

Sistema de pagos para #Chile usando Mercado Pagos y Woocommerce

WooMercadoPagosChile – Sistema de pagos para Chile usando Mercado Pagos y Woocommerce.

Origen: GitHub – ctala/WooMercadoPagosChile: Sistema de pagos para Chile usando Mercado Pagos.

Hace un tiempo que había querido implementar más sistemas de pago en mis eCommerce pero la verdad es que no me había dado el tiempo. Ahora que lanzamos pandora parecía un buen momento para comenzar a experimentar. Estuve revisando alternativas en las que no me daban respuestas a mis preguntas y por otro lado me contactaron desde MercadoPagos para apoyarme en todo lo que necesitara. Si bien la comisión asociada es mayor a la que estoy acostumbrado, se puede comenzar a utilizar de inmediato y agrego métodos de pago que anteriormente no hubiera podido aceptar.

Mercado Pagos y Woocommerce

El plugin está desarrollado para Woocommerce  e incluye todos los métodos de pago aceptados por Mercado Pagos, solo que por el momento deshabilité Webpay y Khipu debido a que ya los tengo implementados en mi sitio de manera individual. Cuando lance la última versión del plugin esto se podrá seleccionar en la administración.

OJO, PESTAÑA Y CEJA …

… el plugin está en desarrollo, si bien está en una versión estable podrán ver algo de código al realizar un pago ya que aún estoy haciendo algo de debug.

A continuación un listado de operaciones que se realizaron a través de Woocommerce que aparecen en la página de Mercado Pago.

Captura de pantalla de 2016-01-20 11:32:49

¿ Cómo probarlo ?

Actualmente hay dos formas de probarlo :

  1. Generar una compra en la tienda de Pandora.cl
  2. Instalar el plugin de desarrollo en tu tienda.

Compras en Pandora

Obviamente están total y cordialmente bienvenidos a comprar en la tienda para probar mercado pagos. Actualmente tengo habilitado el pago con tu crédito de Mercado Pagos, con Magna, con Presto, con CMR, con Diners y con Servipag

Instalando el plugin en tu tienda con woocommerce.

Las instrucciones de los requerimientos del plugin las pueden encontrar directamente en el GitHub del plugin. https://github.com/ctala/WooMercadoPagosChile

¿ Quieres aportar ?

Comenta este post y da el feedback necesario para que el plugin funcione como se debe.

Posibles preguntas frecuentes.

  1. ¿ Será el plugin será gratuito ? Tomando en consideración que ya pueden acceder al código creo que la respuesta es obvia.

 

¿ Dudas sobre MercadoPago ?

El formulario a continuación le llegará a la persona que me convenció de implementar Mercadopago en mi sitio. No creo que le molesten un par de contactos.

[contact-form to=’[email protected]’ subject=’Contacto Web Cristian Tala S.’][contact-field label=’Nombre’ type=’name’ required=’1’/][contact-field label=’Correo electrónico’ type=’email’ required=’1’/][contact-field label=’Sitio web’ type=’url’/][contact-field label=’Comentario’ type=’textarea’ required=’1’/][/contact-form]

Crear una Base de Datos MySQL remota para optimizar el rendimiento del sitio WordPress.

Cuando el sitio comienza a tener más tráfico tenemos que comenzar a pensar en como poder manejarlo. Lo más sencillo y lo que recomiendo es sacar la base de datos del servidor, en especial debido a que Mysql al no tener recursos suficientes simplemente deja de funcionar. Esto logra que cada servidor maneje su propia carga, además de ser el primer paso para tener un sitio con balanceador de carga.

En mi caso particular lancé un nuevo eCommerce con Woocommerce / WordPress en el cual no separé desde un inicio la BdD de datos debido a que pensé que el sitio tendría menos tráfico y carga asociada, me equivoqué, lo que es realmente bueno.

Sin embargo no puedo dejar que el eCommerce se caiga cada vez que tenga mucho tráfico, no sería muy agradable perder ventas por esto.

Este minitutorial está alojado en digital ocean, la verdad lo he probado hace un tiempo y funciona bastante bien. Sin embargo  se puede extrapolar para cualquier servidor linux, en mi caso Ububtu 14.04.

Entonces, lo que haremos :

  1. Crear un nuevo servidor ( Droplet ) al cual le instalaremos una base de datos Mysql.
  2. Instalar la base de datos Mysql.
  3. Configurar la BdD en modo seguro/ Producción.
  4. Crear un usuario / password para el acceso del sitio wordpress.
  5. ( Opcional ) – Configurar el firewall del servidor.

Creando el nuevo droplet

Esto ya es bastante sencillo, simplemente vamos a el panel de administración de Digital Ocean y hacemos click en crear un nuevo droplet. Asegurate que el servidor quede en el mismo datacenter donde se encuentra tu máquiba virtual que aloja tu servidor wordpress, de no ser así funcionará pero no a la velocidad esperada para nuestro sitio.

Digital Ocean Create Droplet
Digital Ocean Create Droplet

Por ahora el servidor MySQL no necesita ser más potente que la versión más sencilla, de ser necesario en un futuro simplemente hacemos el upgrade, pero recomiendo usar un caché en el servidor de wordpress.

Instalando Mysql

Ya teniendo nuestra máquina recién horneada, accedemos a ella para instalar el servidor mysql.

sudo apt-get install mysql-server

Debido a que estaremos en un servidor de producción, recomiendo poner una contraseña segura para el usuario root y solo acceder a él desde la máquina local y ninguna remota. Si es paranoia, aún no me ha pasado nada pero no esperaré a que me pase.

Ya teniendo el servicio de mysql andando, ahora simplemente ejecutemos un script que simplemente elimina las posibles vulnerabilidades de seguridad que tiene mysql en servidores de desarrollo.

sudo mysql_secure_installation

Ya que estamos acá, para probar que todo funciona accederemos a La bdD por consola y crearemos la base de datos para wordpress.

# mysql -u root -pMICLAVESINESPACIODESPUESDELAP

Ya habiendo ingresado la creamos.

mysql> create database wordpress;
 Query OK, 1 row affected (0.00 sec)

Configurando el acceso remoto.

Antes que todo, le debemos decir a Mysql cual es su IP, así que procedemos a editar el archivo:

sudo vim /etc/mysql/my.cnf

Y buscamos donde dice bind-address y lo cambiamos por nuestro IP :

bind-address        = TUIP

Si tu IP es pública, va esa. Si tienes una red interna, usas el IP de la red interna.

Ahora reiniciamos el servicio para ver que todo funcione bien.

sudo service mysql restart

Generando las credendiales para WordPress

Ya tenemos el servidor virtual, mysql instalado, y la capacidad de ser accedido de manera remota, lo que nos falta es un usuario que pueda acceder de manera  por este medio.  Recordar que ya creamos la BdD llamada wordpress en un punto anterior.

Creemos el usuario y le damos los accesos necesarios a nuestra base de datos para que wordpress pueda funcionar de manera correcta :

CREATE USER 'MIUSUARIO'@'localhost' IDENTIFIED BY 'MICLAVE';
CREATE USER 'MIUSUARIO'@'%' IDENTIFIED BY 'MICLAVE';
GRANT SELECT,DELETE,INSERT,UPDATE ON wordpress.* TO 'MIUSUARIO'@'localhost';
GRANT SELECT,DELETE,INSERT,UPDATE ON wordpress.* TO 'MIUSUARIO'@'%';

Con lo anterior creamos tanto el usuario remoto como el local. No olvides modificar la nueva información en el archivo de configuración de wordpress para que los cambios funcionen.

Asegurando el servidor

Si notaron, en este momento cualquier IP puede acceder a nuestro servidor. Dependiendo de la configuración esto puedo ser bueno o malo, si bien esto se puede bloquear directamente desde la configruación de acceso a mysql, lo que haremos es configurar el firewall para solo aceptar el tráfico de los IPs que nosotros permitamos.

Asumiendo que tenemos UFW ( Uncomplicated Firewall ) ya instalado, simplemente agregamos la siguiente regla :

# sudo ufw allow from MYIP to any port 3306

Lo que hace es que le permite acceder al puerto 3306 a la IP dada. Si no lo tienes instalado revisa este blog bost : Firewall usando UFW en un servidor Ubuntu / Debian.

Además recomiendo bloquear todas las conexiones que no estén permitidas. ( No hagas esto si no haz agregado ssh a la lista de permitidos ).

# sudo ufw default deny incoming

Y eso sería todo :D.

 

Origen: How To Set Up a Remote Database to Optimize Site Performance with MySQL | DigitalOcean

#Transbank y Servidores fuera de #Chile para los #eCommerce

Ya somos muchos los que hemos estado teniendo problemas con conexión de nuestro eCommerce a Transbank. ¿ A que se debe esto ?

Desde ya hace unas semanas, un par antes del #CyberDay en Chile, han habido dificultades con las conexiones de los sitios web a transbank.  Ahora existe un comunicado «Algo más oficial» para los que tenemos nuestros propios sitios eCommerce en nuestros propios servidores.

Por políticas de seguridad han bloqueado ciertos IPs del extranjero ( no estoy seguro que sean todos ) y esto es sencillo de arreglar pidiendo que agreguen tu IP a un whitelist para que pueda generar las conexiones en el servidor de producción. Esto se debe a un incremento en la seguridad por parte de Transbank para evitar posibles problemas.

Al parecer el problema crítico es en el servidor de certificación en donde hoy estaba teniendo problemas con la conexión de uno de los sitios y la respuesta fue la siguiente :

Cristian, buenas tardes:
Según lo revisado, te comento que no nos será posible hacer la revisión de este sitio web, debido a que se encuentra en un servidor fuera de Chile y por políticas de seguridad implementadas en el área de comunicaciones, no se tiene acceso desde equipos fuera de chile al ambiente de certificación. Esta medida es de carácter permanente por lo cual recomiendo evaluar la opción de contratar un hosting nacional.
Cabe destacar que esto es solamente para el ambiente de certificación. No hay problemas en mantener un ambiente productivo en un hosting fuera de Chile.
Lamentamos los inconvenientes generados por esta situación.
Quedo atento a tus comentarios.
Saludos cordiales,
XXXX XXXX

Por lo tanto ya sabemos de ante mano que al menos para le certificación debemos tener un servidor nacional. Si aún tienes problemas con tu servidor en producción por favor hablar a Transbank para que agreguen tu IP a un whitelist para no tener problemas.

Si bien esto puede hacer un poco más complejo el proceso de tener nuestros eCommerce con pago con tarjetas de crédito, no olviden que alternativas de pago existen bastantes y que el mayor porcentaje de compras a través de internet aún son por débito y no por crédito. No se asusten de usar medios de pago para transferencias bancarias como lo puede ser Khipu.