# MTSCRA Class Methods - 61 - 69

#### requestCardSwipe

Request the device to display a message for swiping a card.

```
public int requestSwipeCard( 
        byte waitTime, 
        byte messageID, 
        byte beepCount)
```

Parameters:

<table data-header-hidden><thead><tr><th width="155.81814575195312" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Parameter</td><td valign="top">Description</td></tr><tr><td valign="top">waitTime</td><td valign="top">Wait Time in seconds, (0x01 – 0xFF; 0x00 = Infinite Wait Time)</td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p>messageID</p></td><td valign="top"><p>Card Message ID to display:</p><p>0x00 = Swipe Card / Idle (alternating) 0x01 = Swipe Card</p><p>0x02 = Please Swipe Card</p><p>0x03 = Please Swipe Card Again 0x04 = Chip Error, Use Mag Stripe 0x07 = Please Swipe, Insert or Tap 0x08 = Insert Card</p><p>0x09 = Please Swipe or Insert Card 0x0C = Tap Card</p><p>0x0D = Please Insert or Tap Card</p></td></tr><tr><td valign="top"><p> </p><p>beepCount</p></td><td valign="top"><p>0x00 = None</p><p>0x01 = Single Beep 0x02 = Double Beep</p></td></tr></tbody></table>

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### getMSRData <a href="#id-3.62_getmsrdata" id="id-3.62_getmsrdata"></a>

This function requests the device to send MSR data after calling requestCardSwipe().

```
public int getMSRData()
```

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### requestPINEntry

Request PIN entry by the cardholder.

```
public int requestPINEntry( 
        byte waitTime, 
        byte pinMode, 
        byte pinLength, 
        byte beepCount, 
        byte pinOption, 
        byte[] amount, 
        byte[] pan)
```

Parameters:

<table data-header-hidden><thead><tr><th width="144.00003051757812" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Parameter</td><td valign="top">Description</td></tr><tr><td valign="top">waitTie</td><td valign="top">Wait Time in seconds, (0x01 – 0xFF; 0x00 = 256 seconds)</td></tr><tr><td valign="top"><p> </p><p> </p><p>pinMode</p></td><td valign="top"><p>Message mode to display on the device. 0x00 = Enter PIN</p><p>0x01 = Enter PIN Amount 0x02 = Reenter PIN Amount 0x03 = Reenter PIN</p><p>0x04 = Verify PIN</p></td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p>pinLength</p></td><td valign="top"><p>Range for the PIN entered.</p><p>High nibble = Max PIN length (&#x3C;=12) Low nibble = Min PIN length (>=4)</p><p>Example: 0x64 is for PIN length of 4 to 6 Example: 0xC4 is for PIN length of 4 to 12 Example: 0xC8 is for PIN length of 8 to 12</p></td></tr><tr><td valign="top"><p> </p><p>beepCount</p></td><td valign="top"><p>0x00 = None</p><p>0x01 = Single Beep 0x02 = Double Beep</p></td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>pinOption</p></td><td valign="top"><p>Bit(7,6,5)</p><p>PIN Block Format 0b000 = ISO Format 0</p><p>0b001 = ISO Format 1 (No PAN Required) 0b011 = ISO Format 3</p><p>0b100 = ISO Format 4</p><p>Bit(4,3)</p><p>(PIN Language Select Only) Language Select:</p><p>0b00 = Disabled</p><p>0b01 = English or French Only</p><p>0b10 = All Languages as defined by DFDF2D</p><p>Bit 2</p><p>Wait Message</p><p>Bit 1</p><p>Verify PIN</p><p>Bit 0</p><p>Reserved</p></td></tr><tr><td valign="top">amount</td><td valign="top">Numeric: n12</td></tr><tr><td valign="top">pan</td><td valign="top">Min.: 9 bytes; Max.: 21 bytes</td></tr></tbody></table>

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### requestManualCardEntry <a href="#id-3.64_requestmanualcardentry" id="id-3.64_requestmanualcardentry"></a>

Request the card holder to enter card data manually.

```
public int requestManualCardEntry( 
        byte waitTime, 
        byte options, 
        byte beepCount)
```

Parameters:

<table data-header-hidden><thead><tr><th width="139.45455932617188" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Parameter</td><td valign="top">Description</td></tr><tr><td valign="top">waitTime</td><td valign="top">Wait Time in seconds, (0x01 – 0xFF; 0x00 = 256 seconds)</td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>options</p></td><td valign="top"><p>Message and mode to display on the device. Bit (7,6,5)</p><p>Reserved</p><p>Bit 4</p><p>0=Use PAN min 9, max 19</p><p>1=Use PAN min 14, max 21</p><p>Bit 3</p><p>1=Use PAN in PIN block creation</p><p>Bit 2</p><p>1=Use QwickCodes entry Bit (1,0)</p><p>0 = Acct, Date, CVC</p><p>1 = Acct, Date</p><p>2 = Acct, CVC</p><p>3 = Acct</p></td></tr><tr><td valign="top"><p> </p><p>beepCount</p></td><td valign="top"><p>0x00 = None</p><p>0x01 = Single Beep 0x02 = Double Beep</p></td></tr></tbody></table>

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### requestSignature <a href="#id-3.65_requestsignature" id="id-3.65_requestsignature"></a>

Request the card holder to sign on the screen.

```
public int requestSignature( 
        byte waitTime, 
        byte options, 
        byte beepCount)
```

Parameters:

<table data-header-hidden><thead><tr><th width="179.45455932617188" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Parameter</td><td valign="top">Description</td></tr><tr><td valign="top">waitTime</td><td valign="top">Wait Time in seconds, (0x01 – 0xFF; 0x00 = 256 seconds)</td></tr><tr><td valign="top"><p> </p><p>options</p></td><td valign="top"><p>0x00 = Timeout clears any signature data</p><p>0x01 = Timeout returns timeout status plus length collected. Sig Data can be requested.</p></td></tr><tr><td valign="top"><p> </p><p>beepCount</p></td><td valign="top"><p>0x00 = None</p><p>0x01 = Single Beep 0x02 = Double Beep</p></td></tr></tbody></table>

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### getSignature <a href="#id-3.66_getsignature" id="id-3.66_getsignature"></a>

Request the card holder signature from the device. To be used after calling requestSignature().

```
public int getSignature()
```

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### requestEncryptedInputData <a href="#id-3.67_requestencryptedinputdata" id="id-3.67_requestencryptedinputdata"></a>

Request the card holder to enter text for encryption.

```
public int requestEncryptedInputData( 
        byte waitTime, 
        byte beepCount)
```

Parameters:

<table data-header-hidden><thead><tr><th width="134.90908813476562" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Parameter</td><td valign="top">Description</td></tr><tr><td valign="top">waitTime</td><td valign="top">Wait Time in seconds, (0x01 – 0xFF; 0x00 = 256 seconds)</td></tr><tr><td valign="top"><p> </p><p>beepCount</p></td><td valign="top"><p>0x00 = None</p><p>0x01 = Single Beep 0x02 = Double Beep</p></td></tr></tbody></table>

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### getEncryptedInputData <a href="#id-3.68_getencryptedinputdata" id="id-3.68_getencryptedinputdata"></a>

Request the encrypted input data from the device. To be used after calling requestEncryptedInputData().

```
public int getEncryptedInputData()
```

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy

#### cancelRequest <a href="#id-3.69_cancelrequest" id="id-3.69_cancelrequest"></a>

Request to cancel a command or request while the device is waiting for the card holder.

```
public int cancelRequest()
```

Return Value:

* 0 = Success
* 9 = Error
* 15 = Busy


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.magtek.com/hardware/card-readers/magnetic-stripe-readers/idynamo-5-gen-iii/documentation/developers-manuals/programmers-manual-android/mtscra-class-methods/mtscra-class-methods-61-69.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
