Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Uso de la notificación de pago instantánea de PayPal con PHP

by
Difficulty:IntermediateLength:MediumLanguages:

Spanish (Español) translation by Luis Chiabrera (you can also view the original English article)

¡Hola! Hoy vamos a combinar Paypal con PHP para permitir el procesamiento fácil de los pagos en su sitio web.


Producto terminado: Vista previa

Paso 1 - Creando una cuenta de PayPal

Para este tutorial, necesitará una cuenta Premier de PayPal y un sitio web en línea. Comience por ir a paypal.com y haga clic en "registrarse" en la parte superior de la página.

Step 1

Haga clic en Comenzar bajo el Título Premier; Usted será redirigido a un formulario de registro. Por favor complete toda la información necesaria. Cuando se haya creado su cuenta, inicie sesión y continúe con el paso 2.

Paso 2 - Habilitar IPN

En este paso, vamos a habilitar la Notificación de pago instantánea (IPN), por lo que mientras esté conectado, haga clic en Perfil y luego elija Notificación de pago instantáneo

Step 2

Ahora en la siguiente pantalla verá que la IPN está configurada en "off"; haga clic en "Editar" para cambiar eso.

Al comienzo de este tutorial, mencioné que necesitarías un sitio web en línea. ¿Por qué? Bueno, vamos a pedir a PayPal que nos envíe datos cuando se complete un pago. PayPal no puede acceder a los sitios web locales alojados a menos que tenga todas las configuraciones configuradas correctamente. (Esto implica abrir puertos en su enrutador). Entonces, ingresaré la url a mi script de validación, por ejemplo, http://www.yourdomain.com/PayPal/ipn.php. Luego, PayPal publicará una notificación en mi servidor, en la URL que he especificado.

Paso 3 - Construyendo una página HTML simple

Bien, ahora necesitamos una página html simple y básica donde su visitante pueda comprar acceso a su área de descarga.
No voy a explicar todo el HTML porque creo que deberías conocer los conceptos básicos de HTML antes de comenzar con PHP.

index.php - Una página HTML simple con una hoja de estilo.

css / style.css - Una hoja de estilo simple para su página HTML.

step 3

Paso 4 - Construyendo un botón de PayPal

Necesitamos crear un botón de compra, por lo tanto, haga clic en Servicios para comerciantes y luego elija Estándar de pago de sitios web

Puede elegir tres tipos de botones, Vender artículos individuales, Vender artículos múltiples y, Suscripción. Ahora en este tutorial vamos a crear un solo elemento. Cuando alguien compra este artículo individual, en este caso accede a un área de descarga. Una vez que se haya validado el pago, se enviará un correo electrónico con los detalles.

Step 4

Vamos a introducir alguna información para nuestro botón de compra; Puedes dejar el resto como está.

Step 4 Settings

Cuando hayas terminado de rellenar cada sección, genera el código. Copie este código en su portapapeles y luego péguelo dentro de index.php, donde agregué el comentario en la página html. Por favor revise el paso 3, si es necesario.

Esto debería funcionar perfectamente. Los usuarios pueden hacer clic en el botón y completar su compra.

Paso 5 - Escribiendo ipn.php

Primero, crea ipn.php para que podamos comenzar a escribir. Usaremos un pequeño fragmento que hice de un fragmento más grande que puede obtener del sitio web de Paypal.
Tenga en cuenta que no hay ninguna razón para aprender este código de su cabeza. Los fragmentos son útiles y ahorran tiempo. Lo desglosaré abajo.

Complete las credenciales correctas para su base de datos para que podamos insertar datos en el siguiente paso.

PayPal envía los datos a la url que especificamos. En este ejemplo, solo necesitamos la dirección de correo electrónico del comprador, para que podamos enviarle su información de inicio de sesión. Este código anterior leerá los datos que PayPal envía y devolverá la información a PayPal. He añadido dos comentarios donde debería venir el código si está validado. Además, también he agregado un comentario que especifica qué se debe hacer si no se valida.

Paso 6 - Creando la base de datos

Ahora nos centraremos en lo que debería suceder si se verifica el pago. Primero, necesitamos construir una tabla MySQL donde almacenemos la información de los usuarios. Solo una simple con un campo de identificación, correo electrónico y contraseña.

A continuación, debemos introducir los detalles de nuestra mesa; necesitamos una ID con una selección de clave principal y debería incrementarse automáticamente; A continuación un campo de correo electrónico y contraseña.

Para aquellos de ustedes que no tienen tiempo para ingresar toda esta información, a continuación hay un pequeño código de volcado de MySQL para recrear la tabla.

Paso 7 - Creación de cuenta

Abre ipn.php de nuevo. Vamos a escribir el siguiente código debajo de la línea "// PAGO VALIDADO".

Nuestro primer paso es recuperar la dirección de correo electrónico del comprador; PayPal envía toda esta información a ipn.php.

Debemos crear una última variable, que es la contraseña que generaremos usando php.

Como puede ver, usamos mt_rand para generar una contraseña aleatoria; en este caso, un valor numérico entre 1000 y 9999. A continuación, necesitamos insertar estos datos en nuestra base de datos. Para ello, utilizaremos la consulta de inserción de mysql.

Aquí le decimos a nuestro script que inserte el correo electrónico y la contraseña en nuestra base de datos. He añadido una mysql_escape_string para garantizar que no sea posible la inyección de mysql. También he agregado la función md5 a nuestra contraseña para que se almacene como un hash de 32 caracteres. Ahora se crea la cuenta; Vayamos al siguiente paso.

Paso 8 - Enviar por correo electrónico las credenciales de inicio de sesión

Necesitamos escribir algún código que envíe por correo electrónico la información de inicio de sesión al comprador. Para lograr esto, utilizaremos la función de correo php.

Vamos a romper esta función de correo electrónico hacia abajo. Usamos la variable $ email para obtener la dirección de correo electrónico del usuario y asignarla a la variable $ to.
La variable $ asunto es el título / asunto que verá en su programa de correo electrónico. Después de esto, tenemos nuestro mensaje, que contendrá una nota de agradecimiento y la información de la cuenta. Las variables $ email y $ password en el mensaje cambiarán a la información correcta una vez que el correo electrónico haya sido enviado. También hemos establecido un encabezado personalizado. Cuando el usuario recibe el correo electrónico, la dirección "de" se mostrará como "noreply@yourdomain.com".

Paso 9 - Correo electrónico de pago no válido

Un pago no válido puede ocurrir debido a un fraude, pero también debido a un problema con PayPal; por eso queremos asegurarnos de que nuestro cliente reciba lo que pagó.
Así que vamos a enviar un correo electrónico a nuestro administrador del sitio, diciéndole que se comunique con el comprador para obtener más información. Simplemente copie el código de correo electrónico que usamos antes y luego realice los cambios que se enumeran a continuación.

Este código es casi el mismo que el anterior, solo hicimos algunos cambios en el destinatario, el asunto y el mensaje.

Paso 10 - Inicio de sesión de usuario

Este es nuestro paso final, donde creamos un formulario de inicio de sesión simple para nuestros compradores. Cree un nuevo archivo php y asígnele el nombre login.php. Usaremos la misma página HTML que usamos para index.php, solo realizaremos algunos ajustes en el contenido de la página y, por supuesto, agregaremos un poco de estilo a nuestro formulario de inicio de sesión.

login.php - Esta es la página donde nuestros compradores pueden iniciar sesión.

Añadir a style.css

Ahora que hemos creado nuestro formulario, debemos verificar si las credenciales de inicio de sesión son correctas. Hice algunos cambios en login.php para que podamos comenzar:

El código anterior verificará si el correo electrónico y la contraseña están publicados. Si es verdadero, podemos verificar las credenciales. Si no, devolvemos un error. El siguiente código que vamos a escribir se colocará debajo de "// Verificar". Primero necesitamos convertir las variables de publicación en variables locales.

He agregado una función de escape para evitar la inyección de mysql y he transformado la contraseña publicada en un hash md5. Debido a que hicimos esto en nuestra base de datos, también debemos cambiar la contraseña del usuario para comparar los dos valores correctamente. Ahora es el momento de verificar los datos.

Como puede ver, estamos ejecutando una consulta de mysql y seleccionando todos los datos de nuestra tabla de usuarios, pero solo la fila donde la dirección de correo electrónico del usuario coincide con la de la base de datos.
mysql_num_rows comprueba si se ha encontrado una coincidencia: 1 = verdadero; 0 = falso.

¡Eso es todo!

Y ese es el final de este tutorial. Espero que lo hayas disfrutado, y siéntete libre de dejar un comentario con tus pensamientos. ¿Tienes algún consejo que pueda ayudar?

  • Suscríbase a la fuente RSS de NETTUTS para obtener más información y artículos de desarrollo web diarios.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.