PayPal Passaggio 1: creazione di un modello di abbonamento utilizzando un piano di fatturazione (esempio di nodo)


Esempio

Quando si crea un abbonamento per un utente, è prima necessario creare e attivare un piano di fatturazione a cui un utente è quindi iscritto utilizzando un contratto di fatturazione. Il processo completo per la creazione di un abbonamento è dettagliato nelle osservazioni di questo argomento.

All'interno di questo esempio, utilizzeremo l' SDK del nodo PayPal . Puoi ottenerlo da NPM usando il seguente comando:

npm install paypal-rest-sdk

All'interno del nostro file .js, per prima cosa configuriamo la nostra configurazione dell'SDK, che include l'aggiunta di un requisito per l'SDK, la definizione dell'ID client e del segreto dalla creazione della nostra applicazione e quindi la configurazione dell'SDK per l'ambiente 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
});

Quindi, dobbiamo impostare due oggetti JSON. L'oggetto billingPlanAttribs contiene le informazioni e la ripartizione dei pagamenti per il piano di fatturazione a cui possiamo iscrivere gli utenti e l'oggetto di billingPlanUpdateAttributes contiene i valori per impostare il piano di fatturazione su uno stato attivo, consentendone l'utilizzo.

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"
    }
}];

billingPlanAttribs , ci sono alcune informazioni rilevanti:

  • nome / descrizione / tipo : informazioni visive di base per descrivere il piano e il tipo di piano.
  • payment_definitions : informazioni su come il piano dovrebbe funzionare e essere fatturato. Maggiori dettagli sui campi qui .
  • merchant_preferences : strutture tariffarie aggiuntive, URL di reindirizzamento e impostazioni per il piano di abbonamento. Maggiori dettagli sui campi qui .

Con questi oggetti, ora possiamo creare e attivare il piano di fatturazione.

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);
            }
        });
    }
});

Chiamiamo billingPlan.create(...) , passando l'oggetto billingPlanAttribs che abbiamo appena creato. Se ciò ha esito positivo, l'oggetto di ritorno conterrà informazioni sul piano di fatturazione. Per fare un esempio, è sufficiente utilizzare l'ID del piano di fatturazione per attivare il piano per l'uso.

Successivamente, chiamiamo billingPlan.update(...) , passando l'ID del piano di fatturazione e l'oggetto di billingPlanUpdateAttributes che abbiamo creato in precedenza. Se ciò è successo, il nostro piano di fatturazione è ora attivo e pronto per l'uso.

Per creare un abbonamento per un utente (o più utenti) su questo piano, dovremo fare riferimento billingPlan.id piano di fatturazione ( billingPlan.id sopra), quindi memorizzarlo in un luogo a cui è possibile fare riferimento facilmente.

Nella seconda fase della sottoscrizione, dobbiamo creare un contratto di fatturazione basato sul piano appena creato ed eseguirlo per iniziare l'elaborazione delle sottoscrizioni per un utente.