# PinPad

A PIN pad or PIN entry device (PED) is an electronic device used in a debit, credit or smart card-based transaction 
to accept and encrypt the cardholder's personal identification number (PIN).

This API provides a **PinPad SDK** service with PinBlock generation encrypted 
according to [ISO 9564](https://en.wikipedia.org/wiki/ISO_9564), the data required for PinBlock generation 
are as follows:

-  **PIN:**   number digits by the cardholder 4-12 length, 
   refer [PIN](https://en.wikipedia.org/wiki/Personal_identification_number) to more information.

-  **Format:**   format to apply to the pin, can be 0, 1, 2 or 3 more info [ISO 9564](https://en.wikipedia.org/wiki/ISO_9564)

## Installation

```bash
 npm i @placetopay/pinpad-rest-front
```

## Usage


### Init the PinPad JavaScript SDK  

For the PinPad will be succesfully loaded, you must initialize the sdk as shown below:

```javascript
  import PinPad from '@placetopay/pinpad-rest-front'

  let pad = new PinPad({
      format: 0, // may be 0,1,2 or 3
      locale: document.documentElement.lang // language to display
  })
```
### Render the PinPad 

For render the Pinpad, the PinPad JavaScript SDK provides a funtion `render(div_id, PAN)`. the `div_id` property es the PinPad DOM element id defined earlier, the `PAN` property is the card number digited by user (required only formats by 0 and 3)

Render the PinPad as shown below:

  ```javascript
    pad.render('my-PinPad-id', 'positions')
  ```

