Giter VIP home page Giter VIP logo

iso-8583's Introduction

iso-8583

A native Node module to process ISO 8583 Financial transaction card originated messages

NPM Version Build Status Dependency Status devDependency Status NPM Downloads Massachusetts Institute of Technology (MIT) Donate

ISO 8583 Financial transaction card originated messages — Interchange message specifications is the International Organization for Standardization standard for systems that exchange electronic transactions made by cardholders using payment cards.

Installation

npm install iso-8583

API

The main namespace

	var ISO8583 = require('iso-8583');

ISO8583 Message Constructor

ISO8583.Message()

Methods of ISO8583.Message

ISO8583.Message().packSync()

A native method to pack a message.

Example:

	var msg = [
		[0, "1234"],
		[2, "1234567890123456"],
		[4, "000000005699"],
		[11, "000234"],
		[39, "004"],
		[41, "12345"],
		[42, "678901234"],
		[125, "BLAH BLAH"]
	];

	var message = new ISO8583.Message();
	var packedMessage = message.packSync(msg);
	console.log(packedMessage);

Yields:

[
	"12", "34", "D0", "20", "00", "00", "02", "C0", "00", "00", "00", "00", "00", "00", "00", "00", "00", "08", "16", "12", "34", "56", "78", "90", "12", "34", "56", "00", "00", "00", "00", "56", "99", "00", "02", "34", "00", "04", "31", "32", "33", "34", "35", "20", "20", "20", "36", "37", "38", "39", "30", "31", "32", "33", "34", "20", "20", "20", "20", "20", "20", "00", "09", "42", "4C", "41", "48", "20", "42", "4C", "41", "48"
]

ISO8583.Message().unpackSync()

A native method to parse and unpack a message.

Example:

	var message = new ISO8583.Message();
	var data = "1234D020000002C000000000000000000008161234567890123456000000005699000234000431323334352020203637383930313233342020202020200009424C414820424C4148";
	var msg = new Buffer(data, "hex");
	var len = msg.length;
  	var unpackedMessage = message.unpackSync(msg, len);
  	console.log(unpackedMessage);

Yields:

[
	[0, "1234"],
	[2, "1234567890123456"],
	[4, "000000005699"],
	[11, "000234"],
	[39, "004"],
	[41, "12345"],
	[42, "678901234"],
	[125, "BLAH BLAH"]
]

ISO8583.Message().parseSync()

A JavaScript wrapper helper method calling unpackSync()

Example:

	var message = new ISO8583.Message();
	var data = "1234D020000002C000000000000000000008161234567890123456000000005699000234000431323334352020203637383930313233342020202020200009424C414820424C4148";
  	var unpackedMessage = message.parseSync(data);
  	console.log(unpackedMessage);

Yields:

[
	[0, "1234"],
	[2, "1234567890123456"],
	[4, "000000005699"],
	[11, "000234"],
	[39, "004"],
	[41, "12345"],
	[42, "678901234"],
	[125, "BLAH BLAH"]
]

Usage

This section need improvements. So far please take a look at the unit tests to learn how to use this module.

Background

This module is based on the efforts of Oscar Sanderson.

ISO 8583 is a messaging standard used for payment card originated financial transactions. At present there are three different versions of the standard, as follows:

1987 (used by Visa / MasterCard)
1993 (used by Amex)
2003
Each version is named based on the year that it was published.

Whilst ISO 8583 is an official standard, it is important to note that most implementations are derivatives and do not fully comply with the published standard, however the variations are typically minor and it is generally quite a trivial task to modify an existing ISO 8583 version handler to accommodate such variations.

Source: http://www.oscarsanderson.com/iso-8583/

More details

List of ISO 8583-like specifications used by Card Payment System associations:

  • AMEX / American Express Payment Services Ltd.:
    • Global Credit Authorization Guide (GCAG)
    • Global Electronic Data Capture (GEDC) Terminal Message Specification
    • Plural Interface Processing (PIP) Terminal Interface
  • CUP / China UnionPay / UnionPay International:
    • CUP Online Message.
  • DCI / Diners Club International Ltd.:
    • Diners Club International Service Centre (DCISC) Relay Authorisation System
    • Diners Club International Relay Xpress Authorization System.
  • DFS / Discover Financial Services:
    • Authorization Interface Technical Specifications.
  • JCB / JCB International:
    • J-Link Online Interface Guide.
  • MasterCard International:
    • Customer Interface Specification (CIS)
    • Global Clearing Management System (GCMS) Reference
    • Integrated Product Messages (IPM) Clearing Formats
    • MasterCard Debit Switch (MDS) Online Specifications
    • Single Message System (SMS) Specifications.
  • Visa International / Visa Europe:
    • BASE I Technical Specifications
    • Single Message System (SMS) ATM/POS Technical Specifications
    • Dual Message System Authorization (DMSA) Technical Specifications.

A huge list of different acquirers national and domestic payment services which also used ISO 8583 messages are not in this list.
Specifications available for the members of these associations. They are confidential usually but could be found in the web if you know which specification to search.
The services around payments industry like iso8583.info providing details about the messages content with data parsing and test hosts.

iso-8583's People

Contributors

paulpps avatar s-a avatar timgabets avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iso-8583's Issues

Problem to install

Hi! I'm have this problem when I try to install the package with npm install iso-8583

> [email protected] install C:\Projetos\bit-validator\validator\node_modules\iso-8583
> node-gyp rebuild

C:\Projetos\bit-validator\validator\node_modules\iso-8583>if not defined npm_config_node_gyp (node "C:\Users\Datum\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\Datum\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  NativeExtension.cc
  functions.cc
  win_delay_load_hook.cc
C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h(31): fatal error C1083: Cannot open include file: 'ctype.h':
 No such file or directory (compiling source file C:\Users\Datum\AppData\Roaming\npm\node_modules\npm\node_modules\node
-gyp\src\win_delay_load_hook.cc) [C:\Projetos\bit-validator\validator\node_modules\iso-8583\build\ISO8583.vcxproj]
c:\users\datum\.node-gyp\8.11.3\include\node\uv-errno.h(25): fatal error C1083: Cannot open include file: 'errno.h': No
 such file or directory (compiling source file ..\functions.cc) [C:\Projetos\bit-validator\validator\node_modules\iso-8
583\build\ISO8583.vcxproj]
c:\users\datum\.node-gyp\8.11.3\include\node\uv-errno.h(25): fatal error C1083: Cannot open include file: 'errno.h': No
 such file or directory (compiling source file ..\NativeExtension.cc) [C:\Projetos\bit-validator\validator\node_modules
\iso-8583\build\ISO8583.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\Datum\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Datum\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Projetos\bit-validator\validator\node_modules\iso-8583
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Datum\AppData\Roaming\npm-cache\_logs\2018-07-31T22_17_07_850Z-debug.log

What i'm doing wrong?

NPM package without the .git file

When you upload the package to NPM you need to ignore the .git file, because you get an error when you try to install or update the package.

~ » npm install -g iso-8583
npm ERR! path /usr/local/lib/node_modules/iso-8583
npm ERR! code EISGIT
npm ERR! git /usr/local/lib/node_modules/iso-8583: Appears to be a git repo or submodule.
npm ERR! git     /usr/local/lib/node_modules/iso-8583
npm ERR! git Refusing to remove it. Update manually,
npm ERR! git or move it out of the way first.

error: no member named 'to_string' in namespace 'std'

Hi,

I am trying to install this package on macos, but receiving the above error. Please see below details.

MacBook-Pro:code skapoor$ npm i iso-8583

[email protected] install /Users/skapoor/development/sandbox/XXXXXXcode/node_modules/iso-8583
node-gyp rebuild

CXX(target) Release/obj.target/ISO8583/NativeExtension.o
CXX(target) Release/obj.target/ISO8583/functions.o
../functions.cc:109:26: error: no member named 'to_string' in namespace 'std'
std::string k = std::to_string(i);
~~~~~^
In file included from ../functions.cc:1:
../functions.h:34:12: warning: private field 'value_' is not used [-Wunused-private-field]
double value_;
^
1 warning and 1 error generated.
make: *** [Release/obj.target/ISO8583/functions.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/skapoor/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/Users/skapoor/.nvm/versions/node/v6.11.1/bin/node" "/Users/skapoor/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/skapoor/development/sandbox/XXXXXXX/code/node_modules/iso-8583
gyp ERR! node -v v6.11.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely

Here is some more information about my system:

node -v: v6.11.1
uname -a: Darwin MacBook-Pro.local 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64
cc -v: Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Any idea what I am missing? I have the latest xcode version installed.

Error install with Node v12.18.3

Hi,

I am trying to install the package from npm but got following error:

"C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31,39): error C2039: 'Handle': is not a member of 'v8' [C:\D
ata\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31,45): error C2065: 'Handle': undeclared identifier [C:\Dat
a\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31,50): error C2275: 'v8::Array': illegal use of this type a
s an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31): message : see declaration of 'v8::Array' [C:\Data\Proje
ct\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31,57): error C2065: 'messageFields': undeclared identifier
[C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(31,71): error C2448: 'pack_iso8583': function-style initiali
zer appears to be a function definition [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(171,45): error C2039: 'Handle': is not a member of 'v8' [C:
Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(171,15): error C2061: syntax error: identifier 'Handle' [C:
Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(197,7): error C2039: 'Handle': is not a member of 'v8' [C:\D
ata\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(197,13): error C2143: syntax error: missing ';' before '<' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(197,13): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(197,38): error C2238: unexpected token(s) preceding ';' [C:
Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(172,44): error C2065: 'messageFields': undeclared identifier
[C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(172,30): error C2614: 'PackerWorker': illegal member initial
ization: 'messageFields' is not a base or member [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(193,13): warning C4996: 'Nan::Callback::Call': was declared
deprecated [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,7): error C2039: 'Handle': is not a member of 'v8' [C:\D
ata\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,13): error C2065: 'Handle': undeclared identifier [C:\Da
ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,18): error C2275: 'v8::Array': illegal use of this type
as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243): message : see declaration of 'v8::Array' [C:\Data\Proj
ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,25): error C2065: 'messageFields': undeclared identifier
[C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,45): error C2039: 'Handle': is not a member of 'v8' [C:
Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,51): error C2065: 'Handle': undeclared identifier [C:\Da
ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,56): error C2275: 'v8::Array': illegal use of this type
as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243): message : see declaration of 'v8::Array' [C:\Data\Proj
ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,64): error C2039: 'Cast': is not a member of 'global na mespace'' [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(243,68): error C3861: 'Cast': identifier not found [C:\Data\ Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(244,46): error C2065: 'messageFields': undeclared identifier [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,7): error C2039: 'Handle': is not a member of 'v8' [C:\D ata\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [ C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,13): error C2065: 'Handle': undeclared identifier [C:\Da ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,18): error C2275: 'v8::Array': illegal use of this type as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251): message : see declaration of 'v8::Array' [C:\Data\Proj ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,25): error C2065: 'messageFields': undeclared identifier [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,45): error C2039: 'Handle': is not a member of 'v8' [C:\ Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [ C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,51): error C2065: 'Handle': undeclared identifier [C:\Da ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,56): error C2275: 'v8::Array': illegal use of this type as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251): message : see declaration of 'v8::Array' [C:\Data\Proj ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,64): error C2039: 'Cast': is not a member of 'global na
mespace'' [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(251,68): error C3861: 'Cast': identifier not found [C:\Data
Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(254,48): error C2065: 'messageFields': undeclared identifier
[C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(254,4): error C3861: 'AsyncQueueWorker': identifier not foun
d [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(260,54): error C2661: 'v8::Value::ToObject': no overloaded f
unction takes 0 arguments [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(261,42): error C2660: 'v8::Value::Uint32Value': function doe
s not take 0 arguments [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8.h(2707,41): message : see declaration of 'v8::Value
::Uint32Value' (compiling source file ..\functions.cc) [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcx
proj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,8): error C2039: 'Handle': is not a member of 'v8' [C:\D
ata\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,14): error C2065: 'Handle': undeclared identifier [C:\Da
ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,19): error C2275: 'v8::Array': illegal use of this type
as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273): message : see declaration of 'v8::Array' [C:\Data\Proj
ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,26): error C2065: 'messageFields': undeclared identifier
[C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,46): error C2039: 'Handle': is not a member of 'v8' [C:
Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Users\admin\AppData\Local\node-gyp\Cache\12.18.3\include\node\v8-platform.h(16): message : see declaration of 'v8' [
C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,52): error C2065: 'Handle': undeclared identifier [C:\Da
ta\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,57): error C2275: 'v8::Array': illegal use of this type
as an expression [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273): message : see declaration of 'v8::Array' [C:\Data\Proj
ect\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj]
C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,65): error C2039: 'Cast': is not a member of 'global na mespace'' [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(273,69): error C3861: 'Cast': identifier not found [C:\Data\ Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(274,33): error C2065: 'messageFields': undeclared identifier [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(275,25): error C2065: 'messageFields': undeclared identifier [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] C:\Data\Project\iso8583\node_modules\iso-8583\functions.cc(275,46): error C2661: 'Nan::Set': no overloaded function tak es 2 arguments [C:\Data\Project\iso8583\node_modules\iso-8583\build\ISO8583.vcxproj] gyp ERR! build error gyp ERR! stack Error: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Data\Project\iso8583\node_modules\iso-8583
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\admin\AppData\Roaming\npm-cache_logs\2020-09-18T09_32_48_894Z-debug.log"

It seem like our Node version is not compatible with the package. Can you please let me know the version of node that work with this build

Thanks
Thang

EBCDIC Field Support

I need to create an ISO Message with some EBCDIC Fields. Is there any kind of support for this necessity in this package?
If not how difficult is to implement that?

Unable to generate ISO message with bit 52

Hi,

with bit 52, unable to generate ISO Message. Please check my input body
var msg = [ [ 0, '0200' ],
[ 2, '0000009849698496' ],
[ 3, '340000' ],
[ 4, '000000000000' ],
[ 7, '0226145725' ],
[ 11, '112439' ],
[ 12, '145702' ],
[ 13, '0226' ],
[ 18, '6019' ],
[ 32, '531' ],
[ 33, '531' ],
[ 37, '122519411235' ],
[ 41, 'ABCDEFGH' ],
[ 42, '___ABCDEFGH ____' ],
[ 49, '360' ],
[ 52, '1234567891234567' ],
[ 63, 'Sample Data' ],
[ 102, '000531165010142771' ],
[ 104, '00000012345678' ]
];

Not working with iso 8583 - 1987

Following code returns a blank array.

var msg =[[0,"0200"],      [2,"804005110000008743"],      [3,"321000"],      [4,"000000000000"],      [7,"0717131926"],      [11,"027131"],      [12,"131926"],      [13,"0717"],      [15,"0717"],      [17,"0717"],      [28,"C00000000"],      [32,"800024"],      [35,"6075842178573368D13011261830944600000"],      [37,"719813027131"],      [38,"027131"],      [41,"SBI00001"],      [43,"TEST ATM PUNE          PUNE         MHIN"],      [48,"6075842178573368"],      [49,"356"],      [50,"000"],      [60,"2017201720172017"]];

var message = new ISO8583.Message();
var packedMessage = message.packSync(msg);
console.log(packedMessage);

Field 35 (Track2) not returning in the right format

Hello,

I was testing this module, to unpack some ISO message (1987 format).

However when Track2 field is decoded, it shows a unreadable data. It seems to me it's been interpreted as ASCII instead of BCD. Then rest of the fields are mess up (like terminal id on field 41).

Track2 format on ISO is very particular because it's not full BCD, because has a especial charter in between ('='). The format it's somethig like this: 5127420812420393=18022011329147300000.

Is there anyway to handle this?

Regards
Ian.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.