TSYSDetailRecord Class

Properties   Methods   Events   Config Settings   Errors  

The TSYSDetailRecord class is a tool used to create off-line Credit or Force transactions to be settled by the TSYSSETTLE class. The TSYSDetailRecord class may also be used to modify the XML aggregates returned by the TSYSRETAIL or TSYSECOMMERCE class's GetDetailAggregate method.

Syntax

dpaymentssdk.Tsysdetailrecord

Remarks

Credit and Force transactions are off-line transactions. This means that there is no authorization of funds using the TSYSECommerce or TSYSRetail classs. Instead, you must manually add these transactions to the settlement batch. The TSYSDetailRecord class can be used to create these transactions, which can then be added to the TSYSSettle class's DetailRecords property.

To create a Credit, first set the TransactionType to dttOffLineCredit, and then set the IndustryType. EntryDataSource, and CardholderId based on whether you have a card reader, and how your customer is authenticated. The following example shows how this should be set for Direct Marketing:

TSYSDetailRecord.TransactionType = dttOffLineCredit TSYSDetailRecord.IndustryType = itDirectMarketing TSYSDetailRecord.EntryDataSource = edsManualEntryNoCardReader 'for DirectMarketing TSYSDetailRecord.CardholderId = "N" 'AVS for direct marketing

Next, set the CardNumber, SettlementAmount, and the current TransactionDate and TransactionTime. Note that since this is an off-line transaction, the AuthorizedAmount MUST be either zero or empty string.

TSYSDetailRecord.CardNumber = "4444333322221111" 'Card to credit TSYSDetailRecord.SettlementAmount = "3476" 'Amount of the credit $34.76 TSYSDetailRecord.AuthorizedAmount = "0" 'MUST be zero for credits! TSYSDetailRecord.TransactionDate = "0605" 'Date of this credit in MMDD format TSYSDetailRecord.TransactionTime = "124555" 'Time of this credit in HHMMSS format

Since this is an off-line transaction, the TransactionNumber may be any value (except 0), and need not reflect the value from the original authorization. You may simply set this to the next sequence number used for authorizations, if you wish. However, the TransactionId must be set to "0" or empty string.

TSYSDetailRecord.TransactionNumber = "123" 'Transaction sequence number of the original authorization request TSYSDetailRecord.TransactionId = "" 'ResponseTransactionId from the original authorization response Finally, set the TSYSSettle class's DetailRecord array property with the value returned by the GetDetailAggregate method. You've just added a Credit to the settlement.

TSYSSettle.DetailRecords.Add(new TSYSRecordType(TSYSDetailRecord.GetDetailAggregate()));

Forced transactions are similar to credits, with the exception that a Forced transaction requires a Voice Authorization code obtained from your acquiring bank's call center. Generally, the purchase of large high-dollar items (cars, appliances, etc) will require the merchant to call and receive a voice authorization. Once this code is received, it should be set to the ApprovalCode property. The following example shows a Force transaction in a Retail environment. TSYSDetailRecord.TransactionType = dttForceCardPresent TSYSDetailRecord.IndustryType = itRetail TSYSDetailRecord.ResponseApprovalCode = "123456" ' This is obtained from a voice authorization over the phone TSYSDetailRecord.EntryDataSource = edsTrack1 TSYSDetailRecord.CardholderId = "@" 'Signature TSYSDetailRecord.CardNumber = "4444333322221111" 'Card to credit TSYSDetailRecord.SettlementAmount = "5555" 'Amount of the credit $55.55 TSYSDetailRecord.AuthorizedAmount = 0 'MUST be zero for off-line transactions! TSYSDetailRecord.TransactionDate = "0605" 'Date of this credit in MMDD format TSYSDetailRecord.TransactionTime = "124555" 'Time of this credit in HHMMSS format TSYSDetailRecord.TransactionNumber = "124" 'Transaction sequence number of the original authorization request TSYSDetailRecord.TransactionId = "" 'ResponseTransactionId from the original authorization response TSYSSettle.DetailRecords.Add(new TSYSRecordType(TSYSDetailRecord.GetDetailAggregate()));

In addition to creating Credit and Force transactions, the TSYSDetailRecord class can be used to adjust the Detail Records returned from the TSYSECommerce, TSYSRetail, TSYSDebit, and TSYSBenefit classs. The most common reasons to modify these detail records are to add a Gratuity (tip) to a charge (sitResturant, sitRetail and sitGroceryStore IndustryType), to add a PurchaseIdentifier or Installment payment info (itDirectMarketing IndustryType) to the detail record, or to add Hotel or Auto Rental or Passenger Transport specific information when dealing with those IndustryTypes.

For example, to add a gratuity to a charge:

DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) DetailRecord.Gratuity = "500" DetailRecord.SettlementAmount = DetailRecord.AuthorizedAmount + DetailRecord.Gratuity TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

To settle a Passenger Transport transaction authorized with the sitPassengerTransport IndustryType, you must use the TSYSDetailRecord class to add the number of this passenger and the total count of all passengers in the authorization code. For instance, if the authorization transaction included "Three passengers", and this is the first passenger, then the passenger number will be 1, and the passenger count 3. An example is included below:

TSYSRetail.IndustryType = sitPassengerTransport TSYSRetail.Authorize() DetailRecord.ParseAggregate TSYSRetail.GetDetailAggregate() DetailRecord.PassengerCount = 3 DetailRecord.PassengerNumber = 1 DetailRecord.Config("RestrictedTicketIndicator=True") DetailRecord.Config("TicketNumber=8382152100395") DetailRecord.Config("PassengerName=John Smith") DetailRecord.Config("DepartureDate=072117") DetailRecord.Config("Origin=JFK") DetailRecord.Config("Leg1=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX") TSYSSettle1.IndustryType = sitPassengerTransport TSYSSettle1.Config("TravelAgencyCode=12345678") 'if ticket was issued by a travel agency TSYSSettle1.Config("TravelAgencyName=Travel and Tours") 'if ticket was issued by a travel agency TSYSSettle1.DetailAggregate[5] = DetailRecord.GetDetailAggregate()

Property List


The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

AuthorizedAmountOriginal amount authorized before any reversals.
CardholderIdSpecifies the method used to verify the identity of the cardholder.
CardNumberCustomer's credit card number from the original authorization request.
DebitCashBackContains the ResponseCashBack amount from the original Debit or EBT transaction.
DebitNetworkIdContains the ResponseNetworkId returned in the original Debit or EBT response.
DebitReimbursementAttributeContains the ReimbursementAttribute from the original Debit or EBT request.
DebitRetrievalNumberContains the ResponseRetrievalNumber returned in original Debit or EBT response.
DebitSettleDateContains the ResponseSettleDate returned in the original Debit or EBT response.
DebitTraceContains the ResponseTrace returned from the original debit or EBT response.
ECIElectronic Commerce Indicator from the original authorization request.
EntryDataSourceThis property identifies the source of the customer data.
GoodsIndicatorUsed to identify the type of goods purchased over the Internet.
GratuityGratuity amount for settling restaurant/retail industry transactions.
HealthcareIndicates whether this is a healthcare transaction.
HotelChargeTypeType of charge made at a hotel (American Express cards only).
HotelRateAmountThe nightly rate for this hotel room (American Express cards only).
IndustryTypeCode which indicates the industry the merchant is engaged in.
InstallmentCountTotal number of installments (installment transactions only).
InstallmentNumberCurrent installment number (installment transactions only).
LodgingRenterNameName of the person or business entity charged for the reservation and/or lodging stay (hotel transactions only).
PartiallyReversedIndicates whether this transaction has been partially reversed.
PassengerCountTotal number of passengers (multiple passenger transport transactions only).
PassengerNumberCurrent passenger number (multiple passenger transport transactions only).
PurchaseIdentifierOptional purchase order number assigned by the merchant.
RentalCheckInDate the cardholder checked into the hotel or first drove away a rented vehicle.
RentalExtraChargesList of extra charges for Hotel/Auto transactions.
RentalNoShowIndicates whether the cardholder is a no-show (auto rental and hotel industries only).
RentalReturnCityCity where the rental car was returned (MasterCard only).
RentalReturnLocationId of the location where the rental vehicle was returned (MasterCard only).
RentalReturnStateState or country where the rental car was returned (MasterCard only).
RenterNameName of the person renting the vehicle (MasterCard only).
RequestedACIAuthorization Characteristics Indicator from the original authorization request.
ResponseACIAuthorization Characteristics Indicator from the original authorization response.
ResponseApprovalCodeResponse Approval Code from the original authorization response.
ResponseAuthSourceAuth Source Code from the original authorization response.
ResponseAVSAddress Verification Code from the original authorization response.
ResponseCardLevelCard Level results returned from the original authorization response.
ResponseCodeResponse code from the original authorization response.
SettlementAmountThe amount that the customer will be charged.
SubstantiatedUsed for HealthCare transactions. Identifies if the merchant verified the purchased items against an Inventory Information Approval System (IIAS).
TotalAuthorizedAmountSum total of all the original authorization and all subsequent incremental authorizations.
TransactionDateLocal Transaction Date from the original authorization response.
TransactionIdTransaction Identifier from the original authorization response.
TransactionNumberTransaction Number from the original authorization request.
TransactionTimeLocal transaction time from the original authorization response.
TransactionTypeIndicates transaction type for this detail record.
ValidationCodeValidation Code from the original authorization response.
VoidTransactionIndicates whether this transaction has been voided.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
GetDetailAggregateReturns an aggregate containing details of this transaction, which is then used for settlement.
ParseAggregateParses the aggregate returned from another class's GetDetailAggregate method.
ResetClears all properties to their default values.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.

Config Settings


The following is a list of config settings for the class with short descriptions. Click on the links for further details.

AccountDataSourceIdentifies the source of the customer card data entered.
ACHCheckingSavingsIndicatorSpecifies the originating account type.
ACHCheckNumberThe individual check number.
ACHCheckReversalIndicatorACH Check Reversal Indicator.
ACHIndividualNameThe individual or receiving company name.
ACHIndividualReferenceIDMerchant and customer information.
ACHPaymentTypeIndicatorACH Payment Type Indicator.
ACHPrenoteIndicatorACH Prenote Indicator.
ACHPresentmentInformationACH Presentment Information.
ACHReturnedCheckIndicatorACH Returned Check Indicator.
ACHRoutingNumberThe receiving Depository Financial Institution (DFI) identification/routing number and check digit.
ACHSECCodeThe Standard Entry Class (SEC) Code is used to determine the ACH Rules that apply to the transaction.
ACHTelephoneNumberThe merchant / business contact phone number, REVERSAL, or REDEPCHECK.
ACHTerminalCityThe city, town, village, or township in which the merchant's terminal is located.
ACHTerminalStateThe state location for the merchant's terminal.
DepartureDateThe passenger's departure date.
DetailExtensionDetail Extension Optional Data Group.
EMVAppCryptogramThe clearing cryptogram used to validate transaction processing in the event of a dispute.
EMVAppInterchangeProfileA series of indicators that reflect the specific functions supported by the chip card account.
EMVAppTranCounterThe count of the transactions performed within the application.
EMVCardSeqNumThe number assigned to a specific card when two or more cards are associated with a single account number.
EMVCryptogramAmountContains the transaction amount used by the chip when calculating the last cryptogram.
EMVCryptogramInfoDataThe type of cryptogram and the actions to be performed by the terminal.
EMVCurrencyCodeThe currency code of the transaction.
EMVCVMResultsThe results of the last Cardholder Verification Method (CVM) performed.
EMVDataThe EMV Data returned from a Pin Pad after reading an EMV card.
EMVDedicatedFileNameIdentifies the name of the Dedicated File as described in ISO/IEC 7816-4. This field is required for Mastercard and Discover (including Diners, JCB, and CUP).
EMVFormFactorIDThis indicators related to the attributes of the cardholder's device and the technology used for the communication between the cardholder's device and the acquiring device.
EMVIssuerAppDataApplication data for transmission to the issuer in an online transaction.
EMVIssuerAuthDataData sent by the Issuer to the Chip Card for the Chip Card to validate the authenticity of the Issuer.
EMVIssuerScriptResultsThe update command that the issuer sends in the authorization response to the card during online processing.
EMVTerminalCapabilitiesIndicates the card input data, the Cardholder Verification Method (CVM), and the security capabilities that are supported by the terminal.
EMVTranDateThe local date at the terminal on which the transaction was authorized.
EMVTranTypeThe Transaction Type used by the card to calculate the cryptogram.
EMVUnpredictableNumThe number used in the generation of the cryptogram.
EMVVerificationResultThe indicators representing the results of offline and online processing, recorded by the terminal.
HeartlandDeviceIdSpecifies a device ID to uniquely identify each terminal (card data entry device).
HeartlandEncryptionModeSpecifies the encryption mode to use in Heartland transactions.
IsBillPaymentIndicates that the transaction is a bill payment transaction.
Leg1Used by Merchants that are in the airline industry to submit Leg 1 information for Passenger Transport transactions.
Leg2Used by Merchants that are in the airline industry to submit Leg 2 information for Passenger Transport transactions.
Leg3Used by Merchants that are in the airline industry to submit Leg 3 information for Passenger Transport transactions.
Leg4Used by Merchants that are in the airline industry to submit Leg 4 information for Passenger Transport transactions.
LocationDetailAddressMerchant's street address.
LocationDetailCityName of the city.
LocationDetailCountryCountry code.
LocationDetailNameMerchant name.
LocationDetailPostalPostal code.
LocationDetailRegionRegion code that corresponds to the state, province, or other country subdivision.
MerchantDescriptorMerchant Soft Descriptor information.
MobileDeviceTypeIdentifies the type of mobile device used by the cardholder to initiate the transaction.
OriginFirst segment travel origination Airport.
PassengerNameThe passenger's name.
PFNameSubMerchantNameMerchant name, Payment Facilitator Name and Sub-Merchant name, or Marketplace name.
PFSubMerchantCityThe Payment Facilitator Sub-Merchant City.
PFSubMerchantCountryThe Payment Facilitator Sub-Merchant Country Code.
PFSubMerchantPostalCodeThe Payment Facilitator Sub-Merchant Postal Code.
PFSubMerchantStateThe Payment Facilitator Sub-Merchant State/Province Code.
POSDataCodeSpecifies the condition of the POS device used at the time of the transaction.
ProcessorSpecifies the Processor you are connecting to.
RequesterNameName of the requester.
RestrictedTicketIndicatorIndicates if there are restrictions associated with this ticket.
SpecialConditionIndicatorDescribes selected special conditions at the POS.
SpendQualifiedIndicatorIndicates whether or not the spend qualification threshold has been met.
TicketNumberThe airline ticket number.
TokenThe token used in place of Card data.
TotalTaxAmountTotal Tax Amount assessed at the point-of-sale.
TsysETBThe Encryption Transmission Block TSYS uses to decrypt encrypted data.
VisaMVVMerchant Verification Value used for Visa transactions.
BuildInfoInformation about the product's build.
GUIAvailableTells the class whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
MaskSensitiveWhether sensitive data is masked in log messages.
UseDaemonThreadsWhether threads created by the class are daemon threads.
UseInternalSecurityAPITells the class whether or not to use the system security libraries or an internal implementation.

AuthorizedAmount Property (TSYSDetailRecord Class)

Original amount authorized before any reversals.

Syntax


public String getAuthorizedAmount();


public void setAuthorizedAmount(String authorizedAmount);

Default Value

"000000000000"

Remarks

This field contains the transaction amount from the original authorization request message. If any additional authorizations have been made, or the SettlementAmount is different than the originally authorized amount (due to items out of stock or adding a Gratuity) this property should still reflect the original unchanged amount from the initial authorization request.

This amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated CurrencyCode configuration setting. In the United States (default), the number of allowable significant digits is seven. Thus the maximum TransactionAmount is "9999999", yielding a US dollar amount of $99,999.99. This field may not contain a negative number.

CardholderId Property (TSYSDetailRecord Class)

Specifies the method used to verify the identity of the cardholder.

Syntax


public String getCardholderId();


public void setCardholderId(String cardholderId);

Default Value

"N"

Remarks

This 1-character property contains a code that specifies the method used to verify the identity of the cardholder. The value may be used in conjunction with AVS and ACI indicators. The following table lists all of the supported cardholder identification codes, but please note that some codes are Direct Marketing-specific and some are Retail-specific.

F PIN Authentication by ICC (Chip Card) (Offline pin authentication for debit and credit chip card transactions). Also used for CDCVM/On device CVM
G Clear Text PIN
K Personal Identification Number - 32-character DUK/PT (Online pin authentication for debit and credit transactions)
M Address Verification Data or CPS/Card Present - Unable to read Magnetic Stripe
N Address Verification Data, CPS/Card Not Present, or Electronic Commerce
P No CVM Required
S Personal Identification Number - 32-character static key
Z Cardholder Signature - Terminal has a PIN Pad. This value can also be used when no signature is required on a mag stripe transaction.
@ Cardholder Signature - No PIN Pad available (default for Retail transactions). This value can also be used when no signature is required on a mag stripe transaction.

CardNumber Property (TSYSDetailRecord Class)

Customer's credit card number from the original authorization request.

Syntax


public String getCardNumber();


public void setCardNumber(String cardNumber);

Default Value

""

Remarks

This field contains the customer's credit card number used in the original authorization request. This alphanumeric field can be a maximum of 22 characters long, excluding whitespace and dashes which are stripped out when the property is set.

DebitCashBack Property (TSYSDetailRecord Class)

Contains the ResponseCashBack amount from the original Debit or EBT transaction.

Syntax


public String getDebitCashBack();


public void setDebitCashBack(String debitCashBack);

Default Value

""

Remarks

This property contains the cash back amount contained in the original authorization request message. If there was no cash back returned, this property must remain empty.

Note that for EBT Withdrawals DebitCashBack must be identical to the SettlementAmount.

Note: DebitCashBack must be empty for Restaurant IndustryType as this is not supported by TSYS.

Note: TSYS does not support transactions containing both CashBack and Gratuity/Tip amounts.

This amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated CurrencyCode configuration setting. In the United States (default), the number of allowable significant digits is seven. Thus the maximum TransactionAmount is "9999999", yielding a US dollar amount of $99,999.99. This field may not contain a negative number.

This property is valid for Debit card and EBT card transactions only. It will be ignored for all other transactions.

DebitNetworkId Property (TSYSDetailRecord Class)

Contains the ResponseNetworkId returned in the original Debit or EBT response.

Syntax


public String getDebitNetworkId();


public void setDebitNetworkId(String debitNetworkId);

Default Value

""

Remarks

This property indicates the network through which the transaction was authorized. If this property contains a "V" or a "5", this indicates the transaction was processed as a credit card purchase transaction even though it was originally submitted as a debit transaction. When these values ("V" or "5") are returned, the transaction must be settled as a credit card (non-debit) transaction.

This property is valid for Debit card and EBT card transactions only. It will be ignored for all other TransactionTypes.

DebitReimbursementAttribute Property (TSYSDetailRecord Class)

Contains the ReimbursementAttribute from the original Debit or EBT request.

Syntax


public int getDebitReimbursementAttribute();


public void setDebitReimbursementAttribute(int debitReimbursementAttribute);


Enumerated values:
  public final static int raStandardRetail = 0;
  public final static int raQualifiedGrocery = 1;
  public final static int raPreExistingRetail = 2;
  public final static int raPreExistingGrocery = 3;
  public final static int raNonDebit = 4;
  public final static int raTaxExempt = 5;

Default Value

0

Remarks

The following values are valid for Debit and EBT:

raStandardRetail (0) Standard INTERLINK Retail Merchant.
raQualifiedGrocery (1) Qualified INTERLINK Supermarket/Grocery Merchant.
raPreExistingRetail (2) Pre-existing Qualified INTERLINK Retail Merchant.
raPreExistingGrocery (3) Pre-existing Qualified INTERLINK Supermarket/Grocery Merchant.
raNonDebit (4) EBT, non-debit, or Non-INTERLINK debit.
raTaxExempt (5) Tax exempt organizations.

This property is valid for Debit card transactions only. It must be set to raNonDebit for EBT card transactions, and it will be ignored for all other TransactionTypes.

DebitRetrievalNumber Property (TSYSDetailRecord Class)

Contains the ResponseRetrievalNumber returned in original Debit or EBT response.

Syntax


public String getDebitRetrievalNumber();


public void setDebitRetrievalNumber(String debitRetrievalNumber);

Default Value

""

Remarks

This property contains the ResponseRetrievalNumber returned in the original debit authorization response message. It is utilized for transaction tracking purposes.

This property is valid for Debit card and EBT card transactions only. It will be ignored for all other TransactionTypes.

DebitSettleDate Property (TSYSDetailRecord Class)

Contains the ResponseSettleDate returned in the original Debit or EBT response.

Syntax


public String getDebitSettleDate();


public void setDebitSettleDate(String debitSettleDate);

Default Value

""

Remarks

This property contains the settlement date returned in the original debit authorization response message. the settlement date must be provided in MMDD format, and is utilized for transaction tracking purposes.

This property is valid for Debit card and EBT card transactions only. It will be ignored for all other TransactionTypes.

DebitTrace Property (TSYSDetailRecord Class)

Contains the ResponseTrace returned from the original debit or EBT response.

Syntax


public String getDebitTrace();


public void setDebitTrace(String debitTrace);

Default Value

""

Remarks

This property contains the system trace audit number returned in the original debit authorization response message. This property is utilized for transaction tracking purposes, and is only valid for Debit card and EBT card transactions. It will be ignored for all other TransactionTypes.

ECI Property (TSYSDetailRecord Class)

Electronic Commerce Indicator from the original authorization request.

Syntax


public String getECI();


public void setECI(String ECI);

Default Value

""

Remarks

This field should be identical to the ECI property from the original authorization request. This property is used only for eCommerce and Direct Marketing (card not present) transactions, and is ignored for all Card Present (Retail) transactions.

EntryDataSource Property (TSYSDetailRecord Class)

This property identifies the source of the customer data.

Syntax


public int getEntryDataSource();


public void setEntryDataSource(int entryDataSource);


Enumerated values:
  public final static int edsTrack1 = 0;
  public final static int edsTrack2 = 1;
  public final static int edsManualEntryTrack1Capable = 2;
  public final static int edsManualEntryTrack2Capable = 3;
  public final static int edsManualEntryNoCardReader = 4;
  public final static int edsTrack2ChipCapable = 6;
  public final static int edsManualEntryChipCapable = 7;

Default Value

0

Remarks

This property contains a 1-character code identifying the source of the customer data. The table below shows all supported values for this property.

edsTrack1 (0) Full Magnetic stripe read and transmit, Track 1.
edsTrack2 (1) Full magnetic stripe read and transmit, Track 2.
edsManualEntryTrack1Capable (2) Manually keyed, Track 1 capable.
edsManualEntryTrack2Capable (3)Manually keyed, Track 2 capable.
edsManualEntryNoCardReader (4)Manually keyed, terminal has no card reading capability (use this for e-commerce and MOTO transactions).
edsTrack2ChipCapable (6)Full magnetic stripe read (Track 2 only), Chip Card capable terminal (Visa, Mastercard, and JCB Transactions only).
edsManualEntryChipCapable (7)Manually keyed, Chip Card read capable terminal (Visa, MasterCard, and JCB transactions only).

GoodsIndicator Property (TSYSDetailRecord Class)

Used to identify the type of goods purchased over the Internet.

Syntax


public int getGoodsIndicator();


public void setGoodsIndicator(int goodsIndicator);


Enumerated values:
  public final static int tgiNotUsed = 0;
  public final static int tgiDigitalGoods = 1;
  public final static int tgiPhysicalGoods = 2;

Default Value

0

Remarks

This property is used to identify the type of goods purchased over the Internet. Supported types are shown below.

tgiNotUsed (0)GoodsIndicator is not used.
tgiDigitalGoods (1)Customer purchased digital goods (for instance, an application that was electronically delivered).
tgiPhysicalGoods (2)Customer purchased actual physical goods, which were then shipped to the customer.

Gratuity Property (TSYSDetailRecord Class)

Gratuity amount for settling restaurant/retail industry transactions.

Syntax


public String getGratuity();


public void setGratuity(String gratuity);

Default Value

""

Remarks

This field contains the gratuity (tip) amount of the transaction being settled. This amount is only sent when the TSYSSettle class's IndustryType is set to "sitRestaurant", "sitRetail " or "sitGroceryStore".

For transactions with Tip at the time of sale, the value of TransactionAmount in the original authorization request must reflect the cost of the goods/service purchased plus this Gratuity amount.

For example, to add a gratuity at the time of sale:

//Cost of goods/services purchased is $10 and Gratuity/Tip amount is $2 TSYSRetail.TransactionAmount = "1200" //$12 TSYSRetail.Authorize() DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) //SettlementAmount in the Detail Record equals the original authorized amount $12 DetailRecord.Gratuity = "200" //Indicates the Gratuity/Tip included at the time of sale $2 TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

For Tip Adjusts (transactions where Gratuity/Tip is included after the time of sale), the SettlementAmount must reflect the total of the AuthorizedAmount plus the Gratuity.

For example, to perform a Tip Adjust/adding the gratuity after the time of sale:

//Cost of goods/services purchased is $10; TSYSRetail.TransactionAmount = "1000" TSYSRetail.Authorize() DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) DetailRecord.Gratuity = "200" //Indicates the Gratuity/Tip added after the time of Sale $2 //SettlementAmount must include the tip, therefore it is higher than the original AuthorizedAmount DetailRecord.SettlementAmount = DetailRecord.AuthorizedAmount + DetailRecord.Gratuity TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

This amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated CurrencyCode configuration setting. In the United States (default), the number of allowable significant digits is seven. Thus the maximum TransactionAmount is "9999999", yielding a US dollar amount of $99,999.99. This field may not contain a negative number.

NOTE: TSYS does not support Credit/Debit transactions containing both CashOver/CashBack and Gratuity/Tip amounts.

Healthcare Property (TSYSDetailRecord Class)

Indicates whether this is a healthcare transaction.

Syntax


public boolean isHealthcare();


public void setHealthcare(boolean healthcare);

Default Value

False

Remarks

When settling IIAS auto-substantiated healthcare transactions, this property should be set to true. It is only necessary to modify this setting when sending off-line transactions or when not using the ParseAggregate method. XML Aggregates passed from the TSYSHealthCare class to the ParseAggregate method of this class will already be marked as healthcare transactions.

HotelChargeType Property (TSYSDetailRecord Class)

Type of charge made at a hotel (American Express cards only).

Syntax


public int getHotelChargeType();


public void setHotelChargeType(int hotelChargeType);


Enumerated values:
  public final static int ctHotel = 0;
  public final static int ctRestaurant = 1;
  public final static int ctGiftShop = 2;

Default Value

0

Remarks

This property contains an indicator used to identify a hotel charge type. It must contain one of the values defined below:

  • ctHotel (0)
  • ctRestaurant (1)
  • ctGiftShop (2)

Note, this property is only applicable when using the Hotel IndustryType for American Express transactions.

If this property is set to ctHotel, RentalNoShow must equal " ", "2", or "3". For any other value, RentalNoShow must equal "1".

HotelRateAmount Property (TSYSDetailRecord Class)

The nightly rate for this hotel room (American Express cards only).

Syntax


public String getHotelRateAmount();


public void setHotelRateAmount(String hotelRateAmount);

Default Value

"0"

Remarks

This property contains the nightly rate for one room at the lodging property. This property is optional on all card types except Amex and may be set to zero. For Amex cards, this field must be greater than zero and less than or equal to $999.99 if ctHotel HotelChargeType and sitHotel IndustryType.

This amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated CurrencyCode configuration setting. In the United States (default), the number of allowable significant digits is seven. Thus the maximum TransactionAmount is "9999999", yielding a US dollar amount of $99,999.99. This field may not contain a negative number.

IndustryType Property (TSYSDetailRecord Class)

Code which indicates the industry the merchant is engaged in.

Syntax


public int getIndustryType();


public void setIndustryType(int industryType);


Enumerated values:
  public final static int sitUnknown = 0;
  public final static int sitRetail = 1;
  public final static int sitRestaurant = 2;
  public final static int sitGroceryStore = 3;
  public final static int sitDirectMarketing = 4;
  public final static int sitHotel = 5;
  public final static int sitAutoRental = 6;
  public final static int sitPassengerTransport = 7;

Default Value

1

Remarks

This property is used to identify the industry type of the merchant submitting the authorization request. The following table lists the industry types supported by this class.

sitUnknown (0)Unknown or unsure.
sitRetail (1)Retail store.
sitRestaurant (2)Food / Restaurant.
sitGroceryStore (3)Grocery store or supermarket.
sitDirectMarketing (4)eCommerce or Direct Marketing
sitHotel (5)Hotel / Lodging
sitAutoRental (6)Auto Rental
sitPassengerTransport (7)Passenger Transport

Note: American Express cards are NOT currently supported in the sitAutoRental industry.

InstallmentCount Property (TSYSDetailRecord Class)

Total number of installments (installment transactions only).

Syntax


public String getInstallmentCount();


public void setInstallmentCount(String installmentCount);

Default Value

""

Remarks

This property is used when charging installment payments. The InstallmentCount indicates the total number of installments to be charged to the customer, and the InstallmentNumber indicates the current installment which is being charged. Installment payments can only be made for card-not-present transactions initiated by the TSYSECommerce class.

InstallmentNumber Property (TSYSDetailRecord Class)

Current installment number (installment transactions only).

Syntax


public String getInstallmentNumber();


public void setInstallmentNumber(String installmentNumber);

Default Value

""

Remarks

This property is used when charging installment payments. The InstallmentCount indicates the total number of installments to be charged to the customer, and the InstallmentNumber indicates the current installment which is being charged. Installment payments can only be made for card-not-present transactions initiated by the TSYSECommerce class.

LodgingRenterName Property (TSYSDetailRecord Class)

Name of the person or business entity charged for the reservation and/or lodging stay (hotel transactions only).

Syntax


public String getLodgingRenterName();


public void setLodgingRenterName(String lodgingRenterName);

Default Value

""

Remarks

In the Hotel IndustryType, this property must contain the name of the individual or business entity charged for the reservation and/or lodging stay. The maximum length of this property is 26 characters (upper-case). This property is ignored for all other IndustryTypes.

PartiallyReversed Property (TSYSDetailRecord Class)

Indicates whether this transaction has been partially reversed.

Syntax


public boolean isPartiallyReversed();


public void setPartiallyReversed(boolean partiallyReversed);

Default Value

False

Remarks

After partially reversing a transaction using the TSYSReversal class, the TotalAuthorizedAmount should indicate the sum total of all authorized amounts, the SettlementAmount should indicate the new settlement amount, and the PartiallyReversed property should be set to True to indicate to the host that this transaction has been partially reversed.

PassengerCount Property (TSYSDetailRecord Class)

Total number of passengers (multiple passenger transport transactions only).

Syntax


public int getPassengerCount();


public void setPassengerCount(int passengerCount);

Default Value

1

Remarks

This property is used when there are multiple passengers on the same authorization. The PassengerCount indicates the total number of passengers for a specific authorization code, and the PassengerNumber indicates the current passenger. Only Visa card transactions can be captured for Passenger Transport industry type. You need to set additional required Passenger Transport related information using the respective configuration settings.

NOTE: PassengerNumber cannot be greater than PassengerCount

To settle a Passenger Transport transaction authorized with the sitPassengerTransport IndustryType, you must use the TSYSDetailRecord class to add the number of this passenger and the total count of all passengers in the authorization code. For instance, if the authorization transaction included "Three passengers", and this is the first passenger, then the passenger number will be 1, and the passenger count 3. An example is included below:

TSYSRetail.IndustryType = sitPassengerTransport TSYSRetail.Authorize() DetailRecord.ParseAggregate TSYSRetail.GetDetailAggregate() DetailRecord.PassengerCount = 3 DetailRecord.PassengerNumber = 1 DetailRecord.Config("RestrictedTicketIndicator=True") DetailRecord.Config("TicketNumber=8382152100395") DetailRecord.Config("PassengerName=John Smith") DetailRecord.Config("DepartureDate=072117") DetailRecord.Config("Origin=JFK") DetailRecord.Config("Leg1=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX") TSYSSettle1.IndustryType = sitPassengerTransport TSYSSettle1.Config("TravelAgencyCode=12345678") 'if ticket was issued by a travel agency TSYSSettle1.Config("TravelAgencyName=Travel and Tours") 'if ticket was issued by a travel agency TSYSSettle1.DetailAggregate[5] = DetailRecord.GetDetailAggregate()

PassengerNumber Property (TSYSDetailRecord Class)

Current passenger number (multiple passenger transport transactions only).

Syntax


public int getPassengerNumber();


public void setPassengerNumber(int passengerNumber);

Default Value

1

Remarks

This property is used to identify a specific passenger when there are multiple passengers on the same authorization. The PassengerCount indicates the total number of passengers for a specific authorization code, and the PassengerNumber indicates the current passenger. Only Visa card transactions can be captured for Passenger Transport industry type. You need to set additional required Passenger Transport related information using the respective configuration settings.

NOTE: Passenger Number cannot be greater than PassengerCount

To settle a Passenger Transport transaction authorized with the sitPassengerTransport IndustryType, you must use the TSYSDetailRecord class to add the number of this passenger and the total count of all passengers in the authorization code. For instance, if the authorization transaction included "Three passengers", and this is the first passenger, then the passenger number will be 1, and the passenger count 3. An example is included below:

TSYSRetail.IndustryType = sitPassengerTransport TSYSRetail.Authorize() DetailRecord.ParseAggregate TSYSRetail.GetDetailAggregate() DetailRecord.PassengerCount = 3 DetailRecord.PassengerNumber = 1 DetailRecord.Config("RestrictedTicketIndicator=True") DetailRecord.Config("TicketNumber=8382152100395") DetailRecord.Config("PassengerName=John Smith") DetailRecord.Config("DepartureDate=072117") DetailRecord.Config("Origin=JFK") DetailRecord.Config("Leg1=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX") TSYSSettle1.IndustryType = sitPassengerTransport TSYSSettle1.Config("TravelAgencyCode=12345678") 'if ticket was issued by a travel agency TSYSSettle1.Config("TravelAgencyName=Travel and Tours") 'if ticket was issued by a travel agency TSYSSettle1.DetailAggregate[5] = DetailRecord.GetDetailAggregate()

PurchaseIdentifier Property (TSYSDetailRecord Class)

Optional purchase order number assigned by the merchant.

Syntax


public String getPurchaseIdentifier();


public void setPurchaseIdentifier(String purchaseIdentifier);

Default Value

""

Remarks

In this field the merchant may assign an optional Purchase Identifier. This field must contain digits, and will be automatically left-justified, space-filled to 25 spaces.

This field is applicable to E-Commerce, Hotel, and Auto Rental transactions.

Note: For the Hotel IndustryType, this property will contain the Hotel Folio Number. For the Auto Rental IndustryType, it should indicate the Rental Agreement Number.

Failure to set a PurchaseIdentifier for the e-commerce IndustryType may result in a CPS downgrade when the transaction is settled. This can result in higher interchange rates.

RentalCheckIn Property (TSYSDetailRecord Class)

Date the cardholder checked into the hotel or first drove away a rented vehicle.

Syntax


public String getRentalCheckIn();


public void setRentalCheckIn(String rentalCheckIn);

Default Value

"010101"

Remarks

For the Hotel IndustryType, this property contains the date (in MMDDYY format) reflecting when the cardholder checked into the hotel. If the transaction is an advance check-in, this field should contain the date on which the reservation was made. If the transaction is a No Show, this field must contain the anticipated hotel arrival date.

For the Auto Rental IndustryType, this property contains the date (in MMDDYY format) when the cardholder first drove away the rented vehicle.

RentalExtraCharges Property (TSYSDetailRecord Class)

List of extra charges for Hotel/Auto transactions.

Syntax


public String getRentalExtraCharges();


public void setRentalExtraCharges(String rentalExtraCharges);

Default Value

"0"

Remarks

This property contains a six-character numeric value used to identify any additional ancillary charges that are booked to the cardholder's card after the transaction was completed. The merchant may enter one or more codes on each transaction being settled. If extra charges are being submitted, this field must contain value(s) as defined below.

Value Auto Rental Definition Hotel Definition
0 or space No Extra Charge. Position Not Used.
1 Gasoline. RESERVED.
2 Extra Mileage. Restaurant.
3 Late Return. Gift Shop.
4 One Way Service Fee. Mini-Bar.
5 Parking or Moving Violation. Telephone.
6 N/A Other.
7 N/A Laundry.

For example, in the Hotel industry to indicate charges in both the gift shop and mini bar, RentalExtraCharges should equal "34".

Note that this property is only applicable for the Hotel and Auto Rental IndustryTypes, and will not be sent for any other IndustryType.

RentalNoShow Property (TSYSDetailRecord Class)

Indicates whether the cardholder is a no-show (auto rental and hotel industries only).

Syntax


public String getRentalNoShow();


public void setRentalNoShow(String rentalNoShow);

Default Value

"0"

Remarks

This property contains a one-character identifier used to indicate whether the cardholder is being billed for a hotel room or rental vehicle that was reserved, but not actually rented. The following values are valid for any card except American Express cards:

"0" Not Applicable
"1" No Show

For American Express cards, this property is used to indicate whether the cardholder is participating in a special program. Allowable values include:

"1" Purchase
"2" Assured Reservation/No Show
"3" CARD Deposit
" " (space)Other

This property is only applicable for the Auto Rental and Hotel IndustryTypes.

RentalReturnCity Property (TSYSDetailRecord Class)

City where the rental car was returned (MasterCard only).

Syntax


public String getRentalReturnCity();


public void setRentalReturnCity(String rentalReturnCity);

Default Value

""

Remarks

For MasterCard transactions in the Auto Rental IndustryType, this property must contain the city where the rented vehicle was returned. The maximum length of this property is 18 characters, and it may not remain all spaces. This property is ignored for all other IndustryTypes and all other card types.

RentalReturnLocation Property (TSYSDetailRecord Class)

Id of the location where the rental vehicle was returned (MasterCard only).

Syntax


public String getRentalReturnLocation();


public void setRentalReturnLocation(String rentalReturnLocation);

Default Value

""

Remarks

For MasterCard transactions in the Auto Rental IndustryType, this property must contain an identifier indicating the location where the rented vehicle was returned. The maximum length of this property is 10 characters, and it may not remain all spaces. This property is ignored for all other IndustryTypes and all other card types.

RentalReturnState Property (TSYSDetailRecord Class)

State or country where the rental car was returned (MasterCard only).

Syntax


public String getRentalReturnState();


public void setRentalReturnState(String rentalReturnState);

Default Value

""

Remarks

For MasterCard transactions in the Auto Rental IndustryType, this property must contain a code indicating the name of the state, province, or country where the rented vehicle was returned. The maximum length of this property is 3 characters, and it may not remain all spaces. This property is ignored for all other IndustryTypes and all other card types.

RenterName Property (TSYSDetailRecord Class)

Name of the person renting the vehicle (MasterCard only).

Syntax


public String getRenterName();


public void setRenterName(String renterName);

Default Value

""

Remarks

For MasterCard transactions in the Auto Rental IndustryType, this property must contain the name of the individual renting the vehicle. The maximum length of this property is 20 characters, and it may not remain all spaces. This property is ignored for all other IndustryTypes and all other card types.

RequestedACI Property (TSYSDetailRecord Class)

Authorization Characteristics Indicator from the original authorization request.

Syntax


public String getRequestedACI();


public void setRequestedACI(String requestedACI);

Default Value

""

Remarks

This field should be identical to the ACI property from the original authorization request.

ResponseACI Property (TSYSDetailRecord Class)

Authorization Characteristics Indicator from the original authorization response.

Syntax


public String getResponseACI();


public void setResponseACI(String responseACI);

Default Value

""

Remarks

This field contains a one character returned Authorization Characteristics Indicator. This indicator provides information on conditions or characteristics of the authorization code. If the transaction being settled was authorized on-line, this field must contain the value returned in that authorization response. If the transaction is a credit or was otherwise processed off-line, this field should be defaulted to SPACE.

ResponseApprovalCode Property (TSYSDetailRecord Class)

Response Approval Code from the original authorization response.

Syntax


public String getResponseApprovalCode();


public void setResponseApprovalCode(String responseApprovalCode);

Default Value

""

Remarks

This field contains the authorization code obtained from the original authorization response. If the transaction is a credit or other non-approved transaction type, this property must be empty.

ResponseAuthSource Property (TSYSDetailRecord Class)

Auth Source Code from the original authorization response.

Syntax


public String getResponseAuthSource();


public void setResponseAuthSource(String responseAuthSource);

Default Value

""

Remarks

This field contains a one character authorization source code used to provide information on the source or origin of the ApprovalCode being settled. If the transaction being settled was network authorized, this field must contain the value returned in the authorization response. If the transaction is a credit, or otherwise processed off-line, this field must contain one of the values below.

6POS device generated authorization code.
9Not authorized (includes credits/refunds).
EOff-line voice center or chip-approved transaction, manually keyed approval code (ie: referrals).

ResponseAVS Property (TSYSDetailRecord Class)

Address Verification Code from the original authorization response.

Syntax


public String getResponseAVS();


public void setResponseAVS(String responseAVS);

Default Value

"0"

Remarks

This field contains a one character Address Verification (result) Code. This field contains the value returned in the original authorization response message. If the transaction is a credit or was otherwise processed off-line, this field should be defaulted to "0".

ResponseCardLevel Property (TSYSDetailRecord Class)

Card Level results returned from the original authorization response.

Syntax


public String getResponseCardLevel();


public void setResponseCardLevel(String responseCardLevel);

Default Value

""

Remarks

This property contains a two-character code created by Visa during the authorization process. If the transaction being settled was authorized online, this property must contain the value returned in the authorization response. If the transaction is a credit or a force, this property should be left empty. Note that Card Level Results are only applicable to Visa cards.

ResponseCode Property (TSYSDetailRecord Class)

Response code from the original authorization response.

Syntax


public String getResponseCode();


public void setResponseCode(String responseCode);

Default Value

""

Remarks

This field contains a two character Response Code associated with the Authorization Code being settled. If the transaction being settled was authorized on-line, this field must contain the value returned in that authorization response. If the transaction is a credit or off-line approval, this field must be defaulted to spaces.

SettlementAmount Property (TSYSDetailRecord Class)

The amount that the customer will be charged.

Syntax


public String getSettlementAmount();


public void setSettlementAmount(String settlementAmount);

Default Value

"0"

Remarks

This field contains the final settlement amount of the transaction. In most cases, this is the TransactionAmount from the original authorization request. However, you may settle a lesser amount (ie: Partial shipment or backordered stock). This field must always be greater than zero.

Note: If a transaction includes a Gratuity amount, the SettlementAmount must reflect the total of the AuthorizedAmount plus the Gratuity (this is only applicable to the itResturant IndustryType).

This amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated CurrencyCode configuration setting. In the United States (default), the number of allowable significant digits is seven. Thus the maximum TransactionAmount is "9999999", yielding a US dollar amount of $99,999.99. This field may not contain a negative number.

Substantiated Property (TSYSDetailRecord Class)

Used for HealthCare transactions. Identifies if the merchant verified the purchased items against an Inventory Information Approval System (IIAS).

Syntax


public int getSubstantiated();


public void setSubstantiated(int substantiated);

Default Value

1

Remarks

This field should be identical to the value of the Substantiated property sent in the authorization via the TSYSHealthCare class. This field is only sent for MasterCard transactions.

Value Description
0 Merchant terminal did not verify the purchased items against an IIAS
1 Merchant terminal verified the purchased items against an IIAS
2 Merchant claims exemption from IIAS based on the 90 percent rule

TotalAuthorizedAmount Property (TSYSDetailRecord Class)

Sum total of all the original authorization and all subsequent incremental authorizations.

Syntax


public String getTotalAuthorizedAmount();


public void setTotalAuthorizedAmount(String totalAuthorizedAmount);

Default Value

""

Remarks

When supporting incremental authorizations, you must manually keep track of the sum of all authorizations made for a single transaction (all based on the same transaction id). This total must be added to the TotalAuthorizedAmount property of the detail record associated with the first authorization. Only one detail record should be submitted no matter how many incremental authorizations are attached to the transaction.

TransactionDate Property (TSYSDetailRecord Class)

Local Transaction Date from the original authorization response.

Syntax


public String getTransactionDate();


public void setTransactionDate(String transactionDate);

Default Value

"010101"

Remarks

This six digit field contains a local transaction date associated with the transaction being settled. If the transaction was authorized on-line, this field must contain the value returned in the original authorization response message. If the transaction was processed off-line, this field must contain a Point of Sale (POS) device generated date. This field must appear in MMDDYY format.

For the Hotel IndustryType, this property must contain the date the customer checked out of the hotel. For the Auto Rental IndustryType it should contain the date that the vehicle was returned.

TransactionId Property (TSYSDetailRecord Class)

Transaction Identifier from the original authorization response.

Syntax


public String getTransactionId();


public void setTransactionId(String transactionId);

Default Value

"000000000000000"

Remarks

This 15-character field contains a Transaction Identifier associated with the transaction being settled. If the transaction was authorized on-line, this field must contain the value (if returned) from the original authorization response message. If a value was not returned in the authorization response or the transaction was processed off-line, this field must be defaulted to zeros.

TransactionNumber Property (TSYSDetailRecord Class)

Transaction Number from the original authorization request.

Syntax


public int getTransactionNumber();


public void setTransactionNumber(int transactionNumber);

Default Value

0

Remarks

This field should contain the TransactionNumber from the original authorization request. This value must be in the range "0001" to "9999". "0000" is an invalid transaction number.

TransactionTime Property (TSYSDetailRecord Class)

Local transaction time from the original authorization response.

Syntax


public String getTransactionTime();


public void setTransactionTime(String transactionTime);

Default Value

"000000"

Remarks

This six digit field contains a local transaction time associated with the transaction being settled. If the transaction was authorized on-line, this field must contain the value returned in the original authorization response message. If the transaction was processed off-line, this field must contain a Point of Sale (POS) device generated time. This field must appear in HHMMSS format.

TransactionType Property (TSYSDetailRecord Class)

Indicates transaction type for this detail record.

Syntax


public int getTransactionType();


public void setTransactionType(int transactionType);


Enumerated values:
  public final static int dttCardNotPresent = 0;
  public final static int dttCardPresent = 1;
  public final static int dttOffLineCredit = 2;
  public final static int dttForceCardNotPresent = 3;
  public final static int dttForceCardPresent = 4;
  public final static int dttDebitPurchase = 5;
  public final static int dttDebitRefund = 6;
  public final static int dttFoodStampPurchase = 8;
  public final static int dttFoodStampReturn = 9;
  public final static int dttFoodStampVoucher = 10;
  public final static int dttCashBenefitWithdrawal = 12;
  public final static int dttCashBenefitPurchase = 13;
  public final static int dttACHPurchase = 30;
  public final static int dttACHReturn = 31;

Default Value

0

Remarks

This property indicates the type of transaction that was originally authorized. The following table explains the Transaction Types in detail:

dttCardNotPresent (0)This indicates a transaction where no physical card was present. Typically this transaction type is used exclusively for eCommerce or Direct Marketing IndustryType, where instead of a track data, AVS data is sent to verify cardholder identity. However, Retail merchants may also use the dttCardNotPresent transaction type from time to time.
dttCardPresent (1)This indicates a card-present transaction type. The credit card was swiped through a card reader, and Track1 or Track2 data was sent to the processor. This is typical of a retail environment.
dttOffLineCredit (2)This transaction type is used to credit money back to a cardholder's account. An Offline Credit is not based on a previous transaction, and you may credit any card for any amount without restriction. Simply set the CardNumber to the customer's card number, and then the AuthorizedAmount to "0" and the SettlementAmount to the amount you wish to refund. No track data or AVS data is sent in an offline credit transaction.
dttForceCardNotPresent(3)This transaction type is used to force a settlement without a previous authorization. This is generally used when an authorization response indicates that the merchant should call the cardholder's bank to verify the funds transfer. The merchant will then be given an authorization code over the phone, with which to settle the transaction.
dttForceCardPresent(4)Same as above, but for retail (card-present) environments.
dttDebitPurchase (5)This transaction type is used for debit card sales authorized via the TSYSDebit class.
dttDebitRefund (6)This transaction type is used for debit card refund transactions authorized via the TSYSDebit class.
dttFoodStampPurchase (8)This transaction type is used for EBT card Food Stamp purchases authorized via the TSYSBenefit class.
dttFoodStampReturn (9)This transaction type is used for EBT card Food Stamp returns authorized via the TSYSBenefit class.
dttFoodStampVoucher (10) This transaction type is used for EBT card Food Stamp vouchers authorized via the TSYSBenefit class.
dttCashBenefitWithdrawal (12)This transaction type is used for EBT card Cash Benefit withdrawals authorized via the TSYSBenefit class.
dttCashBenefitPurchase (13)This transaction type is used for EBT card Cash Benefit purchases authorized via the TSYSBenefit class.
dttACHPurchase (30)This transaction type is used for ACH Purchase transactions.
dttACHReturn (31)This transaction type is used for ACH Return transactions.

ValidationCode Property (TSYSDetailRecord Class)

Validation Code from the original authorization response.

Syntax


public String getValidationCode();


public void setValidationCode(String validationCode);

Default Value

""

Remarks

This field contains a four character Transaction Identifier associated with the transaction being settled. If the transaction was authorized on-line, this field must contain the value (if returned) from the original authorization response message. If a value was not returned in the authorization response or the transaction was processed off-line, this field must be empty.

VoidTransaction Property (TSYSDetailRecord Class)

Indicates whether this transaction has been voided.

Syntax


public boolean isVoidTransaction();


public void setVoidTransaction(boolean voidTransaction);

Default Value

False

Remarks

If you wish to void a previously authorized transaction, Vital/TSYS recommends that you should exclude it from the settlement. However, you may also send the detail record with the VoidTransaction indicator set to True. For example:

DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) DetailRecord.VoidTransaction = True TSYSSettle.DetailRecordCount = 1 TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

Config Method (Tsysdetailrecord Class)

Sets or retrieves a configuration setting.

Syntax

public String config(String configurationString);

Remarks

Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

GetDetailAggregate Method (Tsysdetailrecord Class)

Returns an aggregate containing details of this transaction, which is then used for settlement.

Syntax

public String getDetailAggregate();

Remarks

This method returns an aggregate containing all of the required data to send a transaction to settlement. This aggregate must be passed to the TSYSSettle class's DetailAggregate array property in order to settle the transaction. If you wish to view or change any part of the aggregate (such as adding a gratuity or additional info for an Installment payment), you may use the TSYSDetailRecord class to do so.

Note: This method may only be called after a successful authorization. If the authorization was not successful the method throws an exception.

An example of how this method is used is shown below:

TSYSRetail.Authorize() TSYSSettle.DetailRecords.Add(new TSYSRecordType(TSYSRetail.GetDetailAggregate()));

ParseAggregate Method (Tsysdetailrecord Class)

Parses the aggregate returned from another class's GetDetailAggregate method.

Syntax

public void parseAggregate(String aggregate);

Remarks

This method takes the XML aggregate returned from the TSYSRetail or TSYSECommerce class, parses it, and then fills all the properties of the DetailRecord class. While normally you can pass the results of the GetDetailAggregate method call directly to the TSYSSettle class, sometimes it is necessary to adjust the contents of the XML aggregate first.

For example, to add a gratuity to a charge:

DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) DetailRecord.Gratuity = "500" DetailRecord.SettlementAmount = DetailRecord.AuthorizedAmount + DetailRecord.Gratuity TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

Reset Method (Tsysdetailrecord Class)

Clears all properties to their default values.

Syntax

public void reset();

Remarks

This method clears all properties to their default values.

Error Event (Tsysdetailrecord Class)

Information about errors during data delivery.

Syntax

public class DefaultTsysdetailrecordEventListener implements TsysdetailrecordEventListener {
  ...
  public void error(TsysdetailrecordErrorEvent e) {}
  ...
}

public class TsysdetailrecordErrorEvent {
  public int errorCode;
  public String description;
}

Remarks

The Error event is fired in case of exceptional conditions during message processing.

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

Config Settings (Tsysdetailrecord Class)

The class 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 class, access to these internal properties is provided through the Config method.

DetailRecord Config Settings

AccountDataSource:   Identifies the source of the customer card data entered.

This field is sent in the request based on the EntryDataSource value specified by default. However that value can be overridden by setting this config.

Valid values are:

Code Description
A Bar code/Payment code read
D Full magnetic stripe read and transmit, Track two
G Chip Card Read Data (CCPS)
H Full magnetic stripe read and transmit, Track one
P Manually keyed, Chip Card read capable terminal
Q Proximity payment device using track data rules (transmit only Track two to Sierra)
R Proximity payment device using EMV-Chip data rules
S Full magnetic stripe read (Track two only), Chip Card capable terminal
T Manually keyed, Track two capable
X Manually keyed, Track one capable
@ Manually keyed, terminal has no card reading capability
W Chip Card transaction processed as magnetic stripe due to the terminal application not having any EMV applications in common with the chip card.
Z Chip Card transaction processed as magnetic stripe from a chip capable terminal, due to card or terminal failure.

ACHCheckingSavingsIndicator:   Specifies the originating account type.

Value Description
C Checking
S Savings
G General Ledger. (Valid only when SEC Code is CCD)
ACHCheckNumber:   The individual check number.

This field contains the individual check number. This field must be present for transactions with an SEC Code of POP. Otherwise, it must be space-filled.

ACHCheckReversalIndicator:   ACH Check Reversal Indicator.

This field indicates a check reversal transaction.

Value Description
Y The transaction is a check reversal
N The transaction is not a check reversal
ACHIndividualName:   The individual or receiving company name.

This field contains the individual or receiving company name.

ACHIndividualReferenceID:   Merchant and customer information.

This field may contain meaningful merchant and customer information.

ACHPaymentTypeIndicator:   ACH Payment Type Indicator.

This field indicates the transaction payment type. The following are valid values

Value Description
Spaces Used as a default for Non-WEB Transactions
R Recurring
S Single
A value of R or S is required when the ACH SEC Code is WEB.
ACHPrenoteIndicator:   ACH Prenote Indicator.

This field is used to aid in determination of the proper ACH Transaction Code.

Value Description
0 Not Prenote
1 Prenote
ACHPresentmentInformation:   ACH Presentment Information.

This is submitted as a value of zero.

ACHReturnedCheckIndicator:   ACH Returned Check Indicator.

This field indicates a returned check transaction.

Value Description
Y The transaction is a returned check
N The transaction is not a returned check
ACHRoutingNumber:   The receiving Depository Financial Institution (DFI) identification/routing number and check digit.

This field contains the receiving Depository Financial Institution (DFI) identification/routing number and check digit.

ACHSECCode:   The Standard Entry Class (SEC) Code is used to determine the ACH Rules that apply to the transaction.

Valid values are:

Value Description
CCD Cash Concentration or Disbursement - Can be either a credit or debit application where funds are either distributed or consolidated between corporate entities.
POP Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card.
PPD Prearranged Payment and Deposits - Used to credit or debit a consumer account. Popularly used for payroll direct deposits and preauthorized bill payments.
TEL Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone.
WEB Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to an authorization that is obtained from the Receiver via the Internet.
ACHTelephoneNumber:   The merchant / business contact phone number, REVERSAL, or REDEPCHECK.

This field contains one of three options:

1. The merchant / business contact phone number for customer inquiry
2. REVERSAL indicates a reversal
3. REDEPCHECK indicates a returned check
ACHTerminalCity:   The city, town, village, or township in which the merchant's terminal is located.

This field must be non-blank if the SEC Code is POP.

ACHTerminalState:   The state location for the merchant's terminal.

This field must be non-blank if the SEC Code is POP.

DepartureDate:   The passenger's departure date.

This configuration setting is used to set the passenger's departure date. The format of the date is: MMDDYY. For example: 062117

DetailExtension:   Detail Extension Optional Data Group.

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.

CodeExample: DetailRecord.Config("DetailExtension=PTI=C02;TTT=02;TMI=01");

AAV (32 A/N) (Accountholder Authentication Value)

AAV is part of Mastercard's SecureCode-specific implementation of UCAF related to issuer authentication. This is a security method designed to authenticate cardholders when they pay online.

ADT (1 A/N) (Acceptance Device Type)

Identifies the type of device used to accept mobile Point of Sale (mPOS) transactions. Valid values are:

Value Description
0 Dedicated mPOS Terminal with PCI compliant dongle (with or without key pad)
1 Off the Shelf Mobile Device
2 Dongle with software-based application that supports PIN entry on glass
3 Off the Shelf Mobile Device with software-based application that supports PIN entry on glass
M Mobile POS Add-On Hardware
T Tap on Mobile No Add-On Hardware

ARS (Account Range Status)

Value Description
R Regulated.
N Non-Regulated.

ATS (Association Timestamp)

This field can be used to set the timestamp data provided by the association.

BAI (2 A/N) (Business Application Identifier)

BAI identifies industry-specific business scenarios.

CMI (4 A/N) (CIT/MIT Indicator)

CMI identifies whether the transaction was initiated by the Cardholder or the Merchant (Mastercard only)

DEI (5 A/N) (Digital Entity Identifier)

DEI is a unique identifier assigned by Visa at the time of authorization to identify transactions that originate from Visa Checkout.

DTI (36 A/N) (Directory Server Transaction ID)

DTI is generated by the EMV 3DS Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results. This field allows the merchant to pass the Directory Server Transaction ID during authorization in order to link authentication and authorization data.

ESI (3 A/N) (e-Commerce Security UCAF Collection Indicator)

If returned in the Mastercard's authorization response, the component will include this field automatically in the settlement.

FRI (3 A/N) (Foreign Retailer Indicator.) This 3-character field is used by marketplaces to uniquely identify domestic transactions in which the retailer is in a different country than the marketplace. Visa classifies an entity as a marketplace if it handles payments on behalf of retailers through an online marketplace that brings together multiple buyers and retailers. This field must be sent when the retailer is foreign.

Valid values are:

Code Description
(Space) (default) Space indicate the retailer is not foreign.
F This value indicates the retailer is located in a different country than the marketplace.
Note: This field will be automatically left-justified, space-filled to 3 characters.

IIA (MC IIAS Indicator)

0 Merchant terminal did not verify the purchased items against an IIAS
1 Merchant terminal did verify the purchased items against an IIAS
2 Merchant claims exemption from IIAS based on the 90 percent rule

ISO (ISO ID)

This 11-digit field, assigned by MasterCard, is assigned during registration via MasterCard Connect for a Service Provider designated as an "Independent Sales Organization". This value must be provided on all MasterCard transactions where the merchant has a relationship with an ISO.

MAR (12 A/N) (Merchant Assigned Reference)

MAR is a value assigned by the merchant to reference the transaction. This is not a settlement field, but can be used for merchant or client reporting purposes.

MCC (4 NUM) (Merchant Category Code)

MCC is a value assigned by the merchant's bank or processor to identify a merchant's industry classification. This field entry must contain the same value submitted in the original authorization request.

MCI (1 A/N) (Multi-Clearing Indicator)

MCI is used in situations where multiple clearing records will be sent with a single authorization. The Multi-Clearing Indicator can be sent for any card brand but will only be used for settlement by Mastercard.

Value Description
M Previously approved authorization-partial amount, multi-clearing
F Previously approved authorization-partial amount, final clearing

MDE (Mobile Device Type) This field is required for all MasterCard PayPass (contactless) transactions. Valid values are:

Value Description
00 Card (default)
01 Mobile Network Operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone
02 Key Fob
03 Watch using a contactless chip or a fixed (non-removable) secure element not controlled by the MNO
04 Mobile Tag
05 Wristband
06 Mobile Phone Case or Sleeve
07 Mobile Phone or Smartphone with a fixed (non-removable) secure element controlled by the MNO (such as CDMA)
08 Removable secure element not controlled by the MNO, for example, memory card personalized for use with a mobile phone or smartphone
09 Mobile Phone or Smartphone with a fixed (non-removable) secure element not controlled by the MNO
10 MNO controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book
11 Tablet or E-Book with a fixed (non-removable) secure element controlled by the MNO
12 Removable secure element not controlled by the MNO (such as memory card personalized for use with a tablet or e-book)
13 Tablet or E-Book with fixed (nonremovable) secure element not controlled by the MNO
14 Mobile Phone or Smartphone with a payment application running in a host processor
15 Tablet or E-Book with a payment application running in a host processor
16 Mobile Phone or Smartphone with a payment application running in the TEE of a host processor
17 Tablet or E-Book with a payment application running in the TEE of a host processor
18 Watch with a payment application running in the TEE of a host processor
19 Watch with a payment application running in a host processor
20 Card
21 Phone (i.e. Mobile phone)
22 Tablet/e-reader (i.e. Tablet computer or e-reader)
23 Watch/Wristband (i.e. Watch or wristband, including a fitness band, smart strap, disposable band, watch add-on, and security/ID band)
24 Sticker
25 PC (i.e. PC or laptop)
26 Device Peripheral (i.e. Mobile phone case or sleeve)
27 Tag (i.e. Key fob or mobile tag)
28 Jewelry (i.e. Ring, bracelet, necklace, and cuff links)
29 Fashion Accessory (i.e. Handbag, bag charm, and glasses)
30 Garment (i.e. Dress)
31 Domestic Appliance (i.e. Refrigerator, washing machine)
32 Vehicle (i.e. Vehicle, including vehicle attached devices)
33 Media/Gaming Device (i.e. Media or gaming device, including a set top box, media player, and television)
34-99 These values reserved for future form factors. Any value in this range may occur within form factors and transaction data without prior notice.

MDO (Domain Server)

0 No domain.
1 Issuer domain.
2 Acquirer domain.

OA (Optional Amount)

This field can be used to set the Optional Amount.

OAI (Optional Amount Identifier)

0 Not Used
1 Local Sales Tax Amount
2 Tax Exempt

PAR (35 A/N) (Payment Account Reference)

PAR is a value assigned by the BIN Controller, which is defined as either an issuer or card brand. This field is associated directly with the cardholder's account. The PAR is considered a non-financial value that cannot be used to initiate a financial transaction. This value is valid for Visa, Mastercard and Discover.

Note: PAR may originate from the EMV chip card.

PEI (1 A/N) (POS Environment Indicator)

This field provides additional information about Visa transactions. Valid values are:

Value Description
C Card On File
I Installment Payment
R Recurring Payment

PFI (Payment Facilitator ID)

This 11-digit field, assigned by Mastercard or Visa, is assigned during registration for the Service Provider designated as a Payment Facilitator or Marketplace. This value must be present on all Mastercard or Visa transactions that originate from a Payment Facilitator/Marketplace.

PGP (1 A/N) (Program Protocol)

PGP must be provided by the merchant if they are participating in Mastercard Identity Check and have previously authenticated using the Mastercard Identity Check or SecureCode program. It identifies the type of 3D-Secure program.

Value Description
1 3D Secure Version 1.0 [3DS 1.0]
2 EMV 3-D Secure [3DS 2.0]

PON (Purchase Order Number)

This field can be used to set a 16, 17, or 25-character Purchase Order Number or Customer Reference Identifier supplied by the Visa or MasterCard Purchasing Card cardholder.

PRI (35 A/N) (PAN Reference Identifier)

PRI is assigned by Discover at the time of token provisioning and is associated with a specific mobile wallet.

PTI (Payment Transaction Indicator)

C03 rePower Load Value
C04 Gaming Re-Pay
C06 Payment of Credit Card Balance with Cash or Check
F07 General Person-to-Person Transfer
F08 Person-to-Person Transfer to Card Account
F52 General Transfer to Own Account
F53 Agent Cash Out
F54 Payment of Own Credit Card Bill
F55 Business Disbursement
F61 Transfer to Own Staged Digital Wallet Account
F64 Transfer to Own Debit or Prepaid Card Account
F65 General Business-to-Business Transfer
P10 Purchase Repayment

SID (Merchant Seller ID)

A seller/vendor code that uniquely identifies an aggregator's specific seller/vendor

SMI (Sub-Merchant ID)

This 15-digit field, assigned by the Payment Facilitator, must be provided on all Mastercard or Visa transactions that originate from a Payment Facilitator.

SQI (Spend Qualified Indicator)

Value Description
B Base spend assessment threshold has been met.
N Spend qualification threshold has not been met.
Q Spend qualification threshold has been met.
[SP] (' ' - Space)Spend qualification does not apply.

TAA (12 NUM) (Total Authorized Amount)

This 12-character numeric field contains the total authorized amount of the transaction being settled. For transactions authorized online, this field contains the sum of the original authorization amount and all subsequent incremental authorization amounts, less any authorization reversal amount. If Incremental Authorization and Authorization Reversal transaction are not being supported, this field will be identical to the Settlement Amount. The field entry must be right justified and zero-filled. For transactions processed offline, this field must be defaulted to zeros.

TAL (Token Assurance Level)

Defined by the token service provider, this Visa or MasterCard value indicates the assigned confidence level of the token-to-PAN/cardholder binding.

TFA (Transaction Fee Amount with Indicator)

C The surcharge indicates a credit to the consumer account.
D The surcharge indicates a debit from the consumer account.

Transaction fee amount is used in credit transactions to carry the acquirer-assessed surcharge for informational purposes only. This field can be zero length or nine alphanumeric characters in length. The format of the nine characters is "annnnnnnn" where "a" is either "D" for debit or "C" for credit and where "nnnnnnnn" is the numeric fee amount with the decimal implied.

Example: "D00000150" is a $1.50 transaction fee amount debited to the cardholder's account.

TIC (Transaction Integrity Class)

If returned in the Mastercard's authorization response, the component will include this field automatically in the settlement.

TMI (Transportation Mode Indicator)

00 Unknown
01 Urban Bus
02 Interurban Bus
03 Light Train Mass Transit (Underground Metro, LTR)
04 Train
05 Communter Train
06 Water Borne Vehicle
07 Toll
08 Parking
09 Taxi
10 High Speed Train
11 Rural Bus
12 Express Commuter Train
13 Para Transit
14 Self Drive Vehicle
15 Coach
16 Locomotive
17 Powered Motor Vehicle
18 Trailer
19 Regional Train
20 Inter City
21 Funicular Trailer
22 Cable Car

TRI (Token Requestor ID)

This 11-character alphanumeric field contains the value that uniquely identifies the pairing of token requestor with the token domain. This value is sent in capture to identify the requestor to the card brand.

TSI (Transaction Status Indicator)

The tables below provide the valid values for each card brand.

Valid value for Visa is:

I One or more incremental authorizations were performed.

Valid values for Mastercard are:

Value Description
0 Normal request (original presentment)
1 Deferred Authorizations
2 SecureCode Phone Order
3 ATM Installment Inquiry
4 Preauthorized request
5 Time Based Payment Authorization Request-Brazil domestic transactions
6 ATC Update
8 Account Status Inquiry Service (ASI)
9 Tokenization Request/Notification

Valid values for Discover are:

Value Description
0 Normal request (original presentment)
4 Preauthorized request
A Re-authorize for Full Amount
D Delayed Card Sale
E Resubmission of Card Sale
G Transit Aggregated Transaction
I Incremental Authorization
N No-Show Charge
P Partial Shipment
R Recurring Payment
S Merchant Installment Payment
T Third Party Installment Payment
U Unscheduled Payment
V Issuer Installment Payment

Note: For Purchase Return Authorization Requests: Value must be 0 (Mastercard and Discover).

TTC (Tax Treatment Code)

Value Description
0 NLL - Net prices with tax calculated at the line item level.
1 NIL - Net prices with tax calculated at the invoice level
2 GLL - Gross prices given with tax information provided at the line item level.
3 GIL - Gross prices given with tax information provided at the invoice level.
4 NON - No tax applies
[SP] (' ' - Space)Field not used.

TTT (Transit Transaction Type Indicator)

01 Prefunded
02 Real-time Authorized
03 Post-Authorized Aggregated
04 Authorized Aggregated Split Clearing
05 Other
07 Debt Recovery

WID (MasterCard Wallet Identifier)

This is a MasterCard value that is generated by the MasterPass online platform. This value is passed to the merchant at the time of consumer checkout for e-commerce transactions, and is included in the authorization request.

EMVAppCryptogram:   The clearing cryptogram used to validate transaction processing in the event of a dispute.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVAppInterchangeProfile:   A series of indicators that reflect the specific functions supported by the chip card account.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVAppTranCounter:   The count of the transactions performed within the application.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVCardSeqNum:   The number assigned to a specific card when two or more cards are associated with a single account number.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVCryptogramAmount:   Contains the transaction amount used by the chip when calculating the last cryptogram.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVCryptogramInfoData:   The type of cryptogram and the actions to be performed by the terminal.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVCurrencyCode:   The currency code of the transaction.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVCVMResults:   The results of the last Cardholder Verification Method (CVM) performed.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVData:   The EMV Data returned from a Pin Pad after reading an EMV card.

This configuration setting takes the entire TLV (tag-length-value) response received from a Pin Pad after reading an EMV card. When setting this field, any EMV tags that are not specified within the TSYS specifications, to include in the request, will be removed from the input. The component will send this data in an authorization request. Note that when performing an EMV transaction, POSDataCode is required.

EMVDedicatedFileName:   Identifies the name of the Dedicated File as described in ISO/IEC 7816-4. This field is required for Mastercard and Discover (including Diners, JCB, and CUP).

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVFormFactorID:   This indicators related to the attributes of the cardholder's device and the technology used for the communication between the cardholder's device and the acquiring device.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVIssuerAppData:   Application data for transmission to the issuer in an online transaction.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVIssuerAuthData:   Data sent by the Issuer to the Chip Card for the Chip Card to validate the authenticity of the Issuer.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVIssuerScriptResults:   The update command that the issuer sends in the authorization response to the card during online processing.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVTerminalCapabilities:   Indicates the card input data, the Cardholder Verification Method (CVM), and the security capabilities that are supported by the terminal.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVTranDate:   The local date at the terminal on which the transaction was authorized.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config. The value must be in YYMMDD format.

EMVTranType:   The Transaction Type used by the card to calculate the cryptogram.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVUnpredictableNum:   The number used in the generation of the cryptogram.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

EMVVerificationResult:   The indicators representing the results of offline and online processing, recorded by the terminal.

This value is returned by the EMV Pin Pad/Terminal device and is sent as part of the EMVData in the authorization. The component parses the EMVData to obtain and populate this config.

HeartlandDeviceId:   Specifies a device ID to uniquely identify each terminal (card data entry device).

The specified value must be 4 characters or less. Note that this value is required to comply with MasterCard's Authorization Data Accuracy Initiative.

HeartlandEncryptionMode:   Specifies the encryption mode to use in Heartland transactions.

This field allows you to specify the Heartland E3 encryption mode used when processing Heartland transactions. The available values are (descriptions describe the data that will be encrypted):

0No Encryption (default)
1Merchant ID and Card Data (reserved for future use)
2Merchant ID, Card Data, and Card Security Code (reserved for future use)
3Card Data Only

Note you will also need to set Processor to 1 (Heartland) and HeartlandKeyBlock if you wish to process Heartland E3 transactions.

IsBillPayment:   Indicates that the transaction is a bill payment transaction.

This field, when set to 'True', indicates that the transaction is a Bill Payment transaction and will be processed as such. When set to 'False' (default value) the transaction will be processed normally.

Leg1:   Used by Merchants that are in the airline industry to submit Leg 1 information for Passenger Transport transactions.

This configuration setting takes a semicolon (;) separated list of name-value pairs. The maximum number of travel legs per trip is 4. You must include information for at least the first leg of the trip (Leg 1).

There are four fields (Carrier, ServiceClass, StopOver and Destination) available for each leg, of which Destination is a required field. The list of available field names and their applicable values can be found below. The fields can be set in any order.

Code Example: TSYSDetailRecord.Config("Leg1=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX");

CarrierAirline Carrier Code for Leg 1 on ticket. Example: DL
ServiceClassOne-character value identifying the service class associated with Leg 1 on ticket. Example: C
StopOverOne-character value identifying whether a stop-over is permitted for Leg 1 on ticket. Possible values:
O Stop-over Allowed
X Stop-over Not Allowed
DestinationDestination Airport for Leg 1 of trip. Example for Los Angeles (CA): LAX. This is a required field for Visa Passenger Transport Transactions.

Leg2:   Used by Merchants that are in the airline industry to submit Leg 2 information for Passenger Transport transactions.

This configuration setting takes a semicolon (;) separated list of name-value pairs. The maximum number of travel legs per trip is 4. You must include information for at least the first leg of the trip (Leg 1).

There are four fields (Carrier, ServiceClass, StopOver and Destination) available for each leg, of which Destination is a required field. The list of available field names and their applicable values can be found below. The fields can be set in any order.

Code Example: TSYSDetailRecord.Config("Leg2=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX");

CarrierAirline Carrier Code for Leg 2 on ticket. Example: DL
ServiceClassOne-character value identifying the service class associated with Leg 2 on ticket. Example: C
StopOverOne-character value identifying whether a stop-over is permitted for Leg 2 on ticket. Possible values:
O Stop-over Allowed
X Stop-over Not Allowed
DestinationDestination Airport for Leg 2 of trip. Example for Los Angeles (CA): LAX. This is a required field for Visa Passenger Transport Transactions.

Leg3:   Used by Merchants that are in the airline industry to submit Leg 3 information for Passenger Transport transactions.

This configuration setting takes a semicolon (;) separated list of name-value pairs. The maximum number of travel legs per trip is 4. You must include information for at least the first leg of the trip (Leg 1).

There are four fields (Carrier, ServiceClass, StopOver and Destination) available for each leg, of which Destination is a required field. The list of available field names and their applicable values can be found below. The fields can be set in any order.

Code Example: TSYSDetailRecord.Config("Leg3=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX");

CarrierAirline Carrier Code for Leg 3 on ticket. Example: DL
ServiceClassOne-character value identifying the service class associated with Leg 3 on ticket. Example: C
StopOverOne-character value identifying whether a stop-over is permitted for Leg 3 on ticket. Possible values:
O Stop-over Allowed
X Stop-over Not Allowed
DestinationDestination Airport for Leg 3 of trip. Example for Los Angeles (CA): LAX. This is a required field for Visa Passenger Transport Transactions.

Leg4:   Used by Merchants that are in the airline industry to submit Leg 4 information for Passenger Transport transactions.

This configuration setting takes a semicolon (;) separated list of name-value pairs. The maximum number of travel legs per trip is 4. You must include information for at least the first leg of the trip (Leg 1).

There are four fields (Carrier, ServiceClass, StopOver and Destination) available for each leg, of which Destination is a required field. The list of available field names and their applicable values can be found below. The fields can be set in any order.

Code Example: TSYSDetailRecord.Config("Leg4=Carrier=DL;ServiceClass=C;StopOver=X;Destination=LAX");

CarrierAirline Carrier Code for Leg 4 on ticket. Example: DL
ServiceClassOne-character value identifying the service class associated with Leg 4 on ticket. Example: C
StopOverOne-character value identifying whether a stop-over is permitted for Leg 4 on ticket. Possible values:
O Stop-over Allowed
X Stop-over Not Allowed
DestinationDestination Airport for Leg 4 of trip. Example for Los Angeles (CA): LAX. This is a required field for Visa Passenger Transport Transactions.

LocationDetailAddress:   Merchant's street address.

The maximum length is 38 characters (upper-case). This field is used to identify the merchant's street address where the transaction took place. If the address is more than 38 characters, use proper and meaningful abbreviation(s) when possible. Do not truncate.

For Mail Order, Phone Order, and Internet Industries, you may substitute the street address where the merchant's order processing facility is located, or the merchant's web address (URL) or e-mail address. URLs and e-mail addresses may be in lower case as appropriate.

LocationDetailCity:   Name of the city.

The maximum length, depending on the card brand, is 21 or 13 characters (upper-case). This field is used to identify the name of the city where the transaction took place. For Visa and Mastercard the maximum length is 13 characters while for Amex it's 21 characters. If the name is more than the maximum allowed, use proper and meaningful abbreviation(s) when possible. Do not truncate. Please refer to the latest "TSYS Sierra EIS-1081" documentation regarding this field's usage for Card Not Present (CNP) transactions and more.

LocationDetailCountry:   Country code.

The maximum length is 3 characters (upper-case). This field is used to identify the country code of the location where the transaction took place. For example, the country code for USA is "840."

LocationDetailName:   Merchant name.

The maximum length is 38 characters (upper-case). This field is used to identify the merchant name that appears on the storefront and/or customer receipts and statements. It is commonly referred to as the DBA (Doing Business As) Name. Use proper and meaningful abbreviation(s) when possible. Do not truncate.

LocationDetailPostal:   Postal code.

The maximum length is 15 characters (upper-case). This field is used to identify the postal / zip code of the location where the transaction took place.

LocationDetailRegion:   Region code that corresponds to the state, province, or other country subdivision.

The maximum length is 3 characters (upper-case). This field is used to identify the region code that corresponds to the state, province, or other country subdivision of the merchant location where the transaction took place. For example, the region code for California, USA is "CA". For non-US and Canada country codes, this field should be populated with spaces or "XX".

MerchantDescriptor:   Merchant Soft Descriptor information.

This is a free-text value field giving more information about the transaction. It can be used for merchant or client reporting purposes. Maximum length of this field is 25 characters.

MobileDeviceType:   Identifies the type of mobile device used by the cardholder to initiate the transaction.

This field is required for all MasterCard PayPass (contactless) transactions. Valid values are:

Value Description
00 Card (default)
01 Mobile Network Operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone
02 Key Fob
03 Watch using a contactless chip or a fixed (non-removable) secure element not controlled by the MNO
04 Mobile Tag
05 Wristband
06 Mobile Phone Case or Sleeve
07 Mobile Phone or Smartphone with a fixed (non-removable) secure element controlled by the MNO (such as CDMA)
08 Removable secure element not controlled by the MNO, for example, memory card personalized for use with a mobile phone or smartphone
09 Mobile Phone or Smartphone with a fixed (non-removable) secure element not controlled by the MNO
10 MNO controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book
11 Tablet or E-Book with a fixed (non-removable) secure element controlled by the MNO
12 Removable secure element not controlled by the MNO (such as memory card personalized for use with a tablet or e-book)
13 Tablet or E-Book with fixed (nonremovable) secure element not controlled by the MNO
14 Mobile Phone or Smartphone with a payment application running in a host processor
15 Tablet or E-Book with a payment application running in a host processor
16 Mobile Phone or Smartphone with a payment application running in the TEE of a host processor
17 Tablet or E-Book with a payment application running in the TEE of a host processor
18 Watch with a payment application running in the TEE of a host processor
19 Watch with a payment application running in a host processor
20 Card
21 Phone (i.e. Mobile phone)
22 Tablet/e-reader (i.e. Tablet computer or e-reader)
23 Watch/Wristband (i.e. Watch or wristband, including a fitness band, smart strap, disposable band, watch add-on, and security/ID band)
24 Sticker
25 PC (i.e. PC or laptop)
26 Device Peripheral (i.e. Mobile phone case or sleeve)
27 Tag (i.e. Key fob or mobile tag)
28 Jewelry (i.e. Ring, bracelet, necklace, and cuff links)
29 Fashion Accessory (i.e. Handbag, bag charm, and glasses)
30 Garment (i.e. Dress)
31 Domestic Appliance (i.e. Refrigerator, washing machine)
32 Vehicle (i.e. Vehicle, including vehicle attached devices)
33 Media/Gaming Device (i.e. Media or gaming device, including a set top box, media player, and television)
34-99 These values reserved for future form factors. Any value in this range may occur within form factors and transaction data without prior notice.
Origin:   First segment travel origination Airport.

This configuration setting is used to set the origination city of the trip. This is a three-character field denoting the airport code of the origination city. For example: LAX

Note: This is a required field for Passenger Transport Transactions.

PassengerName:   The passenger's name.

This configuration setting is used to set the name of the airline passenger. The maximum length is 20 characters. For example: "John Smith"

Note: This is a required field for Passenger Transport Transactions.

PFNameSubMerchantName:   Merchant name, Payment Facilitator Name and Sub-Merchant name, or Marketplace name.

The maximum length is 38 characters (upper-case). This field is used to identify one of those: Merchant (Location Detail) Name, Payment Facilitator Name, or Marketplace Name.

For Payment Facilitators, this field is a concatenation of two fields separated by an asterisk (*).

For Visa, Mastercard and Discover the name submitted should match what the PayFac registered with each brand and should follow the requirements defined by each brand.

For Visa Marketplaces, this field identifies the name of the Marketplace.

PFSubMerchantCity:   The Payment Facilitator Sub-Merchant City.

The maximum length is 21 characters (upper-case). This field is used for Mastercard and Visa to identify the name of the city where the Sub-Merchant is located. For Discover, identify the name of the city where the transaction occurred.

If the name is more than 21 characters, use proper and meaningful abbreviation(s) when possible. Do not truncate.

For Direct Marketing merchants and preferred customer/passenger transport and card not present transactions, this field must contain a phone number for merchant customer service in format XXX-XXXXXXX. The dash is required. If the phone is not available, use the website URL.

Note: For Marketplaces, this field is not required.

PFSubMerchantCountry:   The Payment Facilitator Sub-Merchant Country Code.

The maximum length is 3 characters (upper-case). This field is used to identify the country code of the location where the transaction took place. For example, the country code for USA is "840". It is used for Visa, Mastercard, and Discover transactions and must be included on all transactions that originate from a Payment Facilitator.

Note: For Marketplaces, this field is not required.

PFSubMerchantPostalCode:   The Payment Facilitator Sub-Merchant Postal Code.

The maximum length is 15 characters (upper-case). This field is used to identify the postal / zip code of the Sub-Merchant's location. It is used for Visa, Mastercard, and Discover transactions and must be included on all transactions that originate from a Payment Facilitator.

Note: For Marketplaces, this field is not required.

PFSubMerchantState:   The Payment Facilitator Sub-Merchant State/Province Code.

The maximum length is 3 characters (upper-case). This field is used to identify the region code that corresponds to the state, province, or other country subdivision of the merchant location where the transaction took place. For example, the region code for California, USA is "CA". For non-US and Canada country codes, this field should be populated with spaces or "XX". It is used for Visa, Mastercard, and Discover transactions and must be included on all transactions that originate from a Payment Facilitator.

Note: For Marketplaces, this field is not required.

POSDataCode:   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).

Code Example: TSYSRetail.Config("POSDataCode=CardholderAuthCap=1;CardInputMode=2;CardInputCap=2");

CardInputCap (Terminal card data input capability)

0 (default) Unspecified, data not available
1 Manual; no terminal; Voice auth/ARU
2 Magnetic stripe reader capability
3 Bar code/ Payment code
4 Optical character reader (OCR) capability, [MC, AX]
5 Integrated circuit card (ICC) capability and magnetic stripe reader
6 Key entry only capability; Mastercard recurring and installment transactions
A PAN auto-entry via contactless magnetic stripe
B Magnetic stripe reader and key entry capability
C Magnetic stripe reader, ICC, and key entry capability
D Magnetic stripe reader and ICC capability
E ICC entry capability
H ICC Reader and Contactless Capability; Magnetic stripe & manual entry implied
M PAN auto-entry via contactless chip
V Other capability, [MC]
X Reserved for private use

CardholderAuthCap (Terminal cardholder authentication capability)

0 No electronic authentication capability
1 PIN entry capability
2 Electronic signature analysis capability
3 mPOS software-based PIN entry capability
5 Electronic authentication capability is inoperative
6 Other
9 (default) Unspecified, data not available

CardCaptureCap (Terminal card-capture capability)

0 No capture capability
1 Card capture capability
9 (default) Unspecified, data not available

TerminalOpEnv (Terminal operating environment)

0 No terminal used; Voice auth/ARU; Mastercard recurring/installment transactions
1 On card acceptor premises; attended terminal
2 On card acceptor premises; unattended terminal
3 Off card acceptor premises; attended
4 Off card acceptor premises; unattended
5 On cardholder premises; unattended
6 Off cardholder premises; unattended
9 (default) Unspecified, data not available
M Off card acceptor premises; merchant mobile POS environment, including mPOS
P On card acceptor premises; merchant mobile POS environment, including mPOS
Q Off card acceptor premises; cardholder mobile environment, including home PC, mobile phone, PDA
R On card acceptor premises; cardholder mobile environment, including home PC, mobile phone, PDA
S Electronic delivery of product, [AX]
T Physical delivery of product, [AX]

CardholderPresent (Cardholder present data)

0 Cardholder present
1 Cardholder not present; unspecified reason
2 Cardholder not present; mail transaction
3 Cardholder not present; phone transaction
4 Cardholder not present; standing (recurring) transaction
5 Cardholder not present; electronic commerce
8 Cardholder not present; recurrent billing such as a loan or installment payment
R Recurring purchase transaction (original transaction was token-based with valid cryptogram)
T PayButton (Discover only)

CardPresent (Card present data)

0 Card not present
1 Card present
W Transponder, [AX]
X Contactless Chip Transactions, including AMEX Expresspay
Z Digital Wallet [AX]

CardInputMode (Card data input mode)

0 (default) Unspecified, data not available
1 Manual input; no terminal; Voice auth/ARU
2 Magnetic stripe reader input
3 Bar code/Payment code
6 Key entered input
7 Payment Credential stored on file. NOTE: This value is required for all Mastercard recurring transactions.
A PAN auto-entry via contactless magnetic stripe
B Magnetic stripe reader input; track data captured and passed unaltered
C Online Chip
F Offline Chip
M PAN auto-entry via contactless Chip Card (EMV Mode)
N Track data read and sent unaltered, chip capable terminal, chip data could not be read
P Empty candidate list fallback
R PAN Entry via electronic commerce, including remote chip
S Electronic commerce, no security, channel encrypted, or SET without cardholder certificate
V Manually entered with keyed CID, [AX, JCB Canada]
W Swiped transaction with keyed CID, [AX, JCB Canada]
X Reserved for private use
Y Reserved for private use
Z Contactless Interface Change Identifies when a Chip Card Transaction with a dualinterface card switches from a contactless to a contact chip card transaction [Discover]

NOTE: AMEX defines ApplePay with value C - Online Chip

CardholderAuthMethod (Cardholder authentication method)

0 Not authenticated
1 PIN
2 Electronic signature analysis
5 Manual signature verification
6 Other manual verification (such as a driver's license number)
9 (default) Unspecified, data not available
S Other systematic verification
T Electronic ticket environment, [AX]

CardholderAuthEntity (Cardholder authentication entity)

0 Not authenticated
1 ICC - Offline PIN
2 Card acceptance device (CAD)
3 Authorizing agent - Online PIN
4 Merchant/card acceptor - signature
5 Other
9 (default) Unspecified, data not available

CardOutputCap (Card data output capability)

0 (default) Unspecified, data not available
1 None
2 Magnetic stripe write
3 ICC
S Other

TerminalOutputCap (Terminal data output capability)

0 (default) Unspecified, data not available
1 None
2 Printing capability only
3 Display capability only
4 Printing and display capability

PINCaptureCap (PIN capture capability)

0 No PIN capture capability
1 (default) Unspecified, data not available
2 Reserved
3 Reserved
4 PIN capture capability four characters maximum
5 PIN capture capability five characters maximum
6 PIN capture capability six characters maximum
7 PIN capture capability seven characters maximum
8 PIN capture capability eight characters maximum
9 PIN capture capability nine characters maximum
A PIN capture capability 10 characters maximum
B PIN capture capability 11 characters maximum
C PIN capture capability 12 characters maximum

Note: Setting this configuration setting in TSYSDetailRecord class will not update the POSDataCode tag in the detail aggregate of the original transaction.

Processor:   Specifies the Processor you are connecting to.

This field allows you to specify the processor that you are connecting to (thus allowing the class to correctly generate the request and parse the response). The available values are:

0TSYS (default)
1Heartland

Note that when set, this property will set the Server and Port to the default values for the specified processor. Additionally, this config must be set prior to setting Card to ensure the card data is formatted correctly.

RequesterName:   Name of the requester.

This configuration setting can be used to set the name of the requester, if the card holder is not the person that ordered or purchased the product or service. This configuration setting applies to the Amex CAPN Corporate Purchasing Solution Extension.

RestrictedTicketIndicator:   Indicates if there are restrictions associated with this ticket.

This configuration setting is used to specify special restrictions associated with an issued airline ticket. The Default value is False. Possible values:

True Restricted Ticket/Non-Refundable
False No Restriction (default)
SpecialConditionIndicator:   Describes selected special conditions at the POS.

This field describes selected special conditions at the point of sale.

Valid values are:

Value Description
7 Purchase of Cryptocurrency. The transaction is related to purchase of cryptocurrency.
8 Quasi-Cash. The transaction is for a product or item that is representative of actual cash such as money orders, traveler's checks, foreign currency, lottery tickets, or casino gaming chips.
9 Existing Debt Indicator. The transaction includes payment on an existing debt.

SpendQualifiedIndicator:   Indicates whether or not the spend qualification threshold has been met.

This field is for High Value card transactions. Valid values are:

Value Description
B Base spend assessment threshold has been met.
N Spend qualification threshold has not been met.
Q Spend qualification threshold has been met.
[SP] (' ' - Space)Spend qualification does not apply.
TicketNumber:   The airline ticket number.

This configuration setting is used to set the airline ticket number. This 13-character value is comprised of a three-character Carrier Code followed by a 10-character Ticket identifier. For example: "8382152100395"

Note: This is a required field for Passenger Transport Transactions.

Token:   The token used in place of Card data.

This field will contain the token received from TSYS and used in place of Card data. This is used as an added security measure to protect a customer's Card and may also help decrease PCI Compliance verification as storing credit card data is no longer needed.

TotalTaxAmount:   Total Tax Amount assessed at the point-of-sale.

This configuration setting can be used to set the total of all taxes applicable to a transaction and it should not be used to report individual line item details for taxes. This configuration setting applies to the Amex CAPN Corporate Purchasing Solution Extension.

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.

VisaMVV:   Merchant Verification Value used for Visa transactions.

The Merchant Verification Value (MVV) is used by Visa to determine a merchant's eligibility to participate in a Select Merchant Fee (SMF) program. The maximum length of this property is 10 characters, and it may only contain 0-9 and A-F.

Base Config Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

GUIAvailable:   Tells the class 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 class 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 class does not attempt to process external events.

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a class is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g., RuntimeLicense, License File).
  • License Type: The type of license installed (e.g., Royalty Free, Single Server).
  • Last Valid Build: The last valid build number for which the license will work.
MaskSensitive:   Whether sensitive data is masked in log messages.

In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to true to mask sensitive data. The default is true.

This setting only works on these classes: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.

UseDaemonThreads:   Whether threads created by the class are daemon threads.

If set to True (default), when the class creates a thread, the thread's Daemon property will be explicitly set to True. When set to False, the class will not set the Daemon property on the created thread. The default value is True.

UseInternalSecurityAPI:   Tells the class whether or not to use the system security libraries or an internal implementation.

When set to false, the class will use the system security libraries by default to perform cryptographic functions where applicable.

Setting this setting to true tells the class to use the internal implementation instead of using the system security libraries.

This setting is set to false by default on all platforms.

Trappable Errors (Tsysdetailrecord Class)

TSYSDetailRecord Errors

501   Data field invalid length.
502   Data field invalid format.
503   Data field out of range.
592   Invalid or unparseable aggregate.
605   Invalid CardType.