Making payments with MassPayment NVP

PayPal Mass Payments NVP


Require the masspayments module in your code:

var MassPay = require('node-paypal-masspayments')

Instantiate a new instance of the class and provide to it an options variable that provides access to your paypal password, user, api signature, and a subject for your masspayment emails.

var mp = new MassPay({
    pwd: process.env.PAYPAL_PWD
    , user: process.env.PAYPAL_USER
    , signature: process.env.PAYPAL_SIGNATURE
    , emailsubject: process.env.PAYPAL_EMAILSUBJECT

You'll send your payments in batches of up to 250. Each batch is created and passed an array of payment request json objects, each defining an email, amount, uniqueId, and note for the request.

var paymentRequests = [
    email: ''
    , amount: '1.5'
    , uniqueId: '12345'
    , note: 'request for matt@gc'
, {
    email: ''
    , amount: '1.75'
    , uniqueId: '123456'
    , note: 'request for tim@gc'

var batch = new MassPay.PaymentBatch(paymentRequests);

Pass your batch to to the pay() method, along with an event handler to handle the response. All properties from the PayPal API are transposed to either the error or results object upon success (or a successful call, which returns a logical error from the PayPal gateway)., function(err, results) {
  if(err) throw err;
  // do stuff!
  assert.equal(results.ACK, 'Success')