CCSettle Component [TSYS Integrator V6]
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 or CCRETAIL 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 or
CCRETAIL 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 authorizing component's Merchant properties.
CCSettle.MerchantBankId = "999995"
CCSettle.MerchantCategoryCode = "5999"
CCSettle.MerchantName = "test merchant"
CCSettle.MerchantNumber = "123456789012"
CCSettle.MerchantCity = "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 Merchant. The
Merchant 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 DetailRecords array property. First set the DetailRecordCount; to the total number of
transactions you wish to settle. Each index in the DetailRecords array property must be set with the XML
aggregate returned from the CCRETAIL, CCECOMMERCE, or CCDETAILRECORD 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 Response will contain "GB", which indicates a "Good Batch". You should
check that the Response and Response match the Batch and Batch
properties.
If the transaction is not successful and you receive an "RB" Response (indicating a "Rejected Batch")
the component throws an exception. You may inspect the Error. Error, Error,
Error, and Error properties for more information concerning why the batch was rejected.
After either fixing this record to resolve the error, or removing the record from the batch, the entire batch must be
resubmitted. When resubmitting a batch that was previously rejected, the BatchNumber must be set to the same value that
was originally used. It is critical that the same BatchNumber value is used to avoid duplicate charges.
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
DetailRecords 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 CCDETAILRECORD component and settled in the same manner.
To add Level II or Level III data to the settled transactions, use the DetailRecords property and the
CCLEVEL2 or CCLEVEL3 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.
Property List
The following is the full list of the properties of the component with short
descriptions. Click on the links for further details.
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. |
| 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 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. |
| 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 further details.
| |
| DeviceCode | A 1-character value used to identify the device and type of the merchant submitting the settlement batch. |
| LocationNumber | Provides additional information on the location of the merchant. |
| Port | The port to which transactions are posted. |
| Server | The server to which transactions are posted. |
| UseIPv6 | Whether or not to use IPv6. |
| MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
| 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). |
| FirewallListener | If true, the component binds to a SOCKS firewall as a server (IPPort only). |
| FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
| FirewallPort | The TCP port for the FirewallHost;. |
| FirewallUser | A user name if authentication is to be used connecting through a firewall. |
| FirewallType | Determines the type of firewall to connect through. |
| TcpNoDelay | Whether or not to delay when sending packets. |
| 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. |