Integración de Python con PayPal: Pagos y Facturación

Integración de Python con PayPal: Pagos y Facturación

PayPal es una plataforma de pago en línea que permite a los usuarios enviar y recibir dinero de forma segura y sencilla. En este tutorial, aprenderemos a integrar Python con PayPal para realizar pagos y facturación.

Requisitos

Para seguir este tutorial, necesitarás lo siguiente:

  • Una cuenta de PayPal
  • Python 3.8 o superior
  • El módulo de Python requests

Instalación del módulo requests

Para instalar el módulo requests, ejecuta el siguiente comando en la terminal:

pip install requests

Creación de un cliente de PayPal

Para empezar, crearemos un cliente de PayPal. Un cliente de PayPal es un objeto que nos permite interactuar con la API de PayPal.

Python
import requests

from paypal import PayPalClient

# Crea un cliente de PayPal con tu ID de cliente y secreto de API
client = PayPalClient(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
)

Realización de pagos

Para realizar un pago con PayPal, utilizaremos el método create_payment del cliente de PayPal. Este método devuelve un objeto Payment que contiene información sobre el pago, como el ID del pago, el importe y el estado.

Python
# Crea un objeto de pago
payment = client.create_payment(
    amount="10.00",
    currency="EUR",
    intent="sale",
    payer={
        "email": "payer@example.com",
        "name": "John Doe",
    },
)

# Imprime el ID del pago
print(payment.id)

Generación de enlaces de pago

Podemos generar enlaces de pago que los usuarios pueden utilizar para realizar pagos. Para ello, utilizaremos el método create_payment_link del cliente de PayPal. Este método devuelve un objeto PaymentLink que contiene un enlace al pago.

Python
# Crea un enlace de pago
payment_link = client.create_payment_link(
    amount="10.00",
    currency="EUR",
    intent="sale",
    payer={
        "email": "payer@example.com",
        "name": "John Doe",
    },
)

# Imprime el enlace de pago
print(payment_link.href)

Facturación

Para realizar la facturación con PayPal, utilizaremos el método create_invoice del cliente de PayPal. Este método devuelve un objeto Invoice que contiene información sobre la factura, como el ID de la factura, el importe y el estado.

Python
# Crea un objeto de factura
invoice = client.create_invoice(
    amount="100.00",
    currency="EUR",
    items=[
        {"name": "Producto 1", "quantity": 1, "price": 50.00},
        {"name": "Producto 2", "quantity": 2, "price": 25.00},
    ],
    payer={
        "email": "payer@example.com",
        "name": "John Doe",
    },
)

# Imprime el ID de la factura
print(invoice.id)

Recepción de pagos

Para recibir pagos con PayPal, utilizaremos el método get_payment_details del cliente de PayPal. Este método devuelve un objeto PaymentDetails que contiene información sobre el pago, como el ID del pago, el importe y el estado.

Python
# Obtiene los detalles del pago
payment_details = client.get_payment_details(payment_id="PAYMENT_ID")

# Imprime el importe del pago
print(payment_details.amount)

Conclusión

En este tutorial, hemos aprendido a integrar Python con PayPal para realizar pagos y facturación.