CCDebit Component [TSYS Integrator V6]
Properties
Methods
Events
Configuration Settings
The CCDebit component is an advanced tool used to authorize debit cards in a Retail environment, where
the customer is purchasing products or services in person. This component makes authorizing debit card
transactions with a customer PIN very easy. Supported Industry Types include retail stores, restaurants,
and grocery stores.
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 simple, direct, secure connection to the Vital/TSYS SSL gateway through a standard
Internet connection. 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 CCDebit component makes authorizing debit card transactions (where the customer's card is swiped through
a card reader and a PIN is supplied) very easy by adding an additional layer of abstraction between the programmer
and the protocol. There is no need to deal with raw sockets, SSL handshakes, or data packet formatting. The steps
to setting up the component and authorizing a transaction are outlined below:
First, set the merchant properties with setup information acquired from your member bank or processor. For instance:
CCDebit1.Reset
CCDebit1.MerchantBankId = "999995" '(BIN Number)
CCDebit1.MerchantNumber = "888000002447"
CCDebit1.MerchantName = "TEST MERCHANT"
CCDebit1.MerchantTerminalNumber = "1515"
CCDebit1.MerchantStoreNumber = "5999"
CCDebit1.MerchantCategoryCode = "5999"
CCDebit1.MerchantCity = "Durham"
CCDebit1.MerchantState = "NC"
CCDebit1.MerchantZip = "27713"
CCDebit1.MerchantTimeZone = "705"
CCDebit1.MerchantABANumber = "123456789"
CCDebit1.MerchantSettlementAgent = "V123"
CCDebit1.AgentBankNumber = "000000"
CCDebit1.AgentChainNumber = "111111"
CCDebit1.ReimbursementAttribute = raStandardRetail
CCDebit1.SharingGroup = "GWQEV5"
CCDebit1.IndustryType = itRetail
Next, set properties that contain details about the transaction. The TransactionNumber is a sequence
number, and should be incremented for each transaction you send. BatchNumber indicates which batch you
will settle this authorization in. It should match the BatchNumber you set in the CCSETTLE
component when you settle this transaction. TransactionAmount is the amount of sale, plus any
CashBackAmount returned to the customer, formatted with an implicit decimal place. The CardTrack2Data is
read from the magnetic stripe on the back of the card, and the DebitPIN and DebitKSN are retrieved from a
standard DUKPT Pin Pad device.
CCDebit1.TransactionNumber = 1
CCDebit1.BatchNumber = 213
CCDebit1.TransactionAmount = "1000"
CCDebit1.CashBackAmount = "300"
CCDebit1.CardTrack2Data = "9999999800002773=09121015432112345678"
CCDebit1.CardPIN = "83C33384650827F6"
CCDebit1.CardKSN = "4A00310459400004"
Finally, submit the transaction by calling one of three authorization methods. Purchase, Credit or BalanceInquiry. The following code demonstrates a purchase:
CCDebit1.Purchase()
If wish refund money to a customer's debit card, you must also supply an OriginalPurchaseDate before
calling Credit.
When the component receives a response from the Vital/TSYS servers, the result of the authorization will be
displayed in several Response properties. The Response indicates whether the transaction was approved,
and the remaining properties provide additional information about the transaction.
Once a debit card Purchase or Credit is approved, the transaction must go through the batch settlement
process in order for the merchant to receive the funds in his merchant account. This is done by passing the XML
aggregate returned from the GetDetailAggregate method to the CCSETTLE component. Usually, a Batch
Settlement of all authorized transactions is done at the end of each business day. Note that BalanceInquiry
transactions can not be settled.
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.
| |
| BalanceInquiry | Retrieves the current available balance of the debit card. |
| Config | Sets or retrieves a configuration setting. |
| Credit | Credits a debit card (with a customer-entered PIN). |
| GetDetailAggregate | Returns an aggregate containing details of this transaction, which is then used for settlement. |
| Interrupt | Interrupts the current action. |
| Purchase | Authorizes a Debit card (with a customer-entered PIN). |
| 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.
| |
| 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.
| |
| DeveloperId | Number that indicates the software's origin to the TSYS network. |
| Retry | Set this to retry a failed transaction. |
| VersionId | Indicates the software's version to the Vital network. |
| ResponseStoreNumber | Check this field against the original Merchant StoreNumber. |
| ResponseTerminalNumber | Check this field against the original Merchant TerminalNumber. |
| Port | The port to which transactions are posted. |
| Server | The server to which transactions are posted. |
| CodePage | The system code page used for Unicode to Multibyte translations. |