Search: 
Available in: VITALPS
CCSettle Component [IBiz Vital/TSYS Integrator V4]

Properties   Methods   Events   Configuration Settings  

The CCSettle component is used to do a Batch Settlement on all transactions that were successfully authorized with the CCECommerce, CCRetail, or CCCharge 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 allows for a direct, secure connection to the Vital/TSYS gateway through a standard Internet connection. 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 CCSettle component is used to settle all transactions previously authorized by the CCECommerce, CCRetail, or CCCharge 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 CCSettle 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.

To send a Batch Settlement, first the user must fill out the Merchant properties with the same information contained in the CCCharge Merchant properties.

   
  CCSettle.MerchantBankId = "999995"
  CCSettle.MerchantCategoryCode = "5999"
  CCSettle.MerchantName = "test merchant"
  CCSettle.MerchantNumber = "123456789012"
  CCSettle.MerchantLocation = "Beverly Hills"
  CCSettle.MerchantState = "CA"
  CCSettle.MerchantStoreNumber = "5999"
  CCSettle.MerchantTerminalNumber = "1515"
  CCSettle.MerchantZip = "90210"

Additionally, the AgentBankNumber, AgentChainNumber, TerminalId, BatchNumber, and IndustryType must be set. Note that the TerminalId is fundamentally different from the MerchantTerminalNumber. The MerchantTerminalNumber is used to identify a unique terminal (PC, server, whatever) within a merchant location. The TerminalId, also known as the "V Number", is used for point-of-sale tracking.

   
  CCSettle.AgentBankNumber = "000000"
  CCSettle.AgentChainNumber = "111111"
  CCSettle.TerminalId = "00000001"
  CCSettle.BatchNumber = 15
  CCSettle.IndustryType = itRetail

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 CCRETAIL, CCECOMMERCE, CCCHARGE, or DETAILRECORD component's GetDetailAggregate method.

   
  CCSettle.DetailRecordCount = 1
  CCSettle.DetailAggregate[0] = CCRETAIL.GetDetailAggregate()

Finally, call the SendSettlement method.

   
  CCSettle.SendSettlement()

If the transaction is successful, the ResponseCode will contain "GB", which indicates a "Good Batch". You should check that the ResponseNetDeposit and ResponseRecordCount match the BatchNetDeposit and BatchRecordCount properties. If the transaction is not successful and you receive an "RB" ResponseCode (indicating a "Rejected Batch") the component fails with an error. You may inspect the ErrorData. ErrorDataFieldNumber, ErrorRecordType, ErrorSequenceNumber, and ErrorType properties for more information concerning why the batch was rejected.

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, simply do 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 DETAILRECORD component and settled in the same manner.

To add Level II or Level III data to the settled transactions, use the DetailAddendum property and the LEVEL2EXTENSION or LEVEL3EXTENSION components.

Note that the IndustryType from the CCSettle 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.

AgentBankNumber Identifies a specific agent entity of the member bank or processor.
AgentChainNumber Identifies a specific chain of an agent organization.
BatchCashBackTotal Total amount of cash back for all transactions in the batch.
BatchHashingTotal Total of purchases plus reversals.
BatchNetDeposit Total of purchases minus reversals.
BatchNumber Sequence number of this batch transaction.
BatchRecordCount Total number of records sent including Header, Parameter, and Trailer.
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.
ErrorData Erroneous data contained within the field specified by ErrorDataFieldNumber.
ErrorDataFieldNumber Field within an invalid record that contains an error.
ErrorRecordType Type of record in which an error occurred.
ErrorSequenceNumber Sequence number of the record that caused an error.
ErrorType Type of batch error.
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.
MerchantBankId The number which identifies the merchant's bank or processor.
MerchantCategoryCode Classifies a merchant by the type of store.
MerchantCountryCode Identifies the country where the merchant is located.
MerchantCurrencyCode Identifies the type of currency used by the merchant.
MerchantLanguage Designates the language that response messages will be returned in.
MerchantLocalPhone Merchant's local phone number.
MerchantLocation Merchant's location
MerchantName Name of the merchant.
MerchantNumber A unique number used to identify the merchant within the VisaNet system.
MerchantServicePhone Merchant's customer service number.
MerchantState State or province that the merchant is located in.
MerchantStoreNumber Used to identify a specific merchant's store within the VisaNet system.
MerchantTerminalNumber Used to identify a unique terminal within a merchant location.
MerchantTimeZone Specifies the GMT offset used to calculate the local time within the VisaNet system.
MerchantZip Zip code where the merchant that initiated this transaction is located.
ResponseCode Indicates the status of the batch transmission.
ResponseNetDeposit Total of purchases minus reversals. Compare to BatchNetDeposit.
ResponseNumber Batch number that belongs to this response.
ResponseRecordCount Number of records received by the server in this batch.
ResponseText Contents of this field are dependent upon the ResponseCode.
ResponseTransmissionDate Date that the batch was settled.
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.
TerminalId Contains number to accommodate a POS device tracking number.
Timeout A timeout for the component.

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 Resets all the properties of the entire settlement 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).
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.
SSLServerAuthentication Fired after the server presents its certificate to the client.
SSLStatus Shows the progress of the secure 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.
CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).
DeviceCode
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.
LocationNumber Provides additional information on the location of the merchant.
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.