FDMSOmahaDetailRecord Component
Properties Methods Events Configuration Settings Errors
The FDMSOmahaDetailRecord component is a tool used to create off-line transactions (Captures, Refunds, Revisions, and Voids) to be settled by the FDMSOmahaBatchMgr component.
Syntax
nsoftware.InPayDirect.Fdmsomahadetailrecord
Remarks
Captures (for Auth Only transactions), Refunds, Voids, and Revisions are all off-line transactions. This means that there is no live response from the server for the transaction. Instead you will add the transactions to the FDMSOmahaBatchMgr component to be sent when the batch is closed.
To capture an AuthOnly transaction, first parse the aggregate obtained from the auth only transaction.
FDMSOmahaDetailRecord.ParseAggregate(FDMSOmahaRetail1.GetDetailAggregate())
Once the aggregate is parsed, you must then set the BatchNumber, TransactionNumber, and TransactionType.
FDMSOmahaDetailRecord.BatchNumber = 1 FDMSOmahaDetailRecord.TransactionNumber = 1 FDMSOmahaDetailRecord.TransactionType = ttCapture
Finally, the aggregate can be added to the FDMSOmahaBatchMgr component to be sent when the batch is closed.
FDMSOmahaBatchMgr.DetailRecords.Add(new FDMSOmahaRecordType(FDMSOmahaDetailRecord.GetDetailAggregate()))
Void and Revision transactions are performed very much like Capture transactions. First, the aggregate is added to the FDMSOmahaDetailRecord component. The TransactionType can then be set to either ttVoid or ttRevise. For revision transactions, you can update the transaction details (such as SettlementAmount). Note that neither of these transaction types allow you to set BatchNumber or TransactionNumber as they have already been assigned to the transaction when it was marked for capture (after a Sale transaction or after a Capture transaction).
A common revision request is adding a TipAmount to charge. Below is an example of adding a TipAmount to a restaurant
transaction.
FDMSOmahaDetailRecord.ParseAggregate(FDMSOmahaRestaurant1.GetDetailAggregate()) FDMSOmahaDetailRecord.TipAmount = "5.00" //The SettlementAmount must include the sum of the TipAmount and the AuthorizedAmount //If the transaction was originally for $10.00 and a $5.00 tip is added the new //SettlementAmount should be "15.00" FDMSOmahaDetailRecord.SettlementAmount = "15.00" FDMSOmahaBatchMgr.DetailRecords.Add(New FDMSRecordType(FDMSOmahaDetailRecord.GetDetailAggregate()))
A Credit Card Refund is not based on a prior transaction. Instead, the FDMSOmahaDetailRecord component is used
to construct a completely new aggregate. To perform a Credit Card Refund, first set the IndustryType to the desired industry and set TransactionType to ttRefund.
The below example is for a Retail transaction.
FDMSOmahaDetailRecord.IndustryType = itRetail FDMSOmahaDetailRecord.TransactionType = ttRefund
Next, set the card and transaction data along with the amount of the refund (via SettlementAmount).
FDMSOmahaDetailRecord.Card.EntryDataSource = edsManualEntryTrack1Capable FDMSOmahaDetailRecord.Card.Number = "4444333322221111" FDMSOmahaDetailRecord.Card.ExpMonth = 1 FDMSOmahaDetailRecord.Card.ExpYear = 2013 FDMSOmahaDetailRecord.BatchNumber = 1 FDMSOmahaDetailRecord.TransactionNumber = 2 FDMSOmahaDetailRecord.SettlementAmount = "1.00"
Finally, the aggregate can be added to the FDMSOmahaBatchMgr component to be sent when the batch is closed.
FDMSOmahaBatchMgr.DetailRecords.Add(new FDMSOmahaRecordType(FDMSOmahaDetailRecord.GetDetailAggregate()))
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
AuthCode | Authorization Code returned from the server. |
AuthorizedAmount | Original amount authorized before any reversals. |
AVSResult | Contains the Address Verification System result code. |
BatchNumber | Number identifying the batch (assigned by the POS device). |
BeverageAmount | The amount of the restaurant beverage purchase. |
Card | Contains the customer's credit card information. |
CustomerAddress | The customer's street number of the billing address. |
CustomerCode | Merchant-assigned customer code. |
CustomerZipCode | Customer's zip code (or postal code if outside of the USA). |
DeviceId | POS Device Identification. |
DirectMarketingType | Specifies the type of transaction to process. |
FoodAmount | The amount of the restaurant food purchase. |
IndustryType | Code which indicates the industry the merchant is engaged in. |
InvoiceNumber | Merchant-defined invoice number. |
OperatorID | Merchant-assigned operator code identifying the operator who entered the transaction. |
OrderNumber | Merchant-defined number identifying the purchase or service. |
SettlementAmount | The amount that the customer will be charged. |
ShipToZipCode | The zip code where the purchased items will be shipped to. |
TaxAmount | Dollar-and-cent amount of tax for the purchase. |
TipAmount | The amount of the tip given at a restaurant for the purchase. |
TPPID | Third Party Processor Identifier assigned by FDMS. |
TransactionId | Contains the Visa Transaction Identifier or MasterCard Reference Number. |
TransactionNumber | The transaction number for the current transaction. |
TransactionType | Indicates transaction type for this detail record. |
VisaIdentifier | Additional merchant identification field used when authorizing Visa transactions. |
Method List
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. |
Event List
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. |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
ACI | Requested Authorization Characteristics Indicator (ACI). |
CustomerAddress | The customer's street number of the billing address. |
CustomerZip | Customer's zip code (or postal code if outside of the USA). |
OperatorID | Merchant-assigned Operator code identifying the operator who entered the transaction. |
UseEncryptionChannel | Specifies whether First Data should use the SST Encryption Channel. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
RecordLength | The length of received data records. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
UseIPv6 | Whether to use IPv6. |
TcpNoDelay | Whether or not to delay when sending packets. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseManagedSecurityAPI is True. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLProvider | The name of the security provider to use. |
SSLSecurityFlags | Flags that control certificate verification. |
OpenSSLCADir | The path to a directory containing CA certificates. |
OpenSSLCAFile | Name of the file containing the list of CA's trusted by your application. |
OpenSSLCipherList | A string that controls the ciphers to be used by SSL. |
OpenSSLPrngSeedData | The data to seed the pseudo random number generator (PRNG). |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
CodePage | The system code page used for Unicode to Multibyte translations. |