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

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?

Previous Apple se refuerza para plantarle cara a Google Maps
Next Subtitulando películas en streaming

About author

Angel
Angel 172 posts

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).

You might also like

Tecnologia & Ciencia 0 Comentarios

DEFCON: Conferencia Hacker

DEFCON, la más prestigiosa conferencia hacker anual a nivel mundial. Entre sus asistentes podemos encontrar desde agentes federales (FBI, CIA) hasta los mejores y más peligrosos hackers del mundo. ¿Te

Internet 1Comments

Internet: No es oro todo lo que reluce

Hay algo que me tiene bastante quemado desde hace tiempo, y estoy seguro que más de uno se siente identificado. “En internet está todo”. Estoy totalmente de acuerdo con esta

Generales 3 Comentarios

¿Son válidos los mensajes de WhatsApp como prueba en un juicio?

Hay una pregunta que escucho con bastante frecuencia: ¿puedo utilizar los mensajes de WhatsApp como prueba en cualquier procedimiento judicial? La respuesta es SÍ, aunque hay ciertos detalles a tener

3 Comentarios

  1. juanito
    diciembre 22, 18:23 Reply

    Que paso con el resto del articulo???

  2. Juan
    marzo 29, 14:25 Reply

    Esto… y el resto de artículos?? Gracias

    • Angel
      marzo 29, 17:50 Reply

      Vaya Juan… más de dos años han pasado.

      Esta iniciativa se quedó en bragas (el que mucho abarca poco aprieta), pero creo que aún puedo ayudarte e incluso retomarla. ¿Qué problema tratas de resolver?

Deja un comentario