Tienda de Productos Digitales con Integración de PayPal

Tienda de Productos Digitales con Integración de PayPal

Esta aplicación de Tienda de Productos Digitales con Integración de PayPal, le permite a los usuarios adquirir los productos de manera ágil, sencilla y totalmente automatizada.

El usuario accede a la página de libre acceso y para obtener cualquier producto, primero debe registrarse y después autenticarse. Luego podrá realizar la compra vía PayPal y el sistema le enviará un enlace de descarga directo al correo de registro del cliente.

Table of Contents

Video Explicativo

Tienda de Productos Digitales con Integración de PayPal

Integración de Aplicaciones para la Tienda de Productos Digitales con Integración de PayPal

Este sistema de Tienda de Productos Digitales desarrollado en PHP y MySQL, es el resultado de un proyecto de mejora continua que llevo realizando hace 5 o 6 publicaciones.

Cada aplicación funciona independientemente en su rubro específico, solo que esta última, las ha integrado y absorbido para ofrecer una versión más completa y útil para los interesados.

El sistema integra un Gestor de Contenidos desde donde se pueden subir y descargar diferentes archivos, catalogar los archivos que deseas convertir en productos, para luego publicarlos en la tienda.

La landing page donde están publicados los productos, esta basada en una aplicación previa llamada Portal de Archivos PDF en PHP y MySQL

En adición en el Sistema de Tienda de Productos Digitales con Integración de PayPal tiene incluida una aplicación previa de Inicio de Sesión con Verificación de Correo Electrónico y por último un Sistema de Descarga de Productos con Registro de Usuarios

Esta aplicación tiene un gestor de usuarios internos admisnistrativos y uno externo para los clientes que se registran y autentican en la página.

Casos de Uso del Sistema de Tienda de Productos Digitales

Esta aplicación le puede servir a todo tipo de emprendedores que deseen vender sus productos digitales sin intermediarios, más allá de PayPal.

Este software también le podría servir a desarrolladores que necesiten implementar la lógica de negocio de una tienda ya integrada con PayPal a sus propios proyectos.

Este sistema también le podría servir a estudiantes que necesiten conectar la lógica de negocio de una tienda ya implementada y funcional a sus proyectos

Aplicaciones de Tienda Disponibles

En este blog ya he publicado varias aplicaciones de tienda y carrito de compras que podrás ver y descargar a continuación:

Demo del Sistema de Sistema de Tienda de Productos Digitales en PHP y MySQL

En el siguiente enlace puedes acceder a landing page del portal de descarga para realizar las pruebas correspondientes:

https://demoscweb.com/tienda-paypal/index.php

El ambiente administrativo los puedes encontrar en el enlace a continuación:

https://demoscweb.com/tienda-paypal/admin/login.php

Las credenciales de acceso administrativo son usuario: configuroweb y la contraseña 1234abcd..

Medidas de Seguridad Aplicadas al Tienda de Productos Digitales con Integración de PayPal

Se ha elevado la seguridad de las aplicación para evitar ataques informáticos y para que puedan ser utilizadas en un ambiente productivo sin mayores inconvenientes a continuación se muestran las mejoras aplicadas al sistema.

1. Validación y Sanitización de Entradas

Una de las primeras líneas de defensa contra los ataques es la validación y sanitización de las entradas del usuario. Esto previene ataques como la inyección SQL y los ataques XSS (Cross-Site Scripting).

  • Sanitización: Utilizamos funciones como filter_var para limpiar las entradas de datos, eliminando caracteres no deseados.
  • Validación: Aseguramos que los datos ingresados sean del tipo esperado, por ejemplo, validamos que los IDs sean enteros con filter_var y intval.

2. Consultas Preparadas

Las consultas preparadas son una práctica esencial para prevenir la inyección SQL. Este método separa la lógica SQL de los datos proporcionados por el usuario, asegurando que los datos no puedan alterar la estructura de las consultas SQL.

  • PDO (PHP Data Objects): Utilizamos PDO para manejar las consultas a la base de datos con consultas preparadas, lo que agrega una capa adicional de seguridad.

3. Protección Contra CSRF (Cross-Site Request Forgery)

Para prevenir los ataques CSRF, hemos implementado tokens CSRF en nuestros formularios. Estos tokens aseguran que las solicitudes hechas al servidor provengan de fuentes legítimas.

  • Generación de Tokens: Generamos tokens únicos utilizando bin2hex(random_bytes(32)) y los almacenamos en la sesión del usuario.
  • Validación de Tokens: Al procesar formularios, verificamos que el token enviado coincida con el token almacenado en la sesión.

4. Control de Acceso y Autorización

Aseguramos que solo los usuarios autorizados puedan acceder a ciertas funcionalidades de la aplicación.

  • Roles de Usuario: Implementamos roles de usuario (administrador y usuario) y verificamos estos roles antes de permitir acciones específicas.
  • Verificación de Sesión: Verificamos que el usuario esté autenticado antes de permitir el acceso a áreas protegidas de la aplicación.

5. Hashing Seguro de Contraseñas

Las contraseñas de los usuarios se almacenan de manera segura utilizando técnicas de hashing.

  • Password Hashing: Utilizamos password_hash de PHP con el algoritmo PASSWORD_BCRYPT para crear hashes seguros de las contraseñas.
  • Verificación de Contraseñas: Utilizamos password_verify para comparar las contraseñas ingresadas por los usuarios con los hashes almacenados.

6. Manejo Seguro de Sesiones

El manejo seguro de sesiones es crucial para mantener la autenticación y autorización del usuario.

  • Iniciar Sesiones: Utilizamos session_start() de manera controlada y verificamos el estado de la sesión antes de realizar acciones.
  • Destrucción de Sesiones: Destruimos sesiones de manera segura cuando un usuario no es encontrado o cuando se cierra sesión.

7. Redirecciones Seguras

Utilizamos redirecciones seguras para manejar situaciones donde los usuarios intentan acceder a recursos no autorizados o inexistentes.

  • Validación de URLs: Redirigimos a páginas seguras y verificadas, como login.php o list_users.php, para evitar accesos no autorizados.

Compra de la Aplicación

Para que la aplicación te funcione tanto en un servidor local como en un hosting, requeriras el archivo SQL que contiene la base de datos, las tablas y la lógica que se requiere para el login y se puedan gestionar los boletos, este sistema tiene un costo de 20 USD y lo puedes comprar por medio del siguiente enlace:

Pago vía Global66

Países válidos Argentina, Chile, Colombia, México y Perú.

Enlace de Pago

Pago vía Mercado Pago

Países válidos Argentina, Brasil, Chile, Colombia, México, Perú y Uruaguay.

link.mercadopago.com.co/configuroweb

Pago por Binance

También me puedes hacer el pago de los 20 USD por medio de Binance con USDT a mi cuenta de Binance:

msevillab@gmail.com

Pago vía Western Union

Favor contactarme vía whatsapp para más información en el siguiente enlace:

Contáctame vía Whatsapp

Otros medios de pago

Si resides en Colombia me puedes hacer el pago por Nequi, por un enlace PSE de Uala o desde fuera por Western Union, cualquier duda me puedes escribir a mi Whatsapp.

Pago por Nequi

Enlace PSE UALA en pesos colombianos

Enlace PSE UALA Colombia

Aprovisionamiento del Sistema

Video Explicativo a nivel general para instalación de aplicaciones PHP

En el video a continuación se muestra el proceso a nivel general:

Instalar aplicaciones PHP en un servidor local

Antes de cualquier cosa, si llegaste hasta acá excelente y si necesitas cualquier otra aplicación puede que la tenga en mi listado de más de 80 aplicaciones de libre descarga, en el siguiente enlace puedes verlas:

Mis aplicaciones gratuitas

En adición tengo aplicaciones más elaboradas que te podrían servir y que puedes conocer en el siguiente enlace:

Mis aplicaciones premium

Instalación de las aplicaciones necesarias para la puesta a punto del Sistema

Para la puesta a punto del Sistema debes instalar en principio los siguientes software:

XAMPP que te implementa todo lo necesario para un servidor web a nivel local y puedes descarcargar en el siguiente enlace:

https://www.apachefriends.org/es/download.html

Git que es un gestor de repositorios con el que haremos la descarga de la aplicación de mi perfil de GitHub, Git lo puedes descargar en el siguiente enlace:

https://git-scm.com/downloads

Visual Studio Code que es un editor de código sencillo, completo, dinámico, inmensamente popular y lleno de todo tipo de plugins que se pueden instalar según infinidad de necesidades que llegues a requerir, en el siguiente enlace puedes descargar la aplicación:

https://code.visualstudio.com/download

Descarga del Sistema

Yo te comparto la carpeta del sistema completo, tanto el software como la base de datos relacionada, cuando te haga el envío la podrás descargar y utilizar sin inconvenientes, si tienes XAMPP instalado y extraes los scripts dentro de la carpeta htdocs, solo te faltará importar la base de datos para que el sistema te funcione.

Descarga e instalación de las aplicaciones necesarias para el funcionamiento del sistema

Debes instalar las aplicaciones que había mencionado al principio XAMPP, Visual Studio Code y Git, te recomiendo que estas aplicaciones las instales con todos los parámetros por defecto, para que las opciones sean iguales a las descritas en el presente tutorial.

PASO 1 ABRE XAMPP

Lo primero que debes hacer es abrir XAMPP desde la tecla Windows y luego XAMPP, posterior a esto te aparecerá una consola como la de la siguiente captura:

PASO 2 ACTIVA LOS SERVICIOS DE APACHE Y MYSQL

Debes activar el servicio de Apache y MySQL, para poder corre archivos con las extensión php y trabajar con un gestor de base de datos como phpmyadmin. En la captura anterior se muestra la consola de XAMPP con los servicios ya activados.

PASO 3 ACCEDE A LA UBICACIÓN DE LOS ARCHIVOS

C:\xampp\htdocs

Dentro de la carpeta htdocs ingresa la carpeta de los archivos que te proporciono.

PASO 7 CONFIGURACIÓN DE LA BASE DE DATOS

Para la implementación de la base de datos en el gestor de phpmyadmin debes primero adquirirla, comprandola desde los medios de pago que están más adelante y luego contáctandome a mi Whatsapp para que te la provea.

Para la configuración debes acceder a la siguiente URL:

http://localhost/phpmyadmin/

Creas la base de datos con el nombre:

tienda-gestion

Pulsas en la opción que dice importar, buscas el archivo SQL que te proveo, presionas continuar y de este modo ya estará la aplicación plenamente operativa para su uso.

PASO 4 CONSIDERACIONES IMPORTANTES

Debes editar los archivos a continuación:

El archivo a editar se encuenra dentro de la carpeta admin/conn y se llama conn.php

Si vas a subir la aplicación a un hosting, debes poner el usuario de la base de datos, el nombre de la base de datos y su contraseña, ya que los parámetros que están definidos por defecto son los de XAMPP.

PASO 5 ACCEDE A LA URL DE LA APLICACIÓN

Ya para este punto la aplicación estará lista para su uso en la siguiente URL:

http://localhost/tienda-gestion/

Parametrizaciones Necesarias Para la Integración con PayPal

El sistema de Tienda de Productos Digitales con Integración de PayPal para que funcione con tu usuario de PayPal, es necesario cambiar unos parámetros en específico.

Cambios en el index.php de la raíz del proyecto

En el archivo index.php que se encuentra en la raíz en la línea 63 tengo mi client-id, este client-id es del ambiente de pruebas de PayPal, esto significa que no se pueden realizar comprar reales en la tienda por el momento, en tu caso, deberas reemplazar mi client-id por el tuyo, ya no en pruebas sino el productivo.

Para más información a profundidad del tema puedes ingresar en el siguiente enlace:

https://developer.paypal.com/api/rest

Cambios en el archivo payment_success.php

El enlace de descarga de la aplicación se encuentra en el archivo payment_success.php en la línea 88, puedes cambiar http://localhost/tienda-gestion/admin/file-uploads/ por la URL raíz de tu proyecto,

Por ejemplo, tu dominio.com, con servidor seguro sería https://tudominio.com/tienda-gestion/admin/file-uploads/ en este caso se pone tienda-gestion, suponiendo que en tu hosting no pusiste el proyecto en la raiz sino en una carpeta llamada tienda-gestion.

En mi demo yo la puse en una carpeta llamada tienda-paypal, de ese modo mi URL quedó https://tudominio.com/tienda-paypal/admin/file-uploads/

Debes cambiar los parámetros del correo desde donde vas a enviar los correos de la línea 72 a la 80, te recomiendo que uses la configuración smtp, que utilices un correo de dominio propio, no uno público gratuito como gmail o hotmail, será mucho más sencillo realizar la configuración, en ese archivo debes poner el correo y contraseña y el puerto que corresponde.

Cambios en el archivo download.php de la raíz del proyecto

Debes cambiar los parámetros del correo desde donde vas a enviar los correos de la línea 50 a la 60, te recomiendo que uses la configuración smtp, que utilices un correo de dominio propio, no uno público gratuito como gmail o hotmail, será mucho más sencillo realizar la configuración, en ese archivo debes poner el correo y contraseña y el puerto que corresponde.

Cambios en el archivo admin/add-user.php y admin/register.php

La aplicación para realizar la compra, le pide registro al usuario, esta configuración la realiza la aplicación previa el Sistema de Inicio de Sesión con Verificación de Correo Electrónico es poner los mismos parámetros del correo que vas a usar en las líneas 50 a la 60 de add-user.php y 38 a la 46 en el archivo register.php.

Te recomiendo veas el video relacionado en cuanto sea liberado, ya que ahí seré más exhaustivo en el paso a paso para llevar a cabo el aprovisionamiento de la aplicación, cualquier duda estaré al pendiente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

configuroweb.com
×
Hola de Nuevo
Abrir chat
¿Qué te interesa?
Selecciona los temas de interés sobre
los que deseas recibir noticias: