Con el fin de programar algo no relacionado con trabajo hice una aplicación web simple que te permite consultar tus estadísticas de uso de Uber. La aplicación está copiada inspirada en Uber Totals con un par de diferencias (además del idioma). Puedes consultar tus estadísticas utilizando este link.
Programación
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.
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.
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.
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.
Frecuentemente me han solicitado ejemplos de PHP para Banorte Payworks ya que en ocasiones es un poco complicado conseguirlas por medio de los ejecutivos (o los que entregan no funcionan del todo), para facilitar esto cree un repositorio en GitHub con dos ejemplos: ordinario (transparente para el usuario) y 3d secure (solicita verificación en caso de que aplique).
Con ambos ejemplos pueden hacer cualquier tipo de transacción (auth, preauth, void, etc.) y pueden consultar las variables obligatorias para cada transacción en el manual provisto por Banorte.
Posiblemente este debe ser uno de los módulos que más utilizo al desarrollar aplicaciones móviles con Titanium Mobile. Consiste en una vista con un indicador de actividad y una etiqueta con un texto.
Para evitar escribirlo cada vez que lo necesito (por sencillo que sea), lo puse en un archivo externo y lo llamo cada vez que lo necesito de la siguiente manera:
El archivo que genera la vista (loadingWindow.js) contiene lo siguiente:
La función acepta una variable para reemplazar el mensaje de “Cargando” dependiendo el contexto. Hasta ahora únicamente lo he probado en iOS y me funciona sin problemas, faltaría hacer las pruebas en Android.
Aprovechando que un cliente me solicitó una integración de la TPV Virtual de BBVA Bancomer y en base a la respuesta que han tenido otros módulos que he desarrollado para magento me puse a integrar esta plataforma.
El módulo envía al usuario a la página de BBVA Bancomer para completar el pago después de llenar los campos requeridos en la orden de Magento y después es enviado de regreso a la tienda de Magento donde le es mostrado el resultado de la transacción.
La orden se marca como “pendiente de pago”, “completada” y “cancelada” automáticamente según sea el caso.
Si alguien está interesado puede adquirir el módulo en este enlace.
Para un proyecto propio necesitaba poder procesar pagos por medio de dispositivos móviles y opté por desarrollar una aplicación para iOS.
La aplicación utiliza la API de BanWire para procesar tarjetas de crédito Visa, MasterCard y American Express, por ser la primer versión está sencilla y su finalidad única es procesar los pagos; ya que el proyecto estará a prueba decidí desarrollar el MVP y extenderlo en un futuro dependiendo de el éxito.
La aplicación fue enviada el día de hoy a revisión y deberá estar disponible en un par de semanas en este enlace. Dejo un par de capturas de pantalla.
UPDATE 17/12/12: La aplicación ya se encuentra publicada en la AppStore.
Aprovechando que desarrollé el módulo de Banwire para magento, hice el módulo para WHMCS ya que es un sistema que utilizo para hacer cargos a mis clientes (sobre todo de hospedaje web).
El módulo de Banwire para WHMCS permite hacer cargos a tarjeta Visa, Master Card y American Express funcionando de forma transparente (utilizando la API de Pago Pro), de esta forma el usuario nunca deja la página para hacer el pago.
Puse el módulo a la venta por si alguien se encuentra interesado.
Desarrollé el módulo de Banwire para Magento debido a que algunos usuarios tenían problemas realizando la contratación de Banorte Payworks (este año hicieron un poco más largo el proceso de solicitud).
El módulo permite capturar los fondos de tarjetas de crédito (Visa, Master Card y American Express) en tiempo real y etiqueta la orden en base al resultado, todo el procedimiento es transparente para el usuario ya que se realiza en la tienda online sin llevar al usuario a una página externa (como lo es con PayPal).
Al igual que mis otros módulos si alguien está interesado el módulo está a la venta.