2.0.0-rc1 • Published 5 years ago

paypal-nvp-api v2.0.0-rc1

Weekly downloads
967
License
MIT
Repository
github
Last release
5 years ago

paypal-nvp-api

Node.js wrapper for the Paypal Name-Value Pair — NVP

NPM CI test Coverage Status Quality Gate Status

Usage

Import module and init an instance with given config:

const Paypal = require('paypal-nvp-api');


const config = {
  mode: 'sandbox', // or 'live'
  username: 'someone.itravellocal.com',
  password: 'DYKNJZZE42ASN699',
  signature: 'A0aEilikhBmwfK.NlduDjCbsdgXdA8VDPMDksDhGsHmLQECu80Qtru09'
}

const paypal = Paypal(config);

Build query and send to Paypal server:

paypal.request('GetBalance', {}).then((result) => {
  console.log(result);
}).catch((err) => {
  console.trace(err);
});

The 'result' looks like this:

{
  L_AMT0: '71084.27',
  L_CURRENCYCODE0: 'USD',
  TIMESTAMP: '2016-03-18T09:48:16Z',
  CORRELATIONID: 'e3de6137ce65c',
  ACK: 'Success',
  VERSION: '124',
  BUILD: '18316154'
}

Another example with "SetExpressCheckout" operation:

const query = {
  'PAYMENTREQUEST_0_AMT': '20.00',
  'PAYMENTREQUEST_0_CURRENCYCODE': 'USD',
  'PAYMENTREQUEST_0_PAYMENTACTION': 'Sale',
  'RETURNURL': 'http://google.com/test/onreturn',
  'CANCELURL': 'http://google.com/test/oncancel'
};

paypal.request('SetExpressCheckout', query).then((result) => {
  console.log(result);
}).catch((err) => {
  console.trace(err);
});

In this case, it returns something like this:

{
  TOKEN: 'EC-5Y171147E8077933D',
  TIMESTAMP: '2016-03-18T09:58:38Z',
  CORRELATIONID: 'e8289e4235624',
  ACK: 'Success',
  VERSION: '124',
  BUILD: '18316154'
}

APIs

request(String method, Object query)

In which:

  • method: one of API operations Paypal NVP supports, such as SetExpressCheckout, DoCapture, SetCustomerBillingAgreement, etc.
  • query: a set of parameters you want to send to Paypal API endpoint, relying on which method is being used.

For more info:

formatCurrency(Number amount)

You can use this util to quickly convert a number to standard currency format that fits Paypal convention.

Return: a string in the format of X,XXX,XX.XX (used in United States, Canada).

paypal.formatCurrency(123456); // = '123,456.00'
paypal.formatCurrency(12345); // = '12,345.00'
paypal.formatCurrency(1234); // = '1,234.00'
paypal.formatCurrency(12); // = '12.00'
paypal.formatCurrency(12.5); // = '12.50'
paypal.formatCurrency('12.00'); // = '12.00'

Test

git clone https://github.com/ndaidong/paypal-nvp-api.git
cd paypal-nvp-api
npm install
npm test

License

The MIT License (MIT)

2.0.0-rc1

5 years ago

1.3.0

6 years ago

1.2.5

7 years ago

1.2.33

8 years ago

1.2.32

8 years ago

1.2.31

8 years ago

1.2.28

8 years ago

1.2.27

8 years ago

1.2.26

8 years ago

1.2.25

9 years ago

1.2.23

9 years ago

1.2.22

9 years ago

1.2.21

9 years ago

1.2.2

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.2

9 years ago

1.0.0

9 years ago

0.2.31

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.1.28

9 years ago

0.1.26

10 years ago

0.1.25

10 years ago

0.1.24

10 years ago

0.1.22

10 years ago

0.1.21

10 years ago

0.1.20

10 years ago

0.1.17

10 years ago

0.1.16

10 years ago

0.1.12

10 years ago

0.1.11

10 years ago

0.1.10

10 years ago