KSN Property
Clear-text Key Serial Number retrieved from a PIN pad.
Syntax
globalbenefit.getKSN([callback]) globalbenefit.setKSN( KSN, [callback])
Default Value
""
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for the getKSN([callback]) method is defined as:
function(err, data){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'data' is the value returned by the method.
The callback for the setKSN([callback]) method is defined as:
function(err){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
err.code err.message
Remarks
A 19 or 20-byte Key Serial/Sequence Number (KSN) and associated EncryptedPIN are required for all debit Sale and Credit transactions. These values must be retrieved from a certified DUKPT DES pin pad device. A 20-byte Key Sequence Number consists of a 1-byte pad character ('F'), a 9-byte Base Derivation Key Id (BDK ID), a 5-byte device Id, and a 5-byte transaction counter. If this property is set with a Key Sequence Number less than 20 bytes in length, the class will pad it on the left with 'F' characters.
Debit transactions are only supported for Retail merchants, and only for Card Present transactions. If you set the UserId to an ID associated with a Direct Marketing or E-Commerce merchant account, or otherwise attempt a card-not-present transaction, the class fails with an error.
class.UserId = "nsoft_retail" class.Password = "Passw0rd" class.CardMagneticStripe = "9999999800002773=05121015432112345678" class.CardEntryDataSource = edsMagneticStripe class.TransactionAmount = "25.00" class.EncryptedPIN = "623F36B53CC18393" class.KSN = "000000008F000021" class.CashBack = "5.00" class.Sale()
Data Type
String