PayPal Paso 1: crear un modelo de suscripción utilizando un plan de facturación (ejemplo de nodo)


Ejemplo

Al crear una suscripción para un usuario, primero debe crear y activar un plan de facturación al que se suscriba un usuario mediante un acuerdo de facturación. El proceso completo para crear una suscripción se detalla en las observaciones de este tema.

En este ejemplo, vamos a utilizar el SDK de nodo de PayPal . Puedes obtenerlo de NPM usando el siguiente comando:

npm install paypal-rest-sdk

Dentro de nuestro archivo .js, primero configuramos nuestra configuración de SDK, que incluye agregar un requisito para el SDK, definir nuestro ID de cliente y el secreto para crear nuestra aplicación , y luego configurar el SDK para el entorno de sandbox.

var paypal = require('paypal-rest-sdk');

var clientId = 'YOUR CLIENT ID';
var secret = 'YOUR SECRET';

paypal.configure({
  'mode': 'sandbox', //sandbox or live
  'client_id': clientId,
  'client_secret': secret
});

A continuación, necesitamos configurar dos objetos JSON. El objeto billingPlanAttribs contiene la información y el desglose de pagos del plan de facturación al que podemos suscribir a los usuarios, y el objeto billingPlanUpdateAttributes contiene valores para configurar el plan de facturación en un estado activo, lo que permite su uso.

var billingPlanAttribs = {
    "name": "Food of the World Club Membership: Standard",
    "description": "Monthly plan for getting the t-shirt of the month.",
    "type": "fixed",
    "payment_definitions": [{
        "name": "Standard Plan",
        "type": "REGULAR",
        "frequency_interval": "1",
        "frequency": "MONTH",
        "cycles": "11",
        "amount": {
            "currency": "USD",
            "value": "19.99"
        }
    }],
    "merchant_preferences": {
        "setup_fee": {
            "currency": "USD",
            "value": "1"
        },
        "cancel_url": "http://localhost:3000/cancel",
        "return_url": "http://localhost:3000/processagreement",
        "max_fail_attempts": "0",
        "auto_bill_amount": "YES",
        "initial_fail_amount_action": "CONTINUE"
    }
};

var billingPlanUpdateAttributes = [{
    "op": "replace",
    "path": "/",
    "value": {
        "state": "ACTIVE"
    }
}];

Dentro del objeto billingPlanAttribs , hay algunos datos relevantes:

  • nombre / descripción / tipo : información visual básica para describir el plan y el tipo de plan.
  • Payment_definitions : Información sobre cómo debería funcionar y facturarse el plan. Más detalles sobre los campos aquí .
  • merchant_preferences : estructuras de tarifas adicionales, URL de redireccionamiento y configuraciones para el plan de suscripción. Más detalles sobre los campos aquí .

Con esos objetos en su lugar, ahora podemos crear y activar el plan de facturación.

paypal.billingPlan.create(billingPlanAttribs, function (error, billingPlan){
    if (error){
        console.log(error);
        throw error;
    } else {
        // Activate the plan by changing status to Active
        paypal.billingPlan.update(billingPlan.id, billingPlanUpdateAttributes, function(error, response){
            if (error) {
                console.log(error);
                throw error;
            } else {
                console.log(billingPlan.id);
            }
        });
    }
});

Llamamos a billingPlan.create(...) , pasando el objeto billingPlanAttribs que acabamos de crear. Si eso tiene éxito, el objeto devuelto contendrá información sobre el plan de facturación. Por el bien del ejemplo, solo necesitamos usar la ID del plan de facturación para activar el plan para su uso.

A continuación, llamamos a billingPlan.update(...) y billingPlanUpdateAttributes la ID del plan de facturación y el objeto billingPlanUpdateAttributes que creamos anteriormente. Si eso tiene éxito, nuestro plan de facturación ahora está activo y listo para usar.

Para crear una suscripción para un usuario (o varios usuarios) en este plan, necesitaremos hacer referencia al ID del plan de facturación ( billingPlan.id anterior), así que guárdelo en un lugar al que se pueda hacer referencia fácilmente.

En el segundo paso de suscripción, debemos crear un acuerdo de facturación basado en el plan que acabamos de crear y ejecutarlo para comenzar a procesar las suscripciones para un usuario.