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

Seguimos trabajando con la api de paypal utilizando php, en esta entrada vamos a ver cómo podemos procesar pagos con tarjeta de crédito en paypal, vamos a tratar de cubrir algunos de los puntos más importantes en este aspecto, veremos cómo podemos dar de alta tarjetas de crédito, poder encontrar una tarjeta de crédito a través de su id, realizar pagos con una tarjeta existente, es decir, con una tarjeta de la cual nosotros tengamos su id y también veremos cómo realizar pagos con una tarjeta que aún no haya sido dada de alta por nosotros.

Para seguir este tutorial es altamente recomendable que revises el tutorial Introducción al SDK de Paypal, una vez lo hayas hecho, podemos empezar.

Dar de alta tarjetas de crédito con la Api de Paypal

Este proceso es bastante sencillo, lo único que necesitamos hacer es añadir el siguiente método a la clase ConsumerPaypal.


Muy sencillo, creamos una instancia de la clase CreditCard, establecemos los datos necesarios para dar de alta la tarjeta y ejecutamos el método create pasando la propiedad _apiContext de nuestra clase, con eso es suficiente, para utilizar este método simplemente añade el siguiente código a un controlador de tu aplicación.


Si ahora revisas ese método desde el navegador verás que el resultado es un array con información sobre la tarjeta de crédito que acabamos de dar de alta, pero el dato importante a guardar en base de datos es la id de la tarjeta, algo similar a CARD-XXXXXXXXXXXXXXXXXXXXXX, con ese dato podremos procesar pagos más adelante cómo veremos.

Buscar tarjetas de crédito a través de su id

Para poder encontrar una tarjeta a través de su id utilizando la api de paypal simplemente debemos añadir el siguiente método a nuestra librería.


Y al igual que antes, vamos a añadir un método al controlador para llamar al método find_card.


Simplemente reemplaza el valor pasado a find_card por el id de la tarjeta que te haya retornado paypal.

Realizar un pago con una tarjeta de crédito existente

Ahora vamos a ver lo sencillo que es realizar un pago con una tarjeta de crédito a través de su id, para ello vamos a añadir el siguiente método a nuestra librería.


Lo primero que debemos hacer es establecer el método de pago, en este caso credit_card, a continuación añadimos los artículos, establecemos los gastos de envío (en este caso 0) y las tasas, algo importante es setIntent, aquí le decimos el tipo de operación que estamos llevando a cabo, en este caso una venta (sale) para finalmente ejecutar la transacción, si todo ha ido bien llamamos al método create y retornamos la información del pago.

Para comprobar que todo ha funcionado vamos a añadir el siguiente método a tu controlador.


Aquí tenemos información muy importante que debemos guardar.


Lo más importante es el id y el estado, esos son los valores que tenemos que tener en cuenta una vez procesemos el pago.

Realizar pagos con una nueva tarjeta en Paypal

Finalmente nos queda por ver cómo procesar una nueva venta con una nueva tarjeta, el proceso es muy similar al anterior.


Y el resto es igual que en los anteriores ejemplos, te invito a que revises este último método, ya que es una mezcla de saveCard y savePaymentWithExistingVisa.

Si tienes cualquier duda con el código anterior 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.