# card-reader

> >## DEPRECATED - Please use [smartcard](https://github.com/tomkp/smartcard) instead....

Latest version **1.0.5** (published 2021-02-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install card-reader
pnpm add card-reader
yarn add card-reader
bun add card-reader
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.5 |
| Published | 2021-02-15 |
| First published | 2014-09-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 1.6 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | tomkp |
| Maintainers | tomkp |
| Keywords | pcsc, smartcard, smart-card, iso7816, iso-7816, emv, es6 |

## Links

- npm: https://www.npmjs.com/package/card-reader
- Repository: https://github.com/tomkp/card-reader
- Issues: https://github.com/tomkp/card-reader/issues
- npm.io page: https://npm.io/package/card-reader

## Dependencies (3)

- [hexify](https://npm.io/package/hexify.md) ^1.0.4
- [core-js](https://npm.io/package/core-js.md) ^3.8.3
- [pcsclite](https://npm.io/package/pcsclite.md) ^1.0.0

## Recent versions

- 1.0.5 (latest) — 2021-02-15
- 1.0.4 — 2016-05-16
- 1.0.3 — 2016-03-25
- 1.0.2 — 2016-03-25
- 1.0.1 — 2016-03-24
- 0.0.27 — 2016-03-24
- 0.0.26 — 2016-03-24
- 0.0.25 — 2016-03-24
- 0.0.24 — 2016-03-21
- 0.0.23 — 2016-03-21
- 0.0.22 — 2016-03-20
- 0.0.21 — 2016-03-19
- 0.0.20 — 2016-03-19
- 0.0.19 — 2016-03-18
- 0.0.18 — 2016-03-08
- … 16 more at https://npm.io/package/card-reader/versions

## README

>## DEPRECATED - Please use [smartcard](https://github.com/tomkp/smartcard) instead....

-----------------


# Card Reader

A simple wrapper around [Santiago Gimeno's](https://www.npmjs.org/~sgimeno) great [pcsclite](https://github.com/santigimeno/node-pcsclite) library.



Emits events for:

* device-activated
* device-deactivated
* card-inserted
* card-removed
* issue-command
* receive-response
* error


## Examples

```javascript
var cardreader = require('../lib/card-reader');

cardreader.on('device-activated', function (reader) {
    console.log(`Device '${reader.name}' activated`);
});

cardreader.on('device-deactivated', function (reader) {
    console.log(`Device '${reader}' deactivated`);
});

cardreader.on('card-removed', function (reader) {
    console.log(`Card removed from '${reader.name}' `);
});

cardreader.on('command-issued', function (reader, command) {
    console.log(`Command '${command}' issued to '${reader.name}' `);
});

cardreader.on('response-received', function (reader, response, command) {
    console.log(`Response '${response}' received from '${reader.name}' in response to '${command}'`);
});

cardreader.on('error', function (message) {
    console.log(`Error '${message}' received`);
});

cardreader.on('card-inserted', function (reader, status) {

   console.log(`Card inserted into '${reader.name}' `);
   // issue a command...

   // ...either callback style
   cardreader.issueCommand('00A404000E315041592E5359532E4444463031', function (err, response) {
       if (err) {
           console.error(err);
       } else {
            console.log(`Response '${response.toString('hex')}`);
       }
   });
       
   // ...or as a promise
   cardreader
        .issueCommand('00A404000E315041592E5359532E4444463031')
        .then(function (response) {
            console.log(`Response '${response.toString('hex')}`);
        }).catch(function (error) {
            console.error(error);
        });
});


```

## Compatible Readers

Tested on Mac OSX with the SCM SCR3500 Smart Card Reader. 
This library *should* work with most PC/SC readers - I'll update this page when I get to test others.
If you know of any other devices that work please let me know.
 

<div align="center">
   <img src="docs/scr3500-collapsed.JPG" width=600 style="margin:1rem;" />
</div>

<div align="center">
   <img src="docs/scr3500-expanded.JPG" width=600 style="margin:1rem;" />
</div>

---
_Source: https://npm.io/package/card-reader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
