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

Properties   Methods   Events   Configuration Settings  

The FDMSSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the FDMSECOMMERCE or FDMSRETAIL components. This component may also send Level II and Level III Corporate Purchasing Card data for better interchange rates.

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

This component connects to the First Data Merchant Services (FDMS) processor, by way of the Datawire VXN transaction transport network. Transactions originating with these components go through Datawire, to the FDMS processor where the transaction is authorized. The result is then returned back through Datawire and received by the component. This component can be integrated into web pages or stand-alone Point Of Sale applications. Because all SSL communications are handled inside the component, any application or web page can be deployed without the need for expensive dedicated SSL servers.

The FDMSSettle component is used to settle all transactions previously authorized by the FDMSECOMMERCE or FDMSRETAIL component. When a transaction is authorized, money in the customer's account is blocked and tagged for the merchant. However, funds do not actually change hands at this point. When transactions are settled with the FDMSSettle component the funds are deducted from the customer's account and added to the merchant's. It is essential that the authorized transactions are properly recorded and resent later in a Batch Settlement.

Sending a Batch Settlement with this component is easy. First, you must register and activate your account with Datawire. Datawire will provide you with a MerchantNumber and MerchantTerminalNumber, but you'll need to use the FDMSREGISTER component to activate the merchant and receive a DatawireId. Once you acquire the DatawireId and receive your transaction URLs through Service Discovery, you may begin to authorize transactions.

To authorize a credit card, set the MerchantNumber and MerchantTerminalNumber with the values supplied by FDMS and Datawire, and the DatawireId with the value retrieved by the FDMSREGISTER component after activating your merchant account. Set the URL property with one of the URLs you retrieved during Service Discovery.

   
  FDMSSettle.MerchantNumber = "000000999990"                 'Supplied by FDMS/Datawire
  FDMSSettle.MerchantTerminalNumber = "555555"         'Supplied by FDMS/Datawire
  FDMSSettle.DatawireId = "0000B47FFFFFFFFFFFFF"
                                'Retrieved with the FDMSREGISTER component.
  FDMSSettle.URL = "http://staging1.datawire.net/sd/"          'Retrieved with the FDMSREGISTER component.

Additionally, set the IndustryType and the BatchSequenceNumber.

   
  FDMSSettle.IndustryType = itDirectMarketing
  FDMSSettle.BatchSequenceNumber = "4127"  

At this point, you are ready to add transactions to the batch settlement. Each transaction to be settled must be added to the DetailAggregate array property. First set the DetailRecordCount to the total number of transactions you wish to settle. Each index in the DetailAggregate array property must be set with the XML aggregate returned from the FDMSRETAIL, FDMSECOMMERCE, or FDMSDETAILRECORD component's GetDetailAggregate method.

   
  FDMSSettle.DetailRecordCount = 1
  FDMSSettle.DetailAggregate[0] = FDMSECommerce.GetDetailAggregate()

Finally, call the SendSettlement method.

   
  CCSettle.SendSettlement()

If the settlement is successful, the BatchResponse will contain "OK" and the ResponseBatchNumber will contain a number which can be used to identify the batch in the future. If the batch was not successful the component fails with an error that indicates the problem. If any individual record in the batch fails, information concerning that record will appear in the Error event when the response to that particular record is received.

Thousands of detail records may be settled in the above manner, just by increasing the DetailRecordCount and adding a transaction to each index of the DetailAggregate property. However it is recommended that Batch Settlements be kept relatively small - around 100 transactions or so - to decrease the number of records that must be resent in the event of an error.

To Void a transaction that has been authorized but has not yet been settled, the easiest way is to simply not include it in the batch settlement. The block on the cardholder's account will clear automatically. Credits and forced transactions may be created using the FDMSDETAILRECORD component and settled in the same manner as regular transactions.

To add Level II and Level III data to the settled transactions, use the DetailAddendum property and the FDMSLEVEL2 and FDMSLEVEL3 components.

Note that the IndustryType from the FDMSSettle component MUST match the detail record aggregate of EACH transaction that is added to the settlement. You cannot mix industry types in a batch - you must settle a separate batch for each industry type.

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

BatchResponse Indicates success of the entire settlement.
BatchSequenceNumber Starting sequence number for the transactions in this batch.
DatawireId Identifies the merchant to the Datawire System.
DatawireResponseStatus Status of the communication with Datawire.
DatawireReturnCode Contains an error code providing more details about the DatawireResponseStatus received.
DetailAddendum Optional Detail Record Addendum data (such as Level2 or Level3 data)
DetailAggregate Set this property with xml aggregates of the transactions you wish to settle.
DetailRecordCount Total number of detail records in this settlement.
FirewallHost Name or IP address of firewall (optional).
FirewallPassword A password if authentication is to be used when connecting through the firewall.
FirewallPort Port of the firewall to connect to.
FirewallType Determines the type of firewall to connect through.
FirewallUser A user name if authentication is to be used connecting through a firewall.
IndustryType Code which indicates the industry the merchant is engaged in.
MerchantNumber A unique number used to identify the merchant within the FDMS and Datawire systems.
MerchantServiceNumber Merchant's customer service phone number.
MerchantTerminalNumber Used to identify a unique terminal within a merchant location.
ResponseBatchNumber Identifies a successful batch settlement.
SSLAcceptServerCert Instructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertEncoded The SSL certificate (PEM/base64 encoded).
SSLCertStore The name of the certificate store for the client certificate.
SSLCertStorePassword The password for the certificate store (if any).
SSLCertStoreType The type of certificate store for the client certificate.
SSLCertSubject The subject of the certificate used for client authentication.
SSLServerCert The server certificate for the last established connection.
SSLServerCertStatus The verification status of the server certificate for the last established connection.
Timeout A timeout for the component.
URL Location of the Datawire server to which transactions are sent.

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.
Interrupt Interrupts the current action.
Reset Clears all properties to their default values.
SendSettlement Begins a Batch Settlement transaction with the transaction server.

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.

Connected Fired immediately after a connection completes (or fails).
Disconnected Fired when a connection is closed.
Error Information about errors during data delivery.
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 component with short descriptions. Click on the links for complete descriptions.

AbsoluteTimeout Determines whether timeouts are inactivity timeouts or absolute timeouts.
ClientTimeout Indicates timeout client application will wait for response.
CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).
FirewallData Used to send extra data to the firewall.
FirewallListener If true, the component binds to a SOCKS firewall as a server (IPPort only).
HTTPVersion The version of HTTP used by the component
IfModifiedSince A date determining the maximum age of the desired document.
InBufferSize The size in bytes of the incoming queue of the socket.
KeepAlive Determines whether the HTTP connection is closed after the completion of the request.
MaxLineLength The maximum amount of data to accumulate when no EOL is found.
MaxTransferredData The maximum number of incoming bytes to be stored by the component.
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).
OutBufferSize The size in bytes of the outgoing queue of the socket.
ProxyAuthorization The authorization string to be sent to the proxy server.
ProxyPassword A password if Basic authentication is to be used for the proxy.
ProxyPort Port for the proxy server (default 80).
ProxyServer Name or IP address of a proxy server (optional).
ProxyUser A user name if Basic authentication is to be used for the proxy.
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
SocketHandle The handle of the main socket used by the component.
UseWinInet If set, the WinInet API is used for retrieving the URL
UseWinInetCookies Controls whether to send and accept cookies when making http requests through WinInet
UserAgent Information about the user agent (browser).
WinsockInfo Identifying information about the loaded Winsock stack (Windows only)
WinsockLoaded Loads and unloads Winsock on demand (Windows only)
WinsockMaxDatagramSize Size in bytes of the largest UDP datagram that can be sent or received (Windows only)
WinsockMaxSockets Maximum number of sockets available to a single process (Windows only)
WinsockPath The path to the Winsock DLL used (Windows only)
WinsockStatus The status of the Winsock stack (Windows only)

| About | Privacy Policy | Terms of Use |
© Copyright 2008 /n software inc.