Debit with PIN and Balance Enquiry

 
The merchant determines if the card is PIN based typically via a local bin list (section 17.6.4). If it is PIN based, the merchant reads in the PIN from the PED, and obtains an encrypted PINBlock.
A PIN based request is identified by the existence of a PINBlock tag. The existence of the PINBlock tag implies Track2, DeviceSerialNumber, DeviceMake and DevicePINKey is mandatory. 
Account Type is 'Savings' or 'Cheque' or 'Credit' or 'NotSpecified'.

Debit with PIN
The mandatory Amount tag refers to the total transaction amount. The optional CashAmount tag is any cash portion of the transaction. Therefore, always Amount >= CashAmount.
Normal Withdrawal: CashAmount = Amount
Normal Sale: CashAmount = 0 (or not specified) 
Combined Sale and Withdrawal: 0 < CashAmount < Amount

The only time the balance of a PIN based card can be increased using iVeri is by Voiding a previous transaction.

Balance Enquiry
Obtain the balance of the PIN based account in the currency of the account.
Using iVeri Enterprise, this can be prepared using the following syntax:
enterprise.prepare("Enquiry", "Balance", applicationID, mode)

Test environment for PIN cards
iVeri Test cards are available upon request. The Result Codes responded within the PIN based issuer simulator for Mode Test are as follows:

Input

Result returned

Void of previous transaction

Successful [0]

4242424242424242 or 5959595959595959

See below

2121212121212121

Randomly returned code “3” – Hot card or code “4” - Denied

5454545454545454

Code 9 - Returns an “unbale to process “

All other card number such as 1111222233334444

Returns code “14” – invalid card number


“4242424242424242” returns the following:

PIN

Amount & CashAmount

Result returned

54321

N/A

Denied [4] (similar to PIN tries exceeded)

12345

Amount <= CurrentBalance

Successful [0]

12345

Amount – CashAmount > CurrentBalance

Denied [4] (Insufficient funds)

12345

(Amount > CurrentBalance) and

(Amount – CashAmount) <= CurrentBalance

Approved but cash denied Warning [21]
           (Approve with Partial Authentication)

Other

N/A

Incorrect PIN [19]


 The Current Balance for PAN 4242424242424242 for the current merchant testing is stored in memory, and is manipulated in the following manner:
Initial amount is: 10,000.00 (max balance)
Reset to max balance upon service restart
Decreased after a successful debit.
Replenished to the max balance if the CurrentBalance goes below 10.00 (min balance).
If a Void is received, then CurrentBalance is increased. Since a Void could be received after a replenishment (or service restart), CurrentBalance is forced to be less than or equal to max balance.

Determining if a card is PIN based.
A merchant determines the card is PIN based by using a local BIN list in conjunction with the Track2 information read from a card. The BINLookup download within the File Transfer mechanism (section 22) may be used to refresh a local BIN list. merchant can determine if the card is PIN based in the following manner:
The BINLookup download within the File Transfer mechanism (section 22) is used to populate a local BIN list. It can be refreshed daily.
The Track2 of the card is read within a card reader
The PAN is determined from the Track2 (see section 10.3)
The PAN is checked against the local BIN list.
If the initial digits of the card PAN is found on the BIN list then based on the IsPINCard attribute:

0

Prompt for PIN

1

Do not prompt for PIN

2

If Position #3 of the Track2 Service Code (see section 10.3.1) is 0 or 6 then Prompt for PIN, else Do not prompt for PIN

If there is no BIN list available (or if the initial digits of the card PAN are not found on the BIN list), then:
If the PAN starts with 50, 56, 57, 58 or 6 then Prompt for PIN
Else if Position #3 of the Track2 Service Code (see section 10.3.1) is in {0,5,6,7} then Prompt for PIN
Else do not prompt for PIN.