TSYSGiftCard ConfigurationThe component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.
TSYSGiftCard Configuration Settings
|CardholderId: Specifies the method used to verify the identity of the cardholder.By default the component automatically computes the CardholderId based on several factors. Changing this config setting will override this automatic calculation. Clear this setting to "" (empty string) to restore automatic calculation. Please see the TSYSDetailRecord component's CardholderId property for more information.|
The type of authorization request.This field defines the type of authorization request and must be included on all MasterCard authorization request transactions.
Valid values are:
|Retry: Set this to retry a failed transaction.If an authorization returns ambiguously or times out without receiving a response, you may send the same transaction over again with this Retry flag set to True. This will prevent you from double-charging your customers in the case of a communications error (only available for credit card transactions. Does not apply to Debit, Gift Card, or EBT transactions).|
|SendExtendedAVS: Specifies whether to send extended AVS data.When set to 'True', AVS data will be sent in the extended AVS field for the transaction. ResponseCardholderVerification will contain the extended AVS verification results. When set to 'False' (default value), the CustomerAddress and CustomerZip values will be sent using the simple AVS data fields.|
|ResponseStoreNumber: Check this field against the original Merchant StoreNumber.The value of this field is used to correctly match responses with transactions by comparing its value to that of the StoreNumber. This is particularly useful when making a multi-merchant or multi-store routing system. If the system that originally made the transaction receives a response where the ResponseStoreNumber is not identical to the StoreNumber the transaction should not be stored for batch settlement. This field is read-only.|
|ResponseTerminalNumber: Check this field against the original Merchant TerminalNumber.The value of this field is used to correctly match responses with transactions by comparing its value to that of TerminalNumber. This is particularly useful when making a multi-terminal routing system within a merchant location. If the terminal that originally made the transaction receives a response where the ResponseTerminalNumber is not identical to the TerminalNumber, the transaction should not be stored for batch settlement. This field is read-only.|
Verification results for cardholder identification data (extended AVS).This response data is returned when SendExtendedAVS is set to 'True' and is only available for American Express and Discover cards.
This data is arranged in order of 5 bytes, one for each result of a cardholder identification data element:
The possible values for each byte are:
For Discover transactions, byte 3 will be populated with the following values:
|Port: The port to which transactions are posted.This is port that this component connects to on the server. The default value for TSYS is 5003 for the live server, and 5004 for the test server. The default live server values for Heartland is 22341 for Authorization and 22342 for Settlement. The Heartland test server values are 12341 for Authorization and 12342 for Settlement.|
|Server: The server to which transactions are posted.This is name of the server to which all transactions are posted. Do not use an IP address, use the actual name, as a server's IP address may change. The default (Live) TSYS server is "ssl2.vitalps.net", but you may use "ssltest.tsysacquiring.net" for testing. The default (Live) Heartland server is "txns.secureexchange.net", but you may use "test.txns.secureexchange.net" for testing. Note that there are several BankIds and Numbers that will always run in test mode regardless of whether you are using the live server. See the included demos for examples.|
|AuthenticationCode: An alphanumeric code provided to the POS user for input when authenticating a POS device.This field is used to specify the AuthenticationCode, assigned by TSYS, to authenticate a POS device (made via a call to ActivateTerminal).|
|ActivateTerminal: Authenticates a POS device with TSYS.This is an action config which when called will authenticate a POS device with TSYS. Authentication is required when processing transactions using Voltage Encryption or Tokenization. An AuthenticationCode is required to be specified, as is Zip and/or ServicePhone, to perform authentication. After a POS device is successfully authenticated, GenKey will be populated.|
|DeactivateTerminal: Deactivates a POS device with TSYS.This is an action config which when called will deactivate the POS device specified via GenKey with TSYS.|
|GenKey: A randomly generated string of alphanumeric characters identifying the terminal.This field is used to specify retrieve or specify a GenKey value for a terminal. This field will be populated after a successful call to ActivateTerminal is made. The Genkey must be stored in the POS device, must be sent with every request to the TSYS Acquiring Solutions host after authentication (by setting this field), and will be checked against the terminal hierarchy. A GenKey value is required when processing transactions using Voltage Encryption or Tokenization.|
|TsysETB: The Encryption Transmission Block TSYS uses to decrypt encrypted data.This field is used to specify the Base-64 encoded ETB (Encryption Transmission Block) used by TSYS to decrypt Voltage encrypted data. The value is retrieved from the POS device containing the Voltage encryption software. When specified, the transaction will be sent as a Voltage encrypted transaction. The encrypted card data will be specified as normal via the MagneticStripe or Number fields.|
Specifies the condition of the POS device used at the time of the transaction.This configuration setting takes a semi-colon separated list of name-value pairs. The available field names and their
applicable values can be found below. The fields can be set in any order and not all fields are required to be set
(unless you wish to change their default values).
CardInputCap (Terminal card data input capability)
CardholderAuthCap (Terminal cardholder authentication capability)
CardCaptureCap (Terminal card-capture capability)
TerminalOpEnv (Terminal operating environment)
CardholderPresent (Cardholder present data)
CardPresent (Card present data)
CardInputMode (Card data input mode)
NOTE: AMEX defines ApplePay with value C - Online Chip
CardholderAuthMethod (Cardholder authentication method)
CardholderAuthEntity (Cardholder authentication entity)
CardOutputCap (Card data output capability)
TerminalOutputCap (Terminal data output capability)
PINCaptureCap (PIN capture capability)
Note: Setting this configuration setting in TSYSDetailRecord component will not update the POSDataCode tag in the detail aggregate of the original transaction.
Base Configuration Settings
Tells the component whether or not a message loop is available for processing events.In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The component will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.
In some non-GUI applications an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GuiAvailable to false will ensure that the component does not attempt to process external events.
|UseBackgroundThread: Whether threads created by the component are background threads.If set to True, when the component creates a thread the thread's IsBackground property will be explicitly set to True. By default this setting is False.|
Tells the component whether or not to use the system security libraries or an internal implementation.
By default the component will use the system security libraries to perform cryptographic functions.
When set to False calls to unmanaged code will be made. In certain environments this is not desirable.
To use a completely managed security implementation set this setting to True.
Setting this to True tells the component to use the internal implementation
instead of using the system's security API.
Note: This setting is static. The value set is applicable to all components used in the application.
When this value is set the product's system DLL is no longer required as a reference, as all unmanaged code is stored in that file.