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