GetRequestDataToMAC Method
Returns a string of data for the PIN pad to hash with the MAC algorithm.
Syntax
ptechcanadiandebitcontrol.GetRequestDataToMACRemarks
Each transaction you send (excluding RequestCurrentKeys and MACReversals) requires an accompanying MACValue. This value is a hash of the contents of GetRequestDataToMAC, and is hashed by the PIN Pad device using the ResponseMACKey returned in response to the last transaction.
The GetRequestDataToMAC method returns a string containing the values of several transaction properties. This string must be MAC'ed by the PIN pad, so it is essential that the following properties be set before calling GetRequestDataToMAC:
- MerchantNumber
- TerminalNumber
- InteracTransactionType
- CardTrack2Data
- TransactionAmount
- SequenceNumber
- and optionally AccountType
Note that VeriFone pinpads support a PURCHASE transaction where the CardTrack2Data, EncryptedPIN, AccountType, and MACValue are returned in a single step. When using a VeriFone pad make sure AccountType is set to acctNotSet, otherwise the MACValue will not be calculated correctly. (AccountType must be set before calling GetRequestDataToMAC for Ingenico pads)
control.MerchantNumber = "yourMerchantNumber" control.TerminalNumber = "100" control.ClientNumber = "0002" control.UserId = "yourUserId" control.Password = "yourPassword" control.SequenceNumber = 2 control.TransactionAmount = "1.00" control.PinPadSerialNumber = "30700015P3600000" ' from label on back of PIN pad control.InteracTransactionType = ittSale control.AccountType = acctChecking control.CardTrack2Data = "9999999800002773=05121015432112345678" ' from card reader control.EncryptedPIN = "FFFFFFFFFFFFFFFF" ' from the PIN pad ' Now use the PIN pad to MAC the value returned from GetRequestDataToMAC ' and then set MACValue with the results control.MACValue = "FFFFFFFF" control.Authorize()