Nattily Polished Marbles
Learn how companies like Phone2Action are using npm in their front-end developmentJoin the conversation »

nps_sdk

1.2.1 • Public • Published

Node.js SDK

Availability

Supports Node.Js v4.2.0 and above

How to install

npm install nps_sdk

Configuration

It's a basic configuration of the SDK

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
});

Here is an simple example request:

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   cache: true});
 
Sdk.payOnline2p({
        psp_Version: '2.2',
        psp_MerchantId: 'psp_test',
        psp_TxSource: 'WEB',
        psp_MerchTxRef: 'ORDER66666-2',
        psp_MerchOrderId: 'ORDER66666',
        psp_Amount: '15050',
        psp_NumPayments: '1',
        psp_Currency: '032',
        psp_Country: 'ARG',
        psp_Product: '14',
        psp_CardNumber: '4507990000000010',
        psp_CardExpDate: '1612',
        psp_CardSecurityCode: '123',
        psp_PosDateTime: '2016-12-01 12:00:00'
    },
    function (error, response) {
        if (error) {
            console.log(error) //Http Error
        } else {
            // Code to handle response
        }
    });

Environments

var constants = require('./lib/constants')
 
constants.SANDBOX
constants.STAGING
constants.PRODUCTION

Error handling

The HTTP errors that can occur inside of SDK will be returned inside of the error variable provided by your callback function

Note: The rest of the exceptions that can occur will be detailed inside of the response provided by NPS.

var Sdk = new Sdk(conf);
 
Sdk.payOnline2p({
        parameters: "params"
    },
    function (error, response) {
        if (error) {
            console.log(error) 
        } else {
            //Code to handle the response
        }
    });

Advanced configurations

Logging

Nps SDK allows you to log what’s happening with you request inside of our SDK. The SDK uses the custom logger that you use for your project.

var winston = require('winston');
var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
const wLogger = winston.createLogger({
  level: 'info',
  format: winston.format.simple(),
  transports: [
    new winston.transports.Console()
  ]
});
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   logger: logger});

LogLevel

The "INFO" level will write concise information of the request and will mask sensitive data of the request. The "DEBUG" level will write information about the request to let developers debug it in a more detailed way.

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   logLevel: DEBUG});

Sanitize

Sanitize allows the SDK to truncate to a fixed size some fields that could make request fail, like extremely long name.

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   sanitize: true});

Timeout

You can change the timeout of the request (Milliseconds).

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   timeout: 60000});

Proxy configuration

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   proxyUrl: '_YOUR_PROXY_URL_'});

Cache

var Sdk = require('nps_sdk');
var sdk = new Sdk();
 
var constants = sdk.getConstants();
 
sdk.connect({environment: constants.SANDBOX,
   secretKey: 'YOUR_SECRET_KEY',
   cache: true});

Install

npm i nps_sdk

DownloadsWeekly Downloads

65

Version

1.2.1

License

MIT

Unpacked Size

622 kB

Total Files

14

Last publish

Collaborators

  • avatar