No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Cómo crear una suscripción usando los botones de PayPal

13/18
Recursos

¿Cómo crear suscripciones recurrentes con PayPal?

Crear una suscripción recurrente es un proceso esencial para muchos negocios en línea que desean ofrecer productos y servicios de manera continua. PayPal facilita este proceso con su API, permitiéndote gestionar suscripciones mensuales, anuales, o de la cadencia que prefieras. Vamos a explorar paso a paso cómo configurar estas suscripciones utilizando herramientas como PayPal Developer y PostMan.

¿Cómo utilizar el portal de desarrolladores de PayPal?

Para comenzar, debes dirigirte al portal de desarrolladores de PayPal. Aquí podrás encontrar diversas opciones como "Check Out" para pagos únicos y "Suscripciones", que es la opción que nos interesa. Siguiendo la sección de Basic Integration en "Suscripciones", PayPal proporciona instrucciones detalladas para implementar una suscripción.

Paso 1: Obtener credenciales API

Ya deberías tener tus credenciales API obtenidas de clases anteriores. Si no, accede a tu panel de desarrolladores y en "My Applications & Credentials", selecciona tu aplicación. Aquí encontrarás el "Client ID" y "Secret", necesarios para autenticar tus llamadas API.

Paso 2: Crear un producto y un plan

En el contexto de una suscripción, es importante entender qué es un producto y qué es un plan:

  • Producto: Lo que estás entregando con la suscripción, definiendo aspectos como el tipo de servicio y categoría.
  • Plan: La frecuencia con la que se entrega el producto, si incluye períodos de prueba y su costo.

Ejemplo del producto

{
    "name": "Platzi Store Swap",
    "description": "Cada mes recibirás una caja con productos de Platzi.",
    "type": "software",
    "category": "EDUCATION",
    "image_url": "https://www.example.com/platzi-store-image.png",
    "home_url": "https://www.example.com"
}

¿Cómo realizar llamadas API con PostMan?

PostMan es una herramienta fundamental para probar tus llamadas API. Siguientes pasos te guiarán para importar la colección proporcionada en las notas del curso y ejecutar las solicitudes necesarias.

Configuración en PostMan

  1. Abre PostMan y utiliza la opción "Import" para cargar la colección.
  2. Ejecuta el llamado a Get Access Token para obtener el token necesario que autentica tus futuras solicitudes.

Creación del producto y plan

Con el token generado, realiza una llamada a la API para crear el producto y otra para el plan utilizando los ejemplos de estructura de datos proporcionados por PayPal.

¿Cómo integrar la suscripción en tu proyecto?

Con el producto y el plan creados, regresa a tu proyecto. Aquí actualizarás el archivo suscripción.ejs para añadir el precio y el botón de suscripción que se renderiza en tu sitio web.

Código de integración

<script src="https://www.paypal.com/sdk/js?client-id=TU_CLIENT_ID&vault=true"></script>
<div id="paypal-button-container"></div>
<script>
    paypal.Buttons({
      createSubscription: function(data, actions) {
        return actions.subscription.create({
          'plan_id': 'PLAN_ID_OBTENIDO'
        });
      },
      onApprove: function(data, actions) {
        alert('Suscripción creada con ID: ' + data.subscriptionID);
      }
    }).render('#paypal-button-container');
</script>

¿Cómo probar tu suscripción en Sandbox?

Realiza las pruebas en el entorno Sandbox de PayPal utilizando una cuenta de comprador configurada para este propósito. Esto te permitirá verificar que el proceso de suscripción funciona correctamente antes de implementarlo en producción.

Consejos adicionales

  • Aprovecha la documentación detallada de PayPal para entender mejor las funciones disponibles.
  • Sigue explorando y aprendiendo sobre herramientas como PostMan para ampliar tus capacidades en la gestión de APIs.
  • Considera los cursos de Platzi sobre PostMan para afianzar tus conocimientos en esta herramienta.

Invitamos a todos a seguir practicando y desarrollando estas habilidades, que son esenciales para crear aplicaciones web efectivas y eficientes. Con el tiempo, dominarás el manejo de suscripciones y podrás implementarlas en diversos proyectos. ¡Adelante!

Aportes 13

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Comisión por transacción 5.4% + 0.30 USD
Si tus ventas superan 3,000 USD mensuales y creaste tu cuenta hace más de 90 días, inicia sesión para solicitar nuestras tarifas preferenciales


Porque en el curso indican 2.9% ? Si paypal dice que es 5.4% ?

Buenas
Si quieren un plan mensual que sea infinito o que siga activo hasta que sea cancelado tienen que poner el “total_cycles” a 0 y “sequence” a 1, anexo ejemplo:

{
  "product_id": "<PRODUCT_ID>",
  "name": "Plan mensual ",
  "description": "Plan Mensual",
  "status": "ACTIVE",
  "billing_cycles": [
    {
      "frequency": {
        "interval_unit": "MONTH",
        "interval_count": 1
      },
      "tenure_type": "REGULAR",
      "sequence": 1,
      "total_cycles": 0,
      "pricing_scheme": {
        "fixed_price": {
          "value": "100",
          "currency_code": "MXN"
        }
      }
    }
  ],
  "payment_preferences": {
    "auto_bill_outstanding": true,
    "setup_fee_failure_action": "CONTINUE",
    "payment_failure_threshold": 3
  }
}

Pueden subir el json por favor comunidad platzi … esque por no importar me aparece este error.

Integración del botón, por si aún no arreglan el video. 😭
Dentro del archivo subscription.ejs

...
        <div class="field">
          <label class="label">Subscribete:</label>
          <div class="control">
            <!-- PP Smart Button Container HERE! -->
            <div id="paypal-button-container"></div>
          </div>
        </div>
...
<script>
  paypal
    .Buttons({
      createSubscription: function (data, actions) {
        // This function sets up the details of the transaction, including the amount and line item details.
        return actions.subscription.create({
          plan_id: "P-88740792BM404363HL2HZPHY",
        });
      },
      onApprove: function (data, actions) {
        alert(
          "You have successfully created subscription " + data.subscriptionID
        );
      },
    })
    .render("#paypal-button-container");
</script>
<%- include('shared/footer'); %>

Nota. Recuerden agregar el id de postman que generaron en la sección de Postman. 😤

Gracias

crear subscripciones

Solo soy yo o no puso el código de implementación? Solo cambia ligeramente pero no se si se me paso

esto si me interesa

Pagos recurrentes también llamados.

nunca me descargo el archivo .json xppp :’(

Alguien que suba en mensaje el json de neuvo porfavor , que el archivo adjunto del profesor no de descarga u.u

consulta que archivo subistes para visualisar esos 3 archivos que son post?

por lo que entiendo esas conexiones en post son de json correcto?