Cobrar con Banorte Payworks en WooCommerce

Debido al incremento de la popularidad de WooCommerce –de acuerdo a BuiltWith el 42% de los sitios de comercio electrónico utilizan esta plataforma– decidí desarrollar un módulo que permita cobrar desde esta plataforma usando Banorte Payworks.

Banorte Payworks es una muy buena alternativa para cobrar por internet pero no hay mucha información para implementarlo y los costos de desarrollarlo in-house suelen ser altos.

El módulo para WordPress habilita el método de pago de Banorte Payworks 2.0 en WooCommerce y cuenta con soporte para 3D Secure.

El módulo se puede adquirir en linea utilizando este enlace.


Si quieres recibir más información sobre este módulo en tu correo, puedes utilizar el siguiente formulario:

Agregar estados de México a Magento

Magento por defecto solo tiene los estados de un par de países. En el caso de México al seleccionar el país nos muestra un campo de texto libre en lugar de un desplegable como lo hace con Estados Unidos.

Para mostrar una lista desplegable en lugar del campo de texto basta con insertar los estados en la base de datos. Puedes utilizar el snippet que hice; usa los códigos de subdivisión del ISO 3166-2:MX.

Y listo, a partir de este momento al seleccionar México en cualquier desplegable de la tienda mostrará la lista de estados en lugar del campo de texto.

Captura de pantalla 2016-05-02 a las 8.27.59 p.m.

Cobrar por internet en México v2

En el 2012, cuando apenas había un par de opciones para procesar pagos con tarjetas bancarias por internet, escribí un artículo con un comparativo de un par de soluciones que conocía. Ahora hay mucha más oferta y las soluciones son mucho más completas.

Frecuentemente clientes me preguntan sobre estas soluciones, así que decidí hacer un comparativo para poder proporcionar información más completa que la que puedo dar en una llamada.

Conekta Openpay Banwire Banorte Payworks Paypal
Comisión fija $2.5 a $12 $2.5 a $8 $2.5+ $0 $4
Comisión variable 2.9% a 4.5% 2.9% a 4.5% 2.9% a 4.9% 1.15% a 3.4% 2.95% a 5%
Depósito de fondos 3 a 8 días hábiles Una vez por semana Martes y viernes Día hábil siguiente Instantáneos. 4 a 6 días para transferir al banco
Tiempo de contratación 2 días hábiles. Variable 3 días hábiles. Variable 1 semana. Variable 15 a 30 días. Variable Instantáneo
Visa y Mastercard
American Express No
Pagos en ventanilla Solo Banorte No No Solo Banorte. Conciliación manual No
Transferencias SPEI Conciliación manual Solo para fondear
Tiendas de conveniencia OXXO 7 Eleven y 18 marcas más OXXO No No

Conekta

Recientemente ha ido ganando más terreno y considero que es una de las empresas que ha realizado la mejor ejecución en el área de pagos.

Cuenta con excelente documentación para desarrolladores y plugins para E-Commerce que facilitan bastante la integración a la plataforma.

Openpay

También han tenido excelente ejecución y comisiones casi idénticas a las de Conekta. Lo interesante de Openpay es que te permite transferir los fondos a diferentes cuentas (ideal para marketplaces) mientras que las otras opciones solo transfieren a la cuenta del comercio.

Anteriormente Openpay aceptaba Bitcoin como método de pago pero al momento de escribir este artículo no pude encontrar referencia en su sitio web.

Banwire

Banwire lleva un par de años en el mercado de los pagos en línea pero su ejecución no ha sido tan buena, especialmente en la documentación para desarrollo y las integraciones que ofrecen (cobran por utilizar sus módulos).

He escuchado de clientes que los porcentajes de contracargos son muy altos y el proceso para disputarlo no es muy eficiente.

Banorte Payworks

Comparando Banorte Payworks con otras soluciones en un poco difícil de contratar y el proceso puede tardar un par de semanas. Ofrecen documentación muy completa para realizar la integración pero no tienen plugins para E-Commerce desarrollados por lo que le agrega un costo adicional al cliente.

Dependiendo el giro del negocio puede obtener significativos ahorros en comisiones, sobre todo en función al volumen.

Payworks requiere el uso de 3D Secure con la finalidad de reducir los contracargos y los riesgos en las transacciones; pero esto daña la experiencia de usuario.

Paypal

Esta opción la recomiendo únicamente como alternativa de pago pues los usuarios no siempre están familiarizados con la plataforma y se pueden abrumar con el proceso.

Por otro lado tienen muchísimas integraciones y buena documentación para desarrolladores.

Es buena opción para los usuarios que ya tienen cuenta pero las comisiones son más altas que todas las otras alternativas.

Otras opciones

Existen otras alternativas en el mercado como PayU y Pagofacil pero no he tenido la oportunidad e integrarlos en algún proyecto.

Payworks 2, 3D Secure, Cybersource y Magento

Recientemente Banorte ha empezado a migrar a los usuarios de Payworks 1 a la nueva versión de la plataforma Payworks 2 y ha empezado a solicitar a todas las nuevas afiliaciones (salvo algunas excepciones) el uso de 3D Secure; y en algunos casos la integración de Cybersource para el calculo de riesgo.

La ventaja de tener esta combinación de herramientas es la reducción de contracargos y mejora en la experiencia de usuario ya que solo serán enviados a 3D Secure los usuarios que no pasen la validación de Cybersource.

Recientemente actualicé el módulo de Magento que había desarrollado para Payworks para integrar los nuevos cambios a la plataforma de Payworks y la integración de Cybersource. Este módulo ya está siendo usado por algunos clientes y ha sido certificado por parte de Banorte.

El módulo se puede adquirir en linea utilizando este link.


Si quieres recibir más información sobre este módulo en tu correo, puedes utilizar el siguiente formulario:

Módulo de Banwire API-JS para Magento

Después de varias peticiones, programé el módulo de Banwire con la API de JavaScript para Magento. El módulo permite recibir pagos por medio de OXXO, SPEI y todas las tarjetas de crédito soportadas por Banwire.

Captura_de_pantalla_2014-09-04_a_la_s__12_12_48

Todo el proceso de compra ocurre en la página del comercio y envía los datos personales a Banwire para que el usuario no los tenga que capturar de nuevo.

La ventaja de este módulo sobre el anterior (además de agregar OXXO y SPEI), es que el comercio no requiere tener certificado SSL pues todo el procesamiento e ingreso de datos es en la interfaz de Banwire.

Los pagos realizados por medio de OXXO y SPEI son reflejados en el sistema automáticamente una vez que Banwire envía la notificación correspondiente.

Si alguien está interesado en adquirir el módulo, pueden hacerlo en este enlace. Si requieren factura fiscal, favor de realizar el pago por transferencia bancaria.

Scrum para uno

Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software. [1]

Recientemente me convertí en ScrumMaster después de ver los resultados de esta metodología ágil en mis últimos dos empleos.

Después de entender mejor su aplicación decidí hacer una metodología para el manejo personal de mi día a día.

Para esto hay que alejarnos del manifiesto de scrum, porque aquí no estamos colaborando con clientes, ni compañeros de trabajo; tú eres el único responsable, interesado y afectado.

Al final se trata de aprender a dividir el trabajo en partes pequeñas que agreguen valor, responder al cambio y entrar en un punto de mejora continua sin perder el foco.


1.- Divide los objetivos

¿Quieres aprender un idioma? ¿Quieres dominar una nueva técnica de negociación? ¿Un lenguaje de programación? ¡Bien! Divídelo en metas pequeñas, que agreguen valor por sí solas, pero en conjunto se conviertan en un resultado, tu objetivo.

Cada objetivo debe estar dividido en metas que a su vez tendrán que cumplir los siguientes criterios:

  • Independiente
  • Negociable
  • Valiosa
  • Estimable
  • Pequeña

Y cada meta debe estar dividida en tareas que cumplan los siguientes criterios:

  • Específica
  • Medible
  • Alcanzable
  • Relevante
  • Tiempo determinado

2.- No trabajes en muchas metas a la vez

Esto te ayudará a no perder el foco en las que estás actualmente trabajando. Dependiendo el tamaño de las metas, trabaja en dos o tres a la vez. Al final, una meta empezada pero sin terminar, es lo mismo a ninguna meta.

3.- Trabaja por iteraciones

En scrum se trabaja por iteraciones que pueden ir de 1 a 4 semanas (idealmente) en las que al inicio de la misma, seleccionarás un grupo de metas que deberán ser cumplidas durante ese plazo.

Esto ayuda a definir que es lo que hay que hacer y cuando. Es muy importante tener en claro la capacidad que se tiene para no dejar metas empezadas al final de la iteración.

Cada iteración nos acerca a llegar al siguiente nivel.

4.- Mira hacia atrás

Después de cada iteración es necesario que te tomes un tiempo para hacer una evaluación honesta de las metas trabajadas para saber si se cumplieron o si es necesario trabajar con alguna de ellas durante la nueva iteración.

También hay que hacer un análisis del proceso que se siguió para cumplir estas metas y definir si es necesario cambiar algo porque no esté funcionando o repetir algo porque sí funcionó.

5.- Mejora continua

No existe otra finalidad en seguir este procedimiento que la mejora continua, ya sea para aprender algo que nos gusta, volvernos más capaces o entrenar alguna habilidad.

Las metas puede que no agreguen mucho valor por sí solas, pero lo hacen, en conjunto completan un objetivo.


Antes de conocer scrum no sabía como ser disciplinado, quería cumplir con mis objetivos y compromisos, simplemente no tenía idea de que procedimiento seguir ni cómo evaluarlo.

Esta metodología contiene lo que yo rescaté de Scrum para aplicarlo a mis proyectos personales. Scrum es mucho más que esto y es una excelente herramienta para trabajar y coordinar equipos ágiles.


Publicado originalmente en Medium

[1] “Scrum.” Wikipedia, La enciclopedia libre.<http://es.wikipedia.org/w/index.php?title=Scrum&oldid=74109343>.

Enviar respaldos de cPanel a Amazon S3

Tengo un servidor web con cPanel que utilizo para hospedar sitios web de clientes. Actualmente me genera respaldos incrementales diaria, semanal y mensualmente; y se almacenan en un disco duro secundario.

A pesar de los respaldos en el servidor hay algunos sitios web que me preocupan en caso de una falla de hardware que puede demorar el tiempo en el que puedo acceder a los datos (o perderlos definitivamente).

Para solucionar este problema —y dormir más tranquilo— decidí enviar los respaldos de ciertas cuentas a Amazon S3. Escribí un script simple en ruby para hacer esta tarea:

El script requiere tener instalada la gema aws-sdk instalada. Es necesario modificar las variables backup_dir, users, bucket y s3 con los datos de cada entorno.

Este script solo funciona con backups incrementales pero con pequeñas modificaciones se puede adaptar a backups comprimidos por cPanel.

Es posible configurar el ciclo de vida en el bucket de S3 para eliminar los archivos automágicamente, en mi caso, únicamente conservo los backups de los últimos 3 días.

Aplicación para revista en iOS

Para una revista local desarrollé una aplicación para iOS para que puedan distribuir fácilmente sus publicaciones por este medio (manteniendo la versión impresa).

El resultado fue el siguiente:

La aplicación funciona en todos los dispositivos con iOS 5.4 o superior y cuenta con un backend que permite actualizar la revista remotamente añadiendo la portada y le PDF correspondiente a la edición.

La ventaja para el cliente es que no necesita (si no lo requiere) una versión específica para los dispositivos móviles ya que puede hacerlo con el mismo PDF que envía a impresión.

La aplicación funciona offline (con las ediciones previamente descargadas) y puede tener costo cada una de las ediciones con compras In-App o toda la aplicación.

El backend de la aplicación está desarrollado con PHP y utiliza MongoDB para almacenar los datos.

Esta misma aplicación se está adaptando para otros clientes bajo el modelo de servicio, se cobra una renta mensual y el cliente es libre de subir/vender las ediciones que desee. No se entrega código fuente y todo se hospeda en mi infraestructura.

Si alguien está interesado puede contactarme para armar un plan a medida, cuento con una versión similar pero enfocada en catálogos de negocios (mueblerías, zapaterías, etc.).

ALOHA
ALOHA
Developer: PincelStudios
Price: Free

Todas las Cocas son buenas

Tu puedes ver la televisión y ver un comercial de Coca-Cola, y sabes que el presidente toma Coca-Cola, Liz Taylor toma Coca-Cola, puedes pensar que tu también puedes beber Coca-Cola. Una Coca es una Coca y por más dinero que tengas no podrás conseguir una mejor Coca-Cola a la que el vagabundo de la esquina está tomando. Todas las cocas son las mismas y todos los cocas son igual de buenas. Liz Taylor lo sabe, el presidente lo sabe, el vagabundo lo sabe, y tú lo sabes.

– Andy Warhol (vía Isopixel).