Obtener información de usuarios con la api de paypal
Obtener información de usuarios con la api de paypal

En esta entrada vamos a ver cómo podemos hacer login con paypal y php utilizando la api de paypal. Preparar un sistema de login con paypal puede ser útil en muchos casos, sobre todo cuando se trata de una aplicación de ecommerce, aparte de que vamos a poder tener el token del usuario para poder recuperar información importante a la hora de hacer operación, hay otro punto muy importante, y es que nos vamos a poder olvidar de tener que preparar un complejo sistema de autenticación y todo lo que ello supone, ya que lo único que vamos a necesitar es guardar el access_token y el refresh_token, con eso tendremos suficiente.

Para poder entender el código que vamos a ir generando es interesante que antes repases las siguientes entradas.

Desarrollar un sistema de login con paypal y php

Lo primero que vamos a necesitar es generar una única url con un token para poder realizar el login, para ello debemos abrir el archivo ConsumerPaypal.php y añadir el siguiente método.


Lo que hacemos aquí es sencillo, construimos una url para poder hacer login con paypal, en este caso pedimos permisos para manejar las facturas de nuestro cliente, la información de contacto, fecha de nacimiento, idioma, tipo de cuenta, si está verificada y la fecha de creación de la cuenta, todo ello simplemente a modo de ejemplo.

Ahora vamos a crear un método en el controlador para poder imprimir el enlace.

Configurar la aplicación de paypal para hacer login

Antes de seguir debemos configurar nuestra aplicación de paypal para hacer login, para ello vamos a la administración de la misma y debemos la url de retorno que hemos definido anteriormente, de otra forma paypal no podrá hacer match entre la url de retorno que hemos definido y la que hayamos registrado en la app, después bajamos un poco más y hacemos algunas modificaciones para que nuestra aplicación tenga los permisos suficientes.

configurar-app-paypal-login

Las urls de políticas y aceptación de términos simplemente son urls de nuestra aplicación que se suponen deben mostrar información sobre cada tema.

Una vez hemos hecho esas modificaciones podemos seguir con nuestra aplicación. Cuando el usuario pulse el enlace que hemos generado anteriormente verá la siguiente página de paypal.

login-paypal

Si en ese punto haces login con una cuenta del entorno de pruebas verás la siguiente pantalla donde paypal le pide los permisos que hemos requerido en la configuración tanto de nuestra aplicación web cómo de la app de paypal.

permisos-login-paypal

Cómo puedes ver, pedimos todos los permisos, pero además tenemos las urls de política y aceptación de términos que anteriormente hemos definido, antes de pulsar en aceptar debemos definir el método que hemos establecido en la url de retorno, así que vamos a nuestro controlador y añadimos lo siguiente.


Comprobamos si existe una variable get llamada code, a través de este código nosotros podemos obtener la información de tokens del usuario, para ello vamos a definir el método get_access_token de la librería ConsumerPaypal.


Ahora sí, ya tenemos todo listo para pulsar en el botón aceptar y ser redirigidos a nuestra aplicación, si todo ha ido bien veremos un array con la siguiente información.


Esa es la información que realmente necesitamos guardar para poder acceder más adelante a la información del usuario, y sobre todo el access_token y refresh_token, el access_token podrá ser utilizado durante los segundos que la clave expires_in nos ofrece podremos, en cambio, el refresh_token nos servirá cuando el access_token haya caducado para obtener uno nuevo cómo veremos más adeltante.

Si tienes cualquier duda con el código del tutorial te recomiendo el curso de php avanzado con php 7 donde vemos estos y muchos otros temas para aprender a programar con php orientado a objetos utilizando las últimas novedades.