The PTechDetailRecord component is a tool used to create off-line Credit or Force transactions to be settled by the PTECHMANUALSETTLE component. The PTDetailRecord component may also be used to modify the XML aggregates returned by the PTECHCHARGE component's GetDetailAggregate method.
Credit and voice-authorization Capture transactions are off-line transactions. This means that there is no authorization of funds using the PTechCharge component. Instead, you must manually add these transactions to the settlement batch. The PTDetailRecord component can be used to create these transactions, which can then be added to the PTechManualSettle component's DetailRecords property.
To create a Credit, first set the TransactionType to dttCredit, and then set the IndustryType and EntryDataSource Next, set the Card, SettlementAmount, and the current TransactionDate and TransactionTime.
Since this is an off-line transaction, the SequenceNumber may be any value (except 0), and need not reflect the next available sequence number used for authorizations. Finally, set the PTechManualSettle component's DetailRecords array property with the value returned by the GetDetailAggregate method. You've just added a Credit to the settlement.
Voice authorization Capture transactions are similar to credits, with the exception that it 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.
In addition to creating Credit and Force transactions, the PTechDetailRecord component can be used to adjust the Detail Records returned from the PTechCharge component to reflect changes in the SettlementAmount. The most common reasons to modify these detail records are to add a GratuityAmount (tip) to a charge (itResturant IndustryType), or to add additional charges for the itHotel IndustryType. Note that when the SettlementAmount differs from the original authorized amount, the AmountStatus must be updated to asAmountChanged.
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
|AmountStatus||Indicates whether SettlementAmount has been modified from the original authorization.|
|ApprovalCode||The Approval code returned in the response to the authorization linked to this transaction.|
|AuthSource||Indicates the source of the authorization code stored in ApprovalCode .|
|CardExpMonth||Expiration month of the credit card specified by CardNumber .|
|CardExpYear||Expiration year of the credit card specified by CardNumber .|
|CardNumber||Customer's credit card number from the original authorization request.|
|CardType||Type of the credit card.|
|CVVResult||Contains the returned CVV result code if it was requested.|
|ECI||Electronic Commerce Indicator from the original authorization request.|
|EntryDataSource||Should reflect the Entry Data Source sent in the original authorization request.|
|GoodsIndicator||Indicates the type of goods being sold by an e-Commerce merchant.|
|GratuityAmount||Gratuity amount for settling restaurant industry transactions.|
|Hotel||Contains additional information required for the Hotel/Lodging industry.|
|IndustryType||Determines the merchant's industry type.|
|InvoiceNumber||Invoice Number from the original authorization request.|
|Level2Data||Supplies extra information for Commercial or Purchasing cards.|
|NetworkId||The Authorizing network Id from the original authorization response.|
|SequenceNumber||Sequence number of the transaction.|
|ServerNumber||Used for restaurant transactions: Id number of the server making the transaction.|
|SettlementAmount||The amount that the customer will be charged.|
|TransactionDate||Local Transaction Date from the original authorization response.|
|TransactionTime||Local transaction time from the original authorization response.|
|TransactionType||Indicates transaction type for this detail record.|
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
|Config||Sets or retrieves a 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.|
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
|Error||Information about errors during data delivery.|
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
|SystemInformation||System Information field for Batch Inquiry and Release transactions.|
|GUIAvailable||Tells the component whether or not a message loop is available for processing events.|
|UseBackgroundThread||Whether threads created by the component are background threads.|
|UseInternalSecurityAPI||Tells the component whether or not to use the system security libraries or an internal implementation.|