Search: 
Available in: FDMS
FDMSDetailRecord Component [IBiz FDMS Integrator V1]

Properties   Methods   Events   Configuration Settings  

The FDMSDetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the FDMSSETTLE component. The FDMSDetailRecord component may also be used to modify the xml aggregates returned by the FDMSRETAIL or FDMSECOMMERCE 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 FDMSECOMMERCE, FDMSRETAIL components. Instead, you must manually add these transactions to the settlement batch. The FDMSDetailRecord component can be used to create these transactions, which can then be added to the FDMSSETTLE component's DetailRecord array property.

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

   
  FDMSDetailRecord.TransactionType = ttCredit
  FDMSDetailRecord.IndustryType = itDirectMarketing
  FDMSDetailRecord.AccountDataSource = dsManuallyKeyed
  FDMSDetailRecord.DirectMarketingType = dmECommerce

Next, set the CardNumber, CardExpMonth, CardExpYear, SettlementAmount, and the current TransactionDate and TransactionTime. Since this example is a Direct Marketing transaction, we're also adding the PurchaseIdentifier. Note that since this is an off-line transaction, the AuthorizedAmount MUST be either zero or empty string.

   
  FDMSDetailRecord.CardNumber = "4444333322221111"
  FDMSDetailRecord.CardExpMonth = 3
  FDMSDetailRecord.CardExpYear = 2019
  FDMSDetailRecord.AuthorizedAmount = "0"
  FDMSDetailRecord.SettlementAmount = "5000" '$50.00
  FDMSDetailRecord.TransTime = "123456" ' Current time (12:34:56)
  FDMSDetailRecord.TransDate = "040506" ' Current date (MMDDYY)
  FDMSDetailRecord.PurchaseIdentifier = "123456"

Finally, set the FDMSSETTLE component's DetailRecord array property with the value returned by the GetDetailAggregate method. You've just added a Credit to the settlement.

   
  
  FDMSSettle.BatchRecordCount = 1
  FDMSSettle.DetailRecord[0] = FDMSDetailRecord.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.

   
  FDMSDetailRecord.TransactionType = ttForce
  FDMSDetailRecord.IndustryType = itRetail
  FDMSDetailRecord.AccountDataSource = dsTrack1Swipe
  FDMSDetailRecord.CardNumber = "4444333322221111"
  FDMSDetailRecord.CardExpMonth = 3
  FDMSDetailRecord.CardExpYear = 2019
  FDMSDetailRecord.AuthorizedAmount = "0"
  FDMSDetailRecord.SettlementAmount = "500000" '$5000.00
  FDMSDetailRecord.TransTime = "123456" ' Current time (12:34:56)
  FDMSDetailRecord.TransDate = "040506" ' Current date (MMDDYY)
  FDMSDetailRecord.ResponseApprovalCode = "123456"
  
  FDMSSettle.BatchRecordCount = 1
  FDMSSettle.DetailRecord[0] = DetailRecord.GetDetailAggregate()

In addition to creating Credit and Force transactions, the FDMSDetailRecord component can be used to adjust the Detail Records returned from the FDMSECOMMERCE and FDMSRETAIL components. The most common reasons to modify these detail records are to add a Gratuity (tip) to a charge (itResturant IndustryType), or to add a PurchaseIdentifier or Installment payment info (itDirectMarketing IndustryType) to the detail record.

For example, to add a gratuity to a charge:

   
  FDMSDetailRecord.ParseAggregate(FDMSRetail.GetDetailAggregate())
  FDMSDetailRecord.Gratuity = "500"
  FDMSDetailRecord.TransactionAmount = FDMSDetailRecord.TransactionAmount + FDMSDetailRecord.Gratuity
  FDMSSettle.DetailAggregate[0] = FDMSDetailRecord.GetDetailAggregate()

To settle a transaction authorized with the ttInstallment TransactionType, you must use the FDMSDETAILRECORD 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:

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

  FDMSDetailRecord.ParseAggregate FDMSECommerce.GetDetailAggregate()
  FDMSDetailRecord.InstallmentCount = 3
  FDMSDetailRecord.InstallmentNumber = 1
  
  FDMSSettle.DetailAggregate[5] = FDMSDetailRecord.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 identifies the source of the customer data.
AuthorizedAmount Original amount authorized before any reversals.
CardExpMonth Expiration month of the credit card specified in CardNumber.
CardExpYear Expiration year of the credit card specified in CardNumber.
CardNumber Customer's credit card number from the original authorization request.
DirectMarketingType Specifies the type of transaction to process.
ECI Electronic Commerce Indicator from the original authorization request.
Gratuity Gratuity amount for settling restaurant industry transactions.
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)
ProductCode Merchant-designated product identification code.
PurchaseIdentifier Optional purchase order number assigned by the merchant.
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.
SettlementAmount The amount that the customer will be charged.
TicketNumber Ticket (receipt) number for this transaction.
TransactionDate Local Transaction Date (in MMDDYY format) from the original authorization response.
TransactionId Transaction Identifier from the original authorization response.
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.

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.