Search: 
Available in: VITALPS
DetailRecord Component [IBiz Vital/TSYS Integrator V4]

Properties   Methods   Events   Configuration Settings  

The DetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the CCSETTLE component. The DetailRecord component may also be used to modify the XML aggregates returned by the CCRETAIL, CCECOMMERCE, or CCCHARGE component's GetDetailAggregate method.

NOTE: What follows is a very short description of the component interfaces. For more information, please consult the help files that come with the respective package.

Remarks

Credit and Force transactions are off-line transactions. This means that there is no authorization of funds using the CCECOMMERCE, CCRETAIL, or CCCHARGE components. Instead, you must manually add these transactions to the settlement batch. The DetailRecord component can be used to create these transactions, which can then be added to the CCSETTLE component's DetailRecord array property.

To create a Credit, first set the TransactionType to dsOffLineCredit, and then set the IndustryType. AccountDataSource, 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:

   
  DetailRecord.TransactionType = dsOffLineCredit
  DetailRecord.IndustryType = itDirectMarketing
  DetailRecord.AccountDataSource = "@" 'No card reader, for DirectMarketing
  DetailRecord.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.

   
  DetailRecord.CardNumber = "4444333322221111" 'Card to credit
  DetailRecord.SettlementAmount = "3476" 'Amount of the credit $34.76
  DetailRecord.AuthorizedAmount = "0" 'MUST be zero for credits!  
  DetailRecord.TransactionDate = "0605" 'Date of this credit in MMDD format
  DetailRecord.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.

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

   
  
  CCSettle.DetailRecordCount = 1
  CCSettle.DetailRecord[0] = DetailRecord.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 ResponseApprovalCode property. The following example shows a Force transaction in a Retail environment.

   
  DetailRecord.TransactionType = dttForceCardPresent
  DetailRecord.IndustryType = itRetail
  DetailRecord.ResponseApprovalCode = "123456" ' This is obtained from a voice authorization over the phone
  DetailRecord.AccountDataSource = "H" ' Track 1 magstripe read
  DetailRecord.CardholderId = "@" 'Signature
  DetailRecord.CardNumber = "4444333322221111" 'Card to credit
  DetailRecord.SettlementAmount = "5555" 'Amount of the credit $55.55
  DetailRecord.AuthorizedAmount = 0 'MUST be zero for off-line transactions!
  DetailRecord.TransactionDate = "0605" 'Date of this credit in MMDD format
  DetailRecord.TransactionTime = "124555" 'Time of this credit in HHMMSS format  
  DetailRecord.TransactioNumber = "124" 'Transaction sequence number of the original authorization request
  DetailRecord.TransactionId = "" 'ResponseTransactionId from the original authorization response  
  
  CCSettle.DetailRecordCount = 2
  CCSettle.DetailRecord[1] = DetailRecord.GetDetailAggregate()

In addition to creating Credit and Force transactions, the DetailRecord component can be used to adjust the Detail Records returned from the CCECOMMERCE, CCRETAIL, CCCHARGE, CCDEBIT, and CCBENEFIT components. The most common reasons to modify these detail records are to add a Gratuity (tip) to a charge (itResturant IndustryType), to add a PurchaseIdentifier or Installment payment info (itDirectMarketing IndustryType) to the detail record, or to add Hotel or Auto Rental specific information when dealing with those IndustryTypes.

For example, to add a gratuity to a charge:

   
  DetailRecord.ParseAggregate(CCRetail.GetDetailAggregate())
  DetailRecord.Gratuity = "500"
  DetailRecord.TransactionAmount = DetailRecord.SettlementAmount + DetailRecord.Gratuity
  CCSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()

To settle a transaction authorized with the ttInstallment TransactionType, you must use the DETAILRECORD component to add the number of this installment and the total count of all installments to be made. For instance, if the purchase was for "Three easy payments of $19.95", and this is the first payment, then the installment number will be 1, and the installment count 3. An example is included below:

   
  CCECommerce.TransactionType = ttInstallment
  CCECommerce.TransactionAmount = "1995"
  CCECommerce.Authorize()

  DetailRecord.ParseAggregate CCECommerce.GetDetailAggregate()
  DetailRecord.InstallmentCount = 3
  DetailRecord.InstallmentNumber = 1
  
  CCSettle.DetailAggregate[5] = DetailRecord.GetDetailAggregate()

/n software suggests that as a matter of good business practices all merchants and third parties that store cardholder data should be aware of the Visa Cardholder Information Security Program (CISP) and the MasterCard Site Data Protection (SDP) program. The purpose of these programs is to help protect the integrity of cardholder information via the use of outside-vendor auditing of systems security and server site security.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for complete descriptions.

AccountDataSource This property contains a 1-character code identifying the source of the customer data.
AuthorizedAmount Original amount authorized before any reversals.
CardNumber Customer's credit card number from the original authorization request.
CardholderId Specifies the method used to verify the identity of the cardholder.
DebitCashBack Contains the ResponseCashBack amount from the original Debit or EBT transaction.
DebitNetworkId Contains the ResponseNetworkId returned in the original Debit or EBT response.
DebitReimbursementAttribute Contains the ReimbursementAttribute from the original Debit or EBT response.
DebitRetrievalNumber Contains the ResponseRetrievalNumber returned in original Debit or EBT response.
DebitSettleDate Contains the ResponseSettleDate returned in the original Debit or EBT response.
DebitTrace Contains the ResponseTrace returned from the original debit or EBT response.
ECI Electronic Commerce Indicator from the original authorization request.
GoodsIndicator Used to identify the type of goods purchased over the Internet.
Gratuity Gratuity amount for settling restaurant industry transactions.
HotelChargeType Type of charge made at a hotel (American Express cards only).
HotelRateAmount The nightly rate for this hotel room. (American Express cards only).
IndustryType Code which indicates the industry the merchant is engaged in.
InstallmentCount Total number of installments. (Installment transactions only)
InstallmentNumber Current installment number. (Installment transactions only)
PurchaseIdentifier Optional purchase order number assigned by the merchant.
RentalCheckIn Date the cardholder checked into the hotel or first drove away a rented vehicle.
RentalExtraCharges List of extra charges for Hotel/Auto transactions.
RentalNoShow Indicates whether the cardholder is a no-show. (Auto Rental and Hotel industries only)
RentalReturnCity City where the rental car was returned (MasterCard only).
RentalReturnLocation Id of the location where the rental vehicle was returned (MasterCard only).
RentalReturnState State or country where the rental car was returned (MasterCard only).
RenterName Name of the person renting the vehicle (MasterCard only).
RequestedACI Authorization Characteristics Indicator from the original authorization request.
ResponseACI Authorization Characteristics Indicator from the original authorization response.
ResponseAVS Address Verification Code from the original authorization response.
ResponseApprovalCode Response Approval Code from the original authorization response.
ResponseAuthSource Auth Source Code from the original authorization response.
ResponseCardLevel Card Level results returned from the original authorization response.
ResponseCode Response code from the original authorization response.
SettlementAmount The amount that the customer will be charged.
TransactionDate Local Transaction Date from the original authorization response.
TransactionId Transaction Identifier from the original authorization response.
TransactionNumber Transaction Number from the original authorization request.
TransactionTime Local transaction time from the original authorization response.
TransactionType Indicates transaction type for this detail record
ValidationCode Validation Code from the original authorization response.
VoidTransaction Indicates whether this transaction has been voided.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for complete descriptions.

Config Sets or retrieves a component configuration setting.
GetDetailAggregate Returns an aggregate containing details of this transaction, which is then used for settlement.
ParseAggregate Parses the aggregate returned from another component's GetDetailAggregate method.
Reset Clears all properties to their default values.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for complete descriptions.

Error Information about errors during data delivery.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for complete descriptions.

CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).

| About | Privacy Policy | Terms of Use |
© Copyright 2008 /n software inc.