En este tutorial vamos a aprender a configurar el IPN para poder usar correctamente Paypal como pasarela de pago en Gravity Forms.
Cuando usamos PayPal como plataforma de pago, necesitamos que la plataforma indique a nuestra web el resultado de la operación. Las acciones que realizaremos no serán las mismas si el pago ha podido realizarse con éxito o si ha existido algún problema con la transacción en PayPal.
Para indicarnos el resultado, Paypal tiene un protocolo llamado Instant Payment Notifications que significa Notificaciones Instantáneas de Pago o de modo abreviado IPN.
Crearemos un pequeño formulario de compra, configuraremos Paypal y finalmente activaremos, tanto en WordPress como en Paypal, el protocolo IPN.
Si quieres conocer todas las posibilidades que te ofrece Gravity Forms puedes revisar el curso que tenemos curso de Gravity Forms. Los dos plugins que utilizaremos (Gravity Forms y Gravity Forms Paypal Standard Add-On) los puedes encontrar en nuestra intranet.
1. Crear un formulario de compra con Gravity Forms
Si ya sabes cómo crear un formulario de venta de productos con Gravity Forms, este paso te lo puedes saltar.
Así pues, primero vamos a crear un pequeño formulario con nombre, email, un selector de productos y un botón de pago en Paypal y tendrá este aspecto:

Crearemos un formulario de compra
Los dos primeros campos son del tipo Línea de Texto e Email. El selector es un campo Producto con botones de selección y el total nos lo muestra un campo Total. Estos últimos en Campos de Precio

Incluiremos campos para elegir diferentes productos
Para mostrar los campos en columnas y las casillas en una línea, usamos las CSS Ready Classes de Gravity Forms que puedes ver en este tutorial.
El texto del botón lo definimos en Ajustes > Ajustes del Formulario > Botón Formulario

Cambiamos el texto del botón de Enviar
Una vez ya tenemos nuestro formulario preparado, vamos a ver cómo lo vinculamos con nuestra cuenta de PayPal.
2. Configurar cuenta de PayPal en Gravity Forms
Como se indica en el curso de Gravity Forms, el ajuste de la cuenta se realiza en cada formulario, de manera que podemos mandar el pago a diferentes cuentas dentro de un mismo formulario o que cada formulario tenga una cuenta de Paypal diferente.

Procedemos a configurar el feed de PayPal
Vamos a crear el feed de pago o ruta que deberá seguir el botón de pagar. Si no tenemos ninguno, hagamos clic en "Crea uno"

Creamos nuestro primer feed
Si como es habitual en solo vamos a usar una cuenta de PayPal, podemos dejar el nombre por defecto.
- En email ponemos nuestra cuenta de PayPal (en la que recibiremos el dinero).
- En modo indicamos "Producción" o "Pruebas" si vamos a utilizar Sandbox de Paypal.
- En tipo de transacción indicamos Productos y Servicios.
- En cantidad de pago indicamos el Total Formulario.

Indicamos nuestra cuenta de PayPal
A continuación, en "Otros Ajustes" indicamos qué campos se corresponden con nuestro formulario.
En este ejemplo solo tenemos Nombre e Email. También indicamos un logo si queremos que quede algo más personalizado así como la URL de una página existente por si el usuario cancela la compra.

Marcamos los campos comunes
Cuando el cliente rellene el formulario, le mandará a loguearse a su cuenta de PayPal. Si el cliente no tiene Paypal, se le dará la opción de pagar con tarjeta. Y si quieres ver cómo configurar pagos recurrentes con PayPal, puedes seguir nuestro tutorial Pagos recurrentes en Gravity Forms.
Con esto ya tenemos listo el formulario y ahora procederemos a activar el IPN para que Paypal nos pueda indicar si ha habido algún problema con la transacción.
3. Configurar el IPN en Gravity Forms y Paypal
En esta fase tenemos que hacer un ajuste global porque al fin y al cabo la notificación se realizará a nuestro sitio web independientemente de la cuenta de PayPal que usemos.
Para ello en nuestro menú de WordPress vamos a Formularios > Ajustes > PayPal.

Localizamos los enlaces para configurar el IPN
Según se muestra en la imagen superior:
- Marcamos la casilla que confirma que has configurado tu cuenta PayPal para activar IPN.
- Copiamos la url que nos indica https://nombrededominio.com/?page=gf_paypal_ipn
- Hacemos clic en el enlace que nos lleva a la configuración específica de nuestra cuenta de Paypal https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-ipn-notify

Localizamos los enlaces para configurar el IPN
Una vez en PayPal (usando el enlace indicado) veremos esta página si nunca hemos configurado el IPN. Pulsamos el botón Seleccionar Configuración de IPN.

Creamos por primera vez el IPN en Paypal
En la siguiente pantalla pegamos la URL de nuestro sitio y marcamos la opción de Recibir Notificaciones.

Pegamos la URL apropiada de nuestro sitio
Y atención, porque después de guardar, ya tenemos nuestro IPN correctamente configurado en Gravity Forms y PayPal. ¡Felicidades!
Ahora cuando alguien compre algo en nuestra web a través de Gravity Forms, PayPal le mandará una notificación a nuestra web diciendo si el pago se ha realizado correctamente o si no se ha podido completar.
Resumen y conclusión
Para tener correctamente configurado PayPal como solución de pago en Gravity Forms necesitamos configurar la IPN. Un proceso muy sencillo que nos dará mayor control sobre las transacciones.
Para ello debemos configurar por un lado Gravity Forms con información de nuestra cuenta de PayPal, y por otro lado PayPal con información de nuestra URL de notificación. De esta forma, ambas webs pueden "hablar" entre ellas.
¡Y esto es todo! Ya lo sabéis, si queréis saber, echad un vistazo al resto de cursos de boluda.com. Esto os dará acceso al curso de MailChimp, y a más de 6732 vídeos disponibles. Si os interesa, ¡Os esperamos dentro! :)