Guía de integración

This guide shows how to implement PayPal Checkout server-side using Node.js, Python, PHP, Java, .NET, or Ruby.

Aprenderás cómo:

  • Configurar las credenciales del entorno

  • Autenticar tu servidor con PayPal

  • Crear y capturar órdenes de manera segura desde tu backend

Descripción general

PayPal Checkout utiliza una integración en dos partes:

  1. Cliente — Renderiza Smart Payment Buttons

  2. Servidor — Gestiona llamadas API seguras (crear y capturar órdenes)

Esta guía se centra en la lógica del servidor usando la API Orders v2.

Prerrequisitos

Implementar PayPal Checkout

1

Configuración del entorno

[Inicia sesión](https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdashboard%2F%26intent%3Ddeveloper%26ctxId%3Dul1749482563440) para usar tus propias claves API en estos ejemplos.

Establece estos valores como variables de entorno o de forma segura en un archivo de configuración:

PAYPAL_CLIENT_ID=tu-client-id-sandbox
PAYPAL_CLIENT_SECRET=tu-client-secret-sandbox
PAYPAL_API=https://api-m.sandbox.paypal.com
2

Autenticación

Obtén un token de acceso de PayPal

curl -X POST https://api-m.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" \
  -d "grant_type=client_credentials"
3

Crear orden

Crea una nueva orden de PayPal

curl -X POST https://api-m.sandbox.paypal.com/v2/checkout/orders \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -d '{
    "intent": "CAPTURE",
    "purchase_units": [{
      "amount": {
        "currency_code": "USD",
        "value": "10.00"
      }
    }]
  }'
4

Capturar orden

Captura el pago de una orden aprobada

curl -X POST https://api-m.sandbox.paypal.com/v2/checkout/orders/ORDER_ID/capture \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Próximos pasos

  • Validar el estado del pago tras la captura

  • Almacenar los detalles del pago en tu base de datos

  • Añadir listeners de webhooks para manejar eventos asíncronos

  • Implementar manejo de errores y registro de logs

  • Añadir validación de órdenes y controles de seguridad

Enlaces útiles

Última actualización

¿Te fue útil?