Fernando De Vega - IT y algo más
Fernando De Vega - IT y algo más

Bienvenido a mi blog, en donde escribo sobre diferentes temas como tecnología, comercio electrónico, software, y otras cosas más.

Web developer en Javascript, NodeJS, Ruby, PHP, entre otros; Ingeniero en Telecomunicaciones y amante de la tecnología y la innovación. Siempre hay algo nuevo para aprender :)

Comparte


Twitter


Fernando De Vega - IT y algo más

Cómo Abrir una Tienda Online en Panamá - Requisitos Técnicos

Fernando De VegaFernando De Vega

Luego de una larga pausa, finalmente he encontrado el tiempo para continuar, y con algo de suerte, finalizar esta serie de artículos sobre cómo abrir una tienda online en Panamá. Los artículos fueron una introducción con el fin de poder planificar mejor nuestra tienda y entender bien los requisitos legales y fiscales que conlleva. En este artículo entraremos ya en lo técnico. No será una guía profunda que explique paso a paso como construir la tienda; será más bien una guía que introducirá los conceptos y los requisitos técnicos para montar la tienda. Si usted no tiene conocimientos sobre programación web y creaciones de páginas web, lo mejor es conseguir un especialista en esto que lo ayude. Sin embargo, este artículo le ayudará a entender las recomendaciones del profesional y su jerga, y no dejarse embaucar por palabrerías complejas.

Como en toda tienda física, necesitamos de un lugar donde colocar nuestra tienda para que nuestros clientes nos visiten. Aquí veremos cómo.

Los Componentes Básicos

Cuando hablamos de tiendas online, lo primero que nos viene a la cabeza usualmente es Amazon. Si hablamos de tener nuestra propia tienda, casi siempre lo primero que nos imaginamos es el nombre .com de la tienda. Ese .com es lo que se conoce como dominio. Sin embargo, el dominio no es lo único que compone una tienda online. A continuación veremos detalle a detalle cada componente, y lo haremos a través de analogías. Veamos primero entonces el dominio.

El Dominio

Como mencioné antes, esta es la parte que todo el mundo conoce: el dominio, siendo el más popular el dominio .com (.com es una abreviación de la palabra en inglés commercial). Hay otros tipos de dominio, como por ejemplo el .net (que significa network), el .org (que significa organization), etc. Cuando empezó Internet, el .com era el más popular, a tal punto que hoy en día conseguir un dominio .com con un nombre común específico puede resultar una tarea muy díficil, por lo que las compañías y usuarios empezaron a adquirir dominios .co, pues esto suena a company pero en realidad es el dominio que representa al país Colombia (así como nosotros en Panamá tenemos el .pa).

Una vez se adquiere un nombre de dominio, este ya no está disponible para ser comprado; es decir, si usted quería el dominio midominio.com y ya este fue comprado, usted no podrá conseguir ese dominio salvo que contacte al dueño del dominio y negocie la compra del mismo, lo que suele ser muy costoso. Debido a la alta demanda de dominios .com, la gran mayoría de los nombres comunes (nombres, sustantivos, adjetivos, etc.) ya no están disponibles. Como mencioné, existen otros tipos de dominios como el .co, el .pa, el .io, etc. que son dominios de países. Las empresas e individuos empezaron a adquirir dominios de países y usarlo de manera creativa para sus nombres de dominio. Por ejemplo la dirección toysr.us (.us es el dominio de Estados Unidos) redirige hacia la tienda de Toys R Us, o instagr.am (.am es el dominio de Armenia) que redirige hacia Instagram. Y con la popularidad de Twitter y el límite de caracteres impuesto, los short domains, o dominios cortos también se hicieron populares, como por ejemplo bit.ly, o goo.gl, que son servicios para acortar direcciones web largas.

¿Pero qué es esto de los dominios? ¿Para que me sirven? Para entender bien lo que es un dominio vamos a usar la analogía de un local comercial. Digamos que vamos a abrir nuestra tienda en un local comercial. Lo primero que necesitamos es obviamente el lugar donde estará el local, es decir, la dirección. Digamos que queremos que nuestro local esté ubicado en Avenida Principal, Calle 123, lote 456. Lo primero que tenemos que hacer es ver si ese lote en esa dirección está disponible. Obviamente si ya hay alguien ahí no podemos poner nuestra tienda ahí, salvo que le ofrezcamos al dueño de ese lote dinero por ese lugar, y el/ella esté dispuesto a vender. Digamos que sí está disponible. Compramos el lote. Ahora mismo es un lote baldío, pero ya tenemos el lugar donde irá nuestra tienda. Bueno, ese lote que acabamos de comprar en esa dirección es nuestro dominio. Aún no hay nada, pero ya es una dirección en donde los clientes pueden ubicar nuestra tienda. Y eso es exactamente lo que hacemos cuando adquirimos un dominio: compramos una dirección para que nuestros clientes puedan acercarse y comprar.

Hay muchas formas de comprar un dominio en Internet. Usted mismo puede hacerlo, o puede contratar una empresa o individuo en Panamá para que lo haga. Lo mejor que puede hacer es empezar la búsqueda usted mismo. Como mencioné, la alta demanda de .com hace casi imposible conseguir un dominio .com que no esté tomado (yo tuve la suerte de adquirir este dominio, fernandodevega.com pues es un nombre propio no muy común, y me adelante a otros con este mismo nombre). ¿Cómo puede usted buscar el dominio? Hay muchas empresas que ofrecen dominios. Puede buscarlos en estos sitios: http://www.register.com, http://www.godaddy.com, http://www.name.com. En sus buscadores solo es cuestión de poner el nombre de dominio que queremos, y ellos nos dirán si el dominio está disponible o no, y ahí mismo podemos entonces comprar el dominio y asegurarnos que más nadie se lo lleve.

Cabe también resaltar que en estos precisos momentos (bueno, al momento de esta redacción), ICANN, la organización internacional que regula los nombres de dominios en Internet, está habilitando el uso de nuevos tipos de dominios, conocidos como dominios genéricos (gTLDs), que abre nuevas posibilidades de adquirir un dominio relacionado a la actividad que va a realizar. Por ejemplo, dominios como .tatoo, .diamonds, .estate (para bienes raíces), .flights, .app, etc., muy pronto podrán ser adquiridos. También saldrán dominios en español como por ejemplo .tienda, o .menu (util para restaurantes). La lista es enorme. Para un pantallazo, visite esta página: http://www.godaddy.com/tlds/gtld.aspx.

Ya tenemos entonces nuestro dominio, es decir, la dirección donde los clientes nos encontrarán. Pero ahora mismo no hay nada ahí. Es solo un lote baldío. Necesitamos construir un local o edificio donde colocar nuestra tienda. Y eso es lo que veremos a continuación.

El Servidor (Hospedaje)

Con el dominio, contamos con una dirección en donde nuestros clientes pueden llegar a nuestra tienda, pero ahora mismo es un lote baldío. Necesitamos de una estructura en donde colocar nuestra tienda. Esta estructura (local/edificio) será el servidor, y es el componente más importante de todos. Por ahora imaginemos el servidor como una estructura vacia; solo paredes en donde adentro armaremos nuestra tienda.

Vamos ahora a ver algo un poco técnico. Hay diferentes opciones de servidores. Puedes adquirir un servidor dedicado, que es básicamente tener una computadora en tu oficina o casa que mantenga la tienda. Esto es demasiado complicado y requeriría de demasiados recursos y mantenimiento. Visto de otra forma, si no quisieras que tu tienda online cierre en algún momento, tendrías que asegurarte que en tu casa/oficina nunca se vaya la luz, nunca se caiga el Internet, etc. También puedes alquilar un servidor dedicado a una empresa y dejar que ellos se encarguen, pero esto puede salir un poco caro. Veamos entonces las otras opciones.

La opción más común, barata, y peligrosa es lo que se conoce como el hospedaje compartido, o shared hosting. Aquí es donde hay que tener cuidado con los profesionales o compañías que se contrata. Cuando se trata de hosting, hay usualmente tres opciones (ya una la vimos): hospedaje compartido, servidor virtual privado, o servidor dedicado. El hospedaje compartido es básicamente un servidor que hospeda cientos, sino miles de sitios web al mismo tiempo, y por eso es barato, como $30 al año. Uno rápidamente los identifica porque vienen usualmente con espacio “ilimitado” y una lista enorme de características, todo por $1.99 al mes y cosas así. Este es un ejemplo de hospedaje compartido: JustHost. El problema de estos servidores radica en que la seguridad de tu sitio o tienda depende de la seguridad de los otros miles de sitios que no conoces. Veamoslo con una analogia.

Imagina que tu tienes una tienda que vende diamantes, y alquilas un local comercial en una vivienda multifamiliar (un edificio con múltiples apartamentos y locales). No tienes control de quien entra y sale del edificio; es más, no conoces a tus vecinos y no sabes con quien compartes paredes. Esto significa que tu seguridad depende de que tan confiable sea tu vecino y su seguridad. En cualquier momento puede abrir un hueco en la pared, entrar a tu local, y robarse las joyas (tal como ocurrió recientemente con Nat Mendez). Un servidor compartido es similar. Compartes recursos con miles de vecinos que no conoces. La base de datos, la información que guardas, la información de tus clientes, todo se encuentra en una misma bóveda con vecinos que no conoces. Bien estos mismos vecinos podrían aprovechar y robarte. Por eso el hospedaje compartido definitivamente no es una opción para una tienda online, por más atractiva que parezca la oferta (y eso sin contar que tu no tienes control de la seguridad del mismo; todo depende de otros). Sin exagerar: imagina que uno de tus vecinos prenda en fuego su apartamento. Tu tienda se vería directamente afectada.

Hay que tener mucho cuidado con las empresas que ofrecen hosting para páginas web y tiendas web. Muchos son revendedores de hospedaje compartido. Te pueden ofrecer una promoción de $100 al año por tenerte la página web, pero lo único que están haciendo es comprar hospedaje compartido a $30 al año, y revender un dominio a través del mismo. ¿Cómo puedo saber si me están vendiendo hospedaje compartido? Como consultor IT, cuando un cliente me pregunta sobre la fiabilidad de una empresa, en especial de hospedaje, una de las primeras cosas que hago es determinar si el sitio web de la empresa se encuentra en un hospedaje compartido. Si ese es el caso, probablemente te ofrezcan cielo y tierra y te metan gato por liebre. También reviso su cartera de clientes y verifico si ellos están en servidores compartidos. Existen formas de saber, pero eso ya es algo técnico fuera del alcance de este artículo.

La mejor opción, y no tan cara es el VPS, o servidor privado virtual. Si has escuchado el término “nube”, por cloud computing, muy probablemente están hablando de un VPS. Básicamente un VPS es un servidor dedicado, con una diferencia: comparte recursos. No comparte los recursos como lo hace un hospedaje compartido. Básicamente, un VPS se encuentra en una granja de servidores. Cuando adquieres un servidor VPS, o instancia como realmente se llama, una parte de esos recursos, por así decirlo, se segrega y queda a tu entera disponibilidad. Es una máquina totalmente independiente dentro de miles de otras máquinas. Y así como tu servidor (instancia), hay miles de otras instancias independientes dentro del mismo sistema. Ahora, no lo confundas con el hospedaje compartido. La diferencia está en la seguridad y en que cada sistema es absolutamente independiente. Puesto de otra manera, un hospedaje compartido es un edificio con cientos de apartamentos, locales y recamaras en la misma estructura en donde compartes con cientos o miles de vecinos; un VPS es una estructura de 4 paredes con techo y piso (básicamente una carcaza), en donde únicamente estas tú, y puedes hacer lo que quieras con el. Por ejemplo, este blog se encuentra en un VPS que yo configuré, en donde tengo esta página, y otras dos páginas con propósitos distintos. Las tres son páginas web por lo que no habia inconvenientes con compartir el mismo servidor. Visto de otra forma, mi servidor es un local grande, en donde construí tres divisiones: una para mi página, una para la página B, y una para la página C (que por cierto ambas yo programé y administro). Sólo como dato curioso: los proveedores de hospedaje compartido hacen exactamente lo mismo: adquieren VPS, la cual dividen (así como yo hice), con cientos de sus clientes, les agregan lo que se llama un panel de control, y listo.

Los VPS son una excelente opción para colocar tu tienda online. Tendrías total independencia, y tu seguridad depende de tí (no tienes que preocuparte de las cosas que haga tu vecino). Ahora viene lo malo: para configurar un VPS, hay que tener muchos conocimientos técnicos, que muchos dicen tenerlos y no lo tienen. Como dije, un VPS (de ahora en adelante lo voy a llamar instancia o servidor, que es como realmente se llama) es una carcaza solamente. Necesitas contratar gente que sea capaz de construir las divisiones para tu tienda. Para hacer esto, hay tener conocimientos de administración de sistemas, en particular de sistemas Linux. Puedes crear una instancia con Windows, pero considera que esto es más caro, y el 95% de Internet funciona sobre Linux. También hay que considerar el mantenimiento y otros detalles si la tienda crece. Lo mejor es conseguir un desarrollador web, o web developer, que sepa de administración de sistemas y te pueda guiar mejor en la toma de decisiones. Estos desarrolladores hoy en día se conocen como devops, pues son programadores que también saben de lo necesario para operaciones (developer and operations).

¿Cómo puedo escoger un servicio de VPS? Bueno hay varios. El más popular es Amazon AWS (Amazon Web Services) que vende instancias de diferentes tipos, además de múltiples otros servicios que son excelentes para la web. El problema es que Amazon es un poco caro en comparación con otros servicios, y para realmente sacarle provecho, hay que entenderlo bien. Otra opción es Rackspace, pero este también es caro. Mi favorito en lo personal es Digital Ocean (que es donde tengo mis instancias). Es un excelente proveedor, en especial para startups, y es relativamente más económico que Amazon. Por $5 al mes se puede obtener una buena instancia para hospedar páginas web, e incluso tiendas online en las que no se espera mucho tráfico. También hay planes más caros con más opciones. En lo personal, este es el servicio que le recomiendo a mis clientes y amigos, y hasta ahora, me ha ido muy bien con ellos.

¿Qué plan o capacidad debería adquirir? Esto no te lo puedo responder. Todo depende la tienda. Como dije, una instancia es una estructura, una carcaza vacía. Debes reunirte con un contratista (en este caso un devops, o tal vez un desarrollador web te pueda ayudar) y explicarle qué es lo que quieres lograr, así como harías con un contratista para que te construya la tienda (aquí es muy importante presentarle el workflow que discutimos en el artículo anterior. Al final el/ella te presentará el mejor plan de acuerdo a los criterios que le diste para tu tienda. Puede ofrecerte una instancia, tal vez dos porque quiera tener la base de datos separada del servidor web, quizas tres, cuatro o cinco instancias separadas para asegurar que tu tienda sea segura y siempre esté disponible.

CMS (Content Management System) y el Carrito de Compras

Antes de comenzar esta sección, quiero aclarar que pensé poner tal vez por orden de importancia las sección del diseño de la tienda antes de esto. Pero pensándolo bien, creo que es mejor empezar explicando que es un CMS, o Content Management System.

Un CMS es básicamente una aplicación que te permite administrar tu página web, o en este caso tu tienda. Se llaman así porque básicamente te permiten administrar el contenido de tu página. Probablemente alguna vez haz escuchado los nombres Joomla, Drupal, o WordPress. Todos estos son CMSs bien populares con múltiples usos. Por ejemplo, WordPress fue concebido principalmente para blogs, sin embargo, a través de módulos y plugins, es posible crear y administrar fácilmente toda una tienda online (por ejemplo WooCommerce). En fin, el punto de un CMS es permitirte administrar tu tienda.

Existen múltiples CMS para comercio electrónico en Internet. Muchos de ellos incluso son gratis, como por ejemplo OpenCart y Magento. Esta clase de software tiene dos componentes: el CMS, que ya vimos, y el Carrito de Compras. El carrito de compras es el software que monta la tienda y le permite a una persona agregar artículos y comprarlos. La unión de estos dos componentes es lo que se llama software de comercio electrónico (e-commerce), pues incluye módulos adicionales que brindan ciertas características, como programas de puntos, o sistemas de pago, sistemas de promociones, etc. OpenCart y Magento son software diseñados específicamente para funcionar como tiendas online. Como analogía, imagina que este software son los estantes, las divisiones de los departamentos, y los punto de venta de la tienda en tu local.


OpenCart
Soluciones de comercio electrónico como OpenCart traen casi todo lo que necesitas, y estan listas para usar
Por otro lado también tenemos soluciones a través de WordPress y Joomla. Por ahora voy a mantenerme con WordPress. A través de un plugin es posible agregarle a un sitio de WordPress un carrito de compras y hacerlo una tienda funcional. Tal es el caso de WooCommerce que mencioné arriba, u otros plugins como Jigoshop. Cualquier elección es buena. En lo personal preferiría una como OpenCart o AgoraCart que está diseñado específicamente para tiendas online y es de código abierto mantenido por la comunidad.


WooCommerce
Plugins de WordPress como WooCommerce permiten convertir un blog en una tienda online totalmente funcional
Por último también existe la opción de que un programador/desarrollador web programe (disculpa la redundancia) un CMS y carrito de compras desde cero. Esto permite total personalización y control de lo que tiene. La desventaja es el costo de desarrollarlo, y los bugs (problemas) que puede traer. Además, la seguridad del software depende de la experticia del desarrollador, y por más bueno que sea, siempre hay alguien mejor que puede encontrar una falla. Yo, en lo personal como desarrollador, no creo en reinventar la rueda, así que preferiría una solución como OpenCart. Esta lleva años en desarrollo, por varios programadores experimentados, y su código ha sido auditado por cientos de usuarios del software, por lo que es una plataforma robusta y más segura que desarrollar el software desde cero.

El Diseño y la confección

Ya tenemos casi todos los componentes técnicos de la tienda. Tenemos una dirección (el dominio), tenemos el local donde armaremos la tienda (el servidor), tenemos la estantería donde van los productos y los punto de ventas o cajas (el software de e-commerce). ¿Qué nos falta? Pues obviamente el diseño y decoración de nuestra tienda. Esto es lo que hace atractiva y confiable a nuestra tienda.

El diseño de la tienda es de suma importancia ya que su atractivo visual, el orden y facilidad de uso son los que brindan confianza y seguridad al comprador. Imagina que fueras a una tienda sin acabados, con las paredes a medio pintar, o de colores que no combinan, estanterías desordenadas, etc. ¿Esto te brindaría confianza para pasar tu tarjeta de crédito en el local? Lo mismo ocurre con las tiendas online.

Para el diseño hay varias opciones. La que nos viene primero a la mente es contratar a un diseñador gráfico, o a un web developer, y explicarles nuestro criterio para la tienda. Esta persona se encarga entonces de elaborar un diseño y presentarnoslo. Ahora, nunca subestimes el valor del trabajo del diseñador. Si deseas contratar uno que te haga un diseño personalizado, espera invertir una cantidad substancial de dinero. No está demás hablar en cifras como de $800 a $4,000 por un diseño solamente. Si quieres conseguir un diseñador que te haga un trabajo por $200, entonces espera recibir la calidad de un trabajo de $200. Pero también hay que tener cuidado de los habladores. Lo mejor es conseguir a alguien con referencias o una empresa, y exigir muestras de trabajo antes de proceder. Hay diseñadores que también elaboran un diseño, y solo lo cobran si el cliente decide irse con el diseño.

Existe una segunda opción que es comprar una plantilla. Esta opción es más barata, sin reducir la calidad. Además presenta más variedad que irse por un diseñador. La desventaja es que la plantilla se vende a múltiples clientes, por lo que tu tienda no será única en cuanto a diseño. Existen varios sitios de Internet que venden plantillas, como por ejemplo http://www.themeforest.net. Aquí podrás ver miles de plantillas, tanto para WordPress como en formato HTML listo para ser integrado a tu tienda.

El diseñador es como un arquitecto. Él/ella elabora unos planos que un ingeniero o contratista toma y construye. El diseñador brinda un diseño de cómo se verá la tienda. Ahora, un desarrollador web, o developer, debe tomar ese diseño y convertirlo en “código de programación”, para que este pueda ser usado en su software de e-commerce. El developer transforma el diseño en imágenes y código HTML y CSS que es usado por el software para producir la tienda. También es trabajo del developer cumplir los requisitos que estableciste en tu workflow. Este trabajo toma días, dependiendo de la complejidad tanto del diseño como del software de e-commerce. Pero, ¿por qué tanto? Cada software de comercio electrónico es diferente, por lo que el developer debe estudiar el software, el formato de las plantillas, y adecuar el diseño a lo que permite el software, además de programar los cambios que sean necesarios para cumplir el workflow. Es como el ingeniero o contratista viendo los planos del arquitecto y el pliego de requisitos del cliente, y viendo qué puede hacer y cómo hacerlo en el local; si debe colocar una viga, si X parte del local tiene las conexiones eléctricas para colocar una vitrina, etc. Además el developer debe ser capaz de integrar el carrito de compras con el procesador de pago (lo cual veremos en el siguiente artículo).

En cuanto a costos de developer, nuevamente, el costo depende del nivel y la experiencia del developer. Los mejores developers son concientes de su trabajo y su costo, por lo que el costo puede ser elevado. Fácilmente la integración del diseño por un developer podría costar $2,000 en adelante. Lo mejor es contratar un devops que no solo monte la tienda, sino que prepare el servidor para llevar la tienda. De esta forma ahorras en costos y tiempo ya que no habría necesidad del developer hablar con el administrador de sistema para instalar algo que se requiera para completar la tienda. He visto en Internet mucha publicidad de empresas que ofrecen montar una tienda online por planes desde $600, que incluye hospedaje por un año, y la tienda lista en dos semanas. Mi recomendación es que no creas mucho en estos planes. Personalmente revisé este tipo de ofertas de muchas empresas y lo que encontré es que, primero, estaban en hospedaje compartido, segundo, utilizaban plantillas gratuitas adquiridas de Internet, y tercero, no ofrecían una verdadera integración con un procesador de pago, lo que resultaba en que era imposible vender en Internet. Simplemente era una fachada para la tienda, hecha de manera apresurada. Construir una verdadera tienda online cuesta mucho tiempo y dinero.

Nuevamente hablando con mi experiencia, yo antes hacía diseños y construía la página web. Como desarrollador independiente hacía el diseño, armaba y codificaba la página y la lanzaba. Como era un desconocido, no cobraba mucho para adquirir fama y clientela. Sin embargo, a medida que ganaba experiencia, aprendí a valorar el costo de mi tiempo. Lo que más me tomaba crear era el diseño de una página web, y la cantidad que cobraba simplemente no cubría el tiempo invertido. Un buen diseño toma tiempo, varios días. Hoy en día me enfoco más en la programación y en la parte del sistema. Por eso me considero un devops. Aún construyo páginas web, pero en cuanto a diseño, a mis clientes los difiero a ThemeForest en donde adquirir un diseño es económico, y los diseños son bien profesionales. Sin embargo, siempre les resalto que un diseño de ahí significa que dificilmente la página web será única. Si ellos desean algo único y personalizado, la mejor opción es entonces contratar a un diseñador. Mi fuerte es la programación y las operaciones. Un diseñador gráfico nato casi siempre hará un mejor trabajo que un devops como yo, por lo que en tales casos refiero a diseñadores gráficos. Mi consejo a tí es el mismo: si no te molesta que otra tienda pueda tener tu diseño, la mejor opción es ThemeForest. Si quieres algo único que sea un reflejo de tí, tu mejor opción es un diseñador gráfico. Pero así mismo les aconsejo no regatear ni esperar que sea barato. Uno obtiene lo que uno paga.

Seguridad para el cliente: Certificados SSL

Por último veremos un componente escencial de toda tienda de comercio electrónico seria: el certificado SSL. Refiriéndonos a la analogía de comprar en una tienda desordenada, hago la misma pregunta: ¿usted compraría en una tienda que no parezca segura? ¿Iría usted a comprar un reloj Cartier en una tienda ubicada en El Chorrillo (para los no panameños, El Chorrillo es un barrio con alto índice de criminalidad en Panamá; otra analogía podrían ser la Favelas en Brasil, aunque la comparación es un tanto injusta)? ¿O pasaría usted su tarjeta por una máquina que pareciera una máquina de clonación de tarjetas? Lo mismo ocurre con las tiendas online: si su cliente no se siente seguro en su tienda, se va y no compra.

Para brindar un poco más de seguridad en las tiendas online (y páginas web también), se utiliza algo llamado certificado SSL. Probablemente lo has visto antes. Cuando una página “es segura”, aparece un candado en alguna parte del navegador, y el prefijo de la dirección web, o URL, empieza con https en lugar de http. Esto en realidad no quiere decir que la página es segura, o que la tienda es de quien dice ser. Esto significa que la comunicación entre la página web o tienda y el usuario (el navegador: Internet Explorer, Firefox, Chrome, etc.), está encriptada. ¿Qué significa que está encriptada? Significa que si alguien está espiando el intercambio de información entre la tienda y la computadora, la información que ve son puros garabatos sin sentidos. Como ejemplo, un mensaje como “hola que tal”, sin encriptación el mensaje viaja por Internet como “hola que tal” y puede ser interceptado y leído por un tercero. Con SSL, el mensaje “hola que tal” viaja por ejemplo como “nh9803.YWg1h8dc=”, y si alguien lo intercepta, eso es lo que verá, un montón de garabatos, menos el mensaje original. Como podrás imaginar, esto protege la información que te brinda el cliente, como su número de tarjeta de crédito y sus datos personales, mientras la información viaja por Internet. Esto no quiere decir que sea inviolable o indescifrable, sin embargo, para poder descifrar la información se requiere de muchos recursos y conocimientos técnicos por lo que en la gran mayoría de los casos, simplemente no vale la pena el esfuerzo (en especial cuando identificar el pedazo de comunicación que lleva la información sensitiva se hace al azar, el costo para descrifrar puede ser más alto que la ganancia y el esfuerzo).


HTTPS en algunos tipos de navegadores
HTTPS en algunos tipos de navegadores (aunque ya estos están obsoletos). En varios podemos apreciar el candado que indica que la conexión está encriptada.
Como mencioné anteriormente, un certificado SSL brinda cierto nivel de seguridad al encriptar la comunicación entre el servidor (tu tienda) y la computadora del cliente. Sin embargo, que una página web o una tienda tenga un certificado SSL no significa que esta sea una tienda genuina. Cualquier persona puede adquirir un certificado SSL de empresas que lo venden por Internet. También existen certificados autofirmados que no son comprados de proveedores. Sin embargo, estos certificados no son oficialmente reconocidos por los navegadores, por lo que de toparte con uno te verías con una advertencia grande de tu navegador diciendote que la página web puede no ser segura. Esto no ocurre en cambio con los comprados de proveedores como Verisign, Thawte, GoDaddy, etc.

Para brindar más confianza, hay varios niveles de certificados SSL (y así mismo varían en costo). El más básico es el que se conoce como validación de dominio. Este certificado SSL se expide cuando tu proveedor verifica que tu eres el dueño del dominio al que pertenece el certificado (lo que es casi instantáneo). Si intentas usar el certificado en otro dominio al que no pertenece el certificado, automáticamente el navegador mostrará la advertencia y será insitente en cuanto a acceder al dominio. Estos certificados son económicos y brindan la seguridad de la encriptación, pero no brindan la seguridad de si la tienda es verdadera, o no. Un caso por ejemplo. Un estafador puede crear una tienda online completa y compra el certicado SSL. A los ojos del cliente, es una tienda segura pues aparece el candado y el prefijo es https. El cliente procede, hace la compra e introduce su tarjeta de crédito, solo que lo que está haciendo es entregarle los datos sensitivos a una persona del mal haber. La tienda parecía legítima, tenía SSL y el diseño parecía confiable, pero el cliente fue víctima de una estafa llamada Phishing.

Para brindar un mayor grado de seguridad, existe otro tipo de certificados SSL llamados certificados SSL de Validación Extendida. Estos certificados son muchísimos más caros que los certificados de validación de dominio, pues no son otorgados a la ligera. ¿Cómo podemos distinguir estos certificados? Además de tener el candado y el https, en el URL aparece el nombre de la empresa, tal como podemos ver en la imagen a continuación.


El sitio web de Copa Airlines utiliza validación extendida. Podemos ver que en la barra de direcciones aparece el nombre completo de la compañía validada.
El sitio web de Copa Airlines utiliza validación extendida. Podemos ver que en la barra de direcciones aparece el nombre completo de la compañía validada.

Ejemplos de sitios web en Panamá que tienen certificados SSL de validación extendida son Banco General y Copa Airlines (puedes ver en la barra de dirección que el nombre completo de la empresa aparece en verde, indicando que se validó la existencia y legitimidad de la empresa, y que el dominio y servidor que estás visitando es realmente de la empresa).

Cuando una empresa solicita un certificado SSL de validación extendida, la compañía proveedora del certificado hace un exhaustivo analisis de la empresa. La empresa realizando la solicitud debe fehacientemente comprobar su existencia y legitimidad ante la empresa proveedora, mostrando fotos de la empresa, documentos como la declaración de renta, el aviso de operación, referencias bancarias, etc. Solo cuando la compañía proveedora esté satisfecha con la documentación (incluso pueden apersonarse físicamente a las oficinas para corroborar la existencia), esta otorga el certificado con la validación extendida, y el nombre de la empresa solicitante aparece en el certificado.

La pregunta más obvia es entonces: ¿existe alguna diferencia técnica en cuanto a seguridad entre un certificado de validación extendida y uno de validación de dominio? La respuesta es no. Ambos realizan lo mismo, y dependiendo del proveedor, ambos encriptan la información de la misma manera. La diferencia está en el nivel de confianza que le brindan al cliente. Los más profesional es brindarle esa confianza al cliente. Por eso, empresas grandes no escatiman en cuanto a este tipo de certificados. Mi recomendación es como, usted está empezando, no vale la pena aún comprar uno de validación extendida, en especial si tu tienda es chica y el volumen de compras no será mucho. Un certificado SSL regular (de validación de dominio) bastará.

Pero, ¿es absolutamente necesario adquirir el certificado SSL? La respuesta es sí. La mayoría de los procesadores de pago, que veremos en el siguiente artículo, no te proveerá el servicio si tu sitio web no es seguro. Uno de los requisitos mínimo es un certificado SSL, para asegurar que la información de tus clientes no se vea comprometida tan fácilmente. Este certificado lo adquiere e instala el administrador de sistema o devops que hayas contratado. No necesariamente toda la tiende debe funcionar bajo el certificado, es decir, que la tienda entera sea por medio de HTTPS. Las partes más importantes a proteger es lo que se conoce como el proceso de *checkout * y la información de la cuenta del cliente

Shopify y los SaaS

De los requisitos técnicos presentados en la sección anterior podemos obtener: el dominio, el hospedaje (servidor), el software de comercio electrónico, el diseño, y el certificado SSL. En Internet existe una opción que une todos estos requisitos en un solo servicio que puede ser adquirido por una mensualidad. Tal es el caso de Shopify (haz clic aquí para la versión en español). Este es un servicio que ofrece el hospedaje de la tienda y el software de comercio electrónico. Es una especie de hospedaje compartido, pero mucho más seguro ya que en el solo puede ejecutar el programa de Shopify. Y los precios parecen ser atractivos. Por $30 al mes puedo tener una tienda en línea, sin preocuparme de los servidores y otros problemas que puedan acarrear.

El motivo por el cual no lo presenté como opción es que para nosotros que no vivimos en los Estados Unidos, esta es una opción demasiado cara. La razón es que, salvo en el plan más caro de $179 al mes, los otros planes cobran una comisión del 1% al 2% por cada venta, eso sumado a la comisión cobrada por los procesadores de pago que suele ser superior al 5% de la venta. También estamos limitados en cuanto a los procesadores de pago utilizados y el nivel de personalización que se puede llegar. Shopify ofrece una interfaz para crear una tienda fácilmente. Esto excelente para los emprendedores pequeños que tienen su tienda en su hogar. Pero esto es una ventaja para los emprendedores en Estados Unidos. Para nosotros en Latinoamérica, los costos son muy prohibitivos. Más de esto, los costos de vender, los veremos en el siguiente artículo en donde tratamos los procesadores de pago.

Conclusión

En este artículo enumeramos los requisitos técnicos para tener nuestra tienda online. Como dije al principio, el propósito principal de este artículo es brindar una introducción a la jerga técnica que verás cuando llegues al punto de empezar a montar tu tienda online. Lo hice lo más sencillo posible asumiendo que la mayoría de los lectores no son developers y no conocen muy bien de este tema.

Repasando, lo principal que necesitamos desde el punto de vista técnico es un dominio (la dirección donde encontrarán nuestra tienda), un servidor (que es donde montaremos nuestra tienda y que en el artículo recomendé un VPS), el software de comercio electrónico (el CMS y el Carrito de Compras, que hacen las veces de estantería, caja o punto de venta, y separación de departamentos), el diseño de la tienda y la construcción de la misma, y por último el certificado SSL. Ya con estos conocimientos podemos entender un poco más cuando estemos con el profesional contratado para que haga realidad nuestra tienda, o para nosotros mismos si decidimos aprender y hacerlo por nosotros mismos.

El siguiente artículo será el más extenso, y probablemente es el más esperado: cómo cobrar y recibir el dinero, y cuánto cuesta (ese no será el título, pero es más o menos lo que veremos).

Web developer en Javascript, NodeJS, Ruby, PHP, entre otros; Ingeniero en Telecomunicaciones y amante de la tecnología y la innovación. Siempre hay algo nuevo para aprender :)

Comentarios