concardis payments (server-to-server)


Keywords
concardis, payment, psp, node-js, payments
License
MIT
Install
npm install concardis@0.4.2

Documentation

node-concardis

Concardis payments in Node.js

Build Status Coverage Status Code Climate Dependency Status

Examples

const concardis = require('concardis');

Hosted tokenization page

To be able to use the Hosted Tokenization Page, you need to have at least one of the following options enabled:

  • One Page Checkout (option ID: OPC)
  • Alias Manager (option ID: REC1, REC2, RECX)
const payload = {
  'account.pspid': 'MyPspId',
  'card.paymentmethod': 'CreditCard',
  'parameters.accepturl': 'http://ya.ru/succ',
  'parameters.exceptionurl': 'http://ya.ru/err'
};

const url = concardis.hosted.UrlSmart
  .test/*production*/('MyShaToken', payload/*, 'sha512'*/);

console.log(url.toString());

SHA signature

  • SHA-256 (is used by default in request.CollectionChecksum)
const checksum = new concardis.request.CollectionChecksum(
    new concardis.request.ObjectCollection({'pspid': 'example'}),
    'MyShaPhrase'
    /*, 'sha512'*/
);
console.log(checksum.toString());

DirectLink (server-to-server)

Request a new order

const payload = {
  alias: 'FE521799-50BB-47E6-AA10-B7B15CB3A0CC',
  amount: 7700,
  currency: 'EUR',
  cvc: '123', // or eci: 2/9; 9 is for reccurring transactions
  operation: 'SAL',
  orderid: '1234567890',
  pspid: 'MyPspId',
  pswd: 'MyApiUserPassword',
  userid: 'My-API-User'
};

concardis.direct.link.OrderSmart
  .test/*production*/('MyShaToken', payload/*, 'sha512'*/).toJson()
  .then(response => console.log(response)) // NCERROR and NCSTATUS validation
  .catch(error => console.error(error))

Bulk Alias management via Batch

Alias creation

const alias = [
  'Customer123', 'John Doe', '4111111111111111', 1012, 'VISA', 'JDoeSHOP'
];

const message = concardis.alias.batch.EnvelopeSmart
  .header('MyPspId', 'My-API-User', 'MyApiUserPassword'/*, true*/) 
  .create([alias]).toString()

// two step process goes here, see the alias deletion section below 

Alias deletion

const message = concardis.alias.batch.EnvelopeSmart
  .header('MyPspId', 'My-API-User', 'MyApiUserPassword'/*, true*/)
  .delete(['Customer123']).toString();
  
// step 1 (acquiring FILEID)
concardis.batch.CommandSmart.test/*production*/()
  .check(message).toJson()
  .then(response => {
    // NCERROR validation
    // example FILEID: response.FORMAT_CHECK[0].FILEID[0]
    console.log(JSON.stringify(response));
  }) 
  .catch(error => console.error(error))
  
// step 2
concardis.batch.CommandSmart.test/*production*/()
  .process('MyFileId').toJson()
  .then(response => {
    // NCERROR validation
    // response.PROCESSING validation 
    console.log(JSON.stringify(response));
  }) 
  .catch(error => console.error(error))

Docs

Tests

npm install && npm run cover

License

The MIT License (MIT)

Copyright (c) 2016-2017 Kanstantsin Kamkou