FDMSOmahaBatchMgr Class
Properties Methods Events Configuration Settings Errors
The FDMSOmahaBatchMgr component is used to close batches and also handles the sending of all offline transactions to the FDMS Host.
Class Name
InPayDirect_FDMSOmahaBatchMgr
Procedural Interface
inpaydirect_fdmsomahabatchmgr_open(); inpaydirect_fdmsomahabatchmgr_close($res); inpaydirect_fdmsomahabatchmgr_register_callback($res, $id, $function); inpaydirect_fdmsomahabatchmgr_get_last_error($res); inpaydirect_fdmsomahabatchmgr_get_last_error_code($res); inpaydirect_fdmsomahabatchmgr_set($res, $id, $index, $value); inpaydirect_fdmsomahabatchmgr_get($res, $id, $index); inpaydirect_fdmsomahabatchmgr_do_closebatch($res); inpaydirect_fdmsomahabatchmgr_do_config($res, $configurationstring); inpaydirect_fdmsomahabatchmgr_do_depositinquiry($res); inpaydirect_fdmsomahabatchmgr_do_interrupt($res); inpaydirect_fdmsomahabatchmgr_do_reset($res);
Remarks
This component allows for a connection to the FDMS Omaha platform via a VPN or PPP (dial-up) connection. This component can be integrated into web pages or stand-alone Point Of Sale applications.
The FDMSOmahaBatchMgr component makes sending offline transactions and closing batches very easy by adding an additional layer of abstraction between the programmer and the protocol. There is no need to deal with raw sockets, TLS/SSL handshakes, or data packet formatting. The steps to setting up the component and authorizing a transaction are outlined below:
First, set the merchant and POS specific properties with setup information acquired from your member bank
or processor. For instance:
FDMSOmahaBatchMgr.MerchantNumber = "123456789123456" FDMSOmahaBatchMgr.MerchantTerminalID = "XXX01" FDMSOmahaBatchMgr.DeviceId = "DID1" // Optional, Merchant-Assigned
Next, add all the detail records for the transactions you wish to settle in the batch. Note that all the added detail
records must be transactions that are processed within the same batch that you wish to close. Below is an example of
how to add a detail record to the OmahaBatchMgr component.
FDMSOmahaBatchMgr.DetailRecordCount = 1; FDMSOmahaBatchMgr.DetailRecordAggregate[0] = FDMSOmahaRetail.GetDetailAggregate()
The BatchNumber and TransactionNumber should then be set. Note the BatchNumber should be the same value as all
the transactions contained within the DetailRecords. The TransactionNumber specified must be 1 greater than the number
of Credit Card transactions specified within DetailRecords and less than the last Debit/EBT Card TransactionNumber
specified. See TransactionNumber for more specific information.
FDMSOmahaBatchMgr.BatchNumber = 1 FDMSOmahaBatchMgr.TransactionNumber = 2
Finally the batch can be closed by calling CloseBatch. When CloseBatch is called, all the off-line transactions
(Voids, Revisions, etc.) will be sent to the Host. After all the off-line transactions have been successfully sent, the
batch close request will be sent. If the batch was successfully closed, ResponseSuccess will be 'True'.
FDMSOmahaBatchMgr.CloseBatch()
Note it is possible that the Host may be out-of-balance with the Total Amount specified (which is calculated by the component based on the information contained within the DetailRecords). If such a case occurs, the Host may request an inquiry to synchronize all transactions (this request is sent after a batch close message is sent by the component). When the component receives this request, it will handle all inquiries and respond accordingly based on the request and information contained within DetailRecords. Once the host is in sync, the Host will send the close batch response and Response will be populated. ResponseSuccess will be true if the batch was successfully closed.
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
ApplicationId | Identifies the merchant application to the Datawire System. |
BatchNumber | Number identifying the batch (assigned by the POS device). |
ClientRef | Uniquely identifies the transaction within the Datawire system. |
DatawireId | Identifies the merchant to the Datawire System. |
DetailRecordCount | The number of records in the DetailRecord arrays. |
DetailRecordAggregate | Set this property with xml aggregates of the transactions you wish to settle. |
DeviceId | POS Device Identification. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where IPPort binds. |
MerchantNumber | A unique number used to identify the merchant within the FDMS systems. |
MerchantTerminalID | Used to identify a unique terminal within a merchant location. |
ProxyAuthScheme | This property is used to tell the component which type of authorization to perform when connecting to the proxy. |
ProxyAutoDetect | This property tells the component whether or not to automatically detect and use proxy system settings, if available. |
ProxyPassword | This property contains a password if authentication is to be used for the proxy. |
ProxyPort | This property contains the TCP port for the proxy Server (default 80). |
ProxyServer | If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified. |
ProxySSL | This property determines when to use SSL for the connection to the proxy. |
ProxyUser | This property contains a user name, if authentication is to be used for the proxy. |
RemoteHost | The address of the remote host. Domain names are resolved to IP addresses. |
RemotePort | The TCP port in the remote host. |
ResponseBatchAmount | The total authorized amount for all Credit Card transactions in the batch. |
ResponseBatchID | Code identifying batch to the Host. |
ResponseDebitBatchAmount | The total authorized amount for all Debit/EBT Card transactions in the batch. |
ResponseDebitText | Message from the Host describing the transaction in relation to Debit cards. |
ResponseBatchNumber | Number identifying the batch assigned by the POS device. |
ResponseSuccess | Determines whether the transaction was successful. |
ResponseText | Message from the Host describing the transaction. |
ResponseTransactionNumber | Number of the transaction in the batch as specified by the Point of Sale device. |
SSLAcceptServerCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertStore | The name of the certificate store for the client certificate. |
SSLCertStorePassword | If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store. |
SSLCertStoreType | The type of certificate store for this certificate. |
SSLCertSubject | The subject of the certificate used for client authentication. |
SSLServerCertEncoded | The certificate (PEM/base64 encoded). |
Timeout | A timeout for the component. |
TransactionNumber | The transaction number for the current transaction. |
URL | Location of the Datawire server to which transactions are sent. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
CloseBatch | Sends a Close Batch request. |
Config | Sets or retrieves a configuration setting . |
DepositInquiry | Sends a Deposit Inquiry request. |
Interrupt | Interrupts the current action. |
Reset | Clears all properties to their default values. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
Connected | Fired immediately after a connection completes (or fails). |
DataPacketIn | Fired when receiving a data packet from the transaction server. |
DataPacketOut | Fired when sending a data packet to the transaction server. |
Disconnected | Fired when a connection is closed. |
Error | Information about errors during data delivery. |
RevisionInquiry | Fired when a revision inquiry request is received from the host. |
SpecificPoll | Fired when a specific poll request is received from the host. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
Status | Shows the progress of the FDMS/Datawire connection. |
Configuration Settings
The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.
CreditBatchAmount | Dollar-and-cent amount ($$$$$$.cc) of all the credit card transactions in the batch. |
DebitBatchCount | Number of debit items in the batch. |
DebitBatchAmount | Total dollar-and-cent amount ($$$$$$.cc) of all the debit card transactions in the batch. |
TransportProtocol | Specifies the transport protocol to use to communicate with the FDMS Omaha server. |
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. |