BorrowBits - ciencia y tecnología

PayPal Developer. Parte 1: ¿Cómo funciona? Nociones básicas de IPN y PDT

Funcionamiento de IPN Paypal

Comenzamos con esta pequeña Guía de Supervivencia. PayPal funciona más o menos así:

Imagina que tienes un botón de “Comprar ahora” o un carrito de la compra. Este elemento irá incrustado en un formulario HTML y al ser pulsado enviará la información de la compra (producto, precio y otras variables) a PayPal mediante una petición POST.
.

En este momento accedemos a la página de Login de PayPal, por lo tanto perdemos el control de lo que el usuario hace. Pero no te preocupes, más adelante podremos mandarlo de vuelta a nuestro sitio.

El comprador acepta la transacción y en cuanto se completa, PayPal envía a nuestro servidor un mensaje IPN (Instant Payment Notification). Se trata simplemente de una petición POST a una URL de notificación que hemos configurado previamente con todos los datos asociados a la compra. A continuación nuestro servidor devuelve el mismo mensaje IPN a PayPal para preguntarle si han sido ellos quienes ha generado dicho mensaje y garantizar así su autenticidad. IPN devolverá una sola palabra: VALID o INVALID.

Proceso IPN

Es importante entender que estos mensajes IPN se envían internamente, mientras el usuario aún está en la web de PayPal o incluso cuando ya ha cerrado su navegador web. Es una comunicación de background entre el servidor de PayPal y el nuestro.

El proceso de compra normal llega hasta aquí. ¿Cómo hacemos para que el usuario vuelva a nuestro sitio web? Hay un estadio opcional para lograrlo:

En la configuración de la cuenta de PayPal tenemos que activar una opción llamada autoreturn y especificar una URL de retorno. La gente de PayPal llama PDT (Payment Data Transfer) a esta comunicación, ya que antes de redireccionar envía un objeto con información relativa al estado del pago.

En este punto podemos volver a realizar operaciones de control y validación, así como ofrecer al usuario una landing page que le permita visitar su perfil o descargar por ejemplo un ebook o un LP mp3, si es lo que ha comprado.

Ideas clave

Lo que nadie suele explicar es que la URL de notificación (utilizada por IPN) es distinta de la URL de redirección o retorno (utilizada por PDT). La primera comunica los servidores sin que el usuario se entere de nada y mediante la segunda se le sirve al usuario un documento de nuestro servidor, redirigido desde el sitio de PayPal.

Perder el control de la sesión plantea algunos problemas: por ejemplo, ¿cómo consigo que PayPal me devuelva variables de estado o de sesión sobre un usuario que estaba previamente en mi página web?

Si deseamos cierta persistencia o trazabilidad podemos utilizar un campo especial del formulario llamado “custom”. Es una variable de pass-through, es decir: el sistema nos la devuelve tal como la enviamos, sin procesarla.

Otra cuestión interesante es: ¿qué protocolo usar, IPN o PDT? La respuesta es que conviene usar ambas.

Si IPN falla tendremos PDT como backup, y viceversa. En realidad sus funciones son similares y a la vez complementarias: si el usuario cierra el navegador antes de ser redireccionado por PDT la comunicación IPN seguirá funcionando de fondo, por lo que no se perderá la información de pago.

En la próxima parte de este tutorial entraremos a tocar código y veremos más en profundidad estos conceptos. ¿Preguntas, insultos, puñetazos?

Angel

Siempre quise ser inventor y escritor: por lo primero me hice ingeniero, y en cuanto a lo segundo, escribo aquí de vez en cuando sobre telecomunicaciones y tecnología. Me gustan los robots, los perretes y los libros (analógicos).

3 comentarios

Suscríbete

¡Sácale el máximo partido a BBits!

Introduce tu dirección de correo electrónico para seguir este Blog y recibir por email las nuevas publicaciones, si has leído y aceptas las Políticas de Privacidad, Cookies y Aviso Legal.

Recíbelo gratis al suscribirte

Webs amigas

  • Frikilogia.- Blog Multi-Tematico orientado a todos los campos del frikismo.
  • Meridiem90.tv.- Mira la TV gratis en HD. Canal Plus y Gol TV, todo el futbol desde tu navegador.
  • JITKey.- Startup enfocada en la gestión de alojamientos turísticos.

Bits del pasado

Síguenos en FB