
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
itransact-node
Advanced tools
As a quick helper for our NodeJS community to get up and running even faster in your favorite dependency manager, we have created this API / SDK wrapper specifically tailored for NodeJS and Express.
More details at iTransact Developer API
If there is a platform you would like to see in addition to npm for dependency management, let us know.
Run the following command at the root fo your project
npm install itransact-node
Download the zip, or use git submodules to pull the SDK into your project.
Here is an example implementation:
(see /examples for more)
"use strict";
const itransact = require('itransact-node');
// Store these somewhere safe.
const api_username = 'test_user';
const api_key = 'test_key';
// You can use your own JSON Model, or use the included models.
const cardData = new itransact.CardDataModel();
cardData.name = 'Greg';
cardData.number = '4111111111111111';
cardData.cvv = '123';
cardData.exp_month = '11';
cardData.exp_year = '2020';
// MetaData is optional, customer emails will not be sent out without the following.
const metaData = new itransact.MetaDataModel();
metaData.email = "example@test.com"; // Customer's email address for receipt delivery
// Address is optional, unless using loopback /sandbox / demo account.
const addressData = new itransact.AddressDataModel();
addressData.postal_code = '84025';
const payload = new itransact.TransactionPostPayloadModel();
payload.amount = '1000';
payload.card = cardData;
payload.address = addressData; // Optional
payload.metadata = metaData; // Optional
payload.send_customer_receipt = true; // Optional - default: false
let fooCallback = function (response) {
// Do something with response here
};
itransact.post_card_transaction(payload, api_username, api_key, fooCallback);
"use strict";
const itransact = require('itransact-node');
// Store this somewhere safe.
const api_key = 'test_key';
// You can use your own JSON Model, or use the included models.
const payload = {
amount: '1000',
card:{
name: 'Greg',
number: '4111111111111111',
cvv: '123',
exp_month: '11',
exp_year: '2020'
},
'address': { // Address is optional, unless using loopback /sandbox / demo account.
'postal_code': '84025'
},
'metadata': { // Optional
'email': 'example@itransact.com'
},
'send_customer_receipt': 'true' // Optional - default: false
};
// IF you want to just sign the payload
let payloadSignature = itransact.signPayload(api_key, payload);
Note - expected signature changes every time the api_username, api_key, and payload changes in any way. It is only included here for testing.
Demo Account Note - Loopback, Sandbox, and Demo accounts require postal_code, otherwise you will see an error similar to - "ZIP REQUIRED FOR KEYED TRANSACTION"
Example successful postResult using the example above will return a 201 with the following fields / value types:
{
"id": "string",
"amount": 0,
"status": "string",
"settled": "string",
"instrument": "string",
"metadata": [
{
"key": "string",
"value": "string"
}
],
"payment_source": {
"name": "string",
"default": "string",
"type": "string",
"expired": "string",
"month": "string",
"year": "string",
"brand": "string",
"last_four_digits": "string",
"sec_code": "string"
},
"credits": {
"amount": 0,
"state": "string"
},
"credited_amount": "string"
}
Check out the files in /examples for other ideas for implementation.
Unit tests on this project are run using Mocha. You can find each test in the /test folder.
After doing an npm install mocha, and chai will be available to run using the following command.
npm test
Alternative Methods:
npm test-report
npm test-check-coverage
./node_modules/.bin/mocha --reporter spec
FAQs
This is an SDK for authenticating with iTransact's API
The npm package itransact-node receives a total of 13 weekly downloads. As such, itransact-node popularity was classified as not popular.
We found that itransact-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.