The Net Tools Company - 800.225.4190
Search: 
Available in: TSYS
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.

AgentBankNumberIdentifies a specific agent entity of the member bank or processor.
AgentChainNumberIdentifies a specific chain of an agent organization.
BatchNumberThe batch number that this transaction will be included in.
CardTrack2DataTrack 2 data for a debit transaction.
CashBackAmountAmount returned to the customer in cash.
DebitKSNClear-text Key Sequence Number, used for Debit and EBT transactions.
DebitPINDUKPT DES encrypted PIN block, used for Debit and EBT transactions.
IndustryTypeCode which indicates the industry the merchant is engaged in.
MerchantBankIdThe number which identifies the merchant's bank or processor.
MerchantCategoryCodeClassifies a merchant by the type of store.
MerchantCityMerchant's City For Retail (Card Present) transactions, this property should contain the city in which the merchant is located.
MerchantCountryCodeIdentifies the country where the merchant is located.
MerchantCurrencyCodeIdentifies the type of currency used by the merchant.
MerchantLanguageDesignates the language that response messages will be returned in.
MerchantNameName of the merchant.
MerchantNumberA unique number used to identify the merchant within the VisaNet system.
MerchantServicePhoneMerchant's customer service number.
MerchantStateState or province that the merchant is located in.
MerchantStoreNumberUsed to identify a specific merchant's store within the VisaNet system.
MerchantTerminalNumberUsed to identify a unique terminal within a merchant location.
MerchantTimeZoneSpecifies the GMT offset used to calculate the local time within the VisaNet system.
MerchantZipZip code where the merchant that initiated this transaction is located.
MerchantABANumberMerchant's routing number.
MerchantSettlementAgentMerchant's settling agent.
OriginalPurchaseDateDate and time of original purchase, used for returns.
ReimbursementAttributeIndicates the type of fee applicable to this transaction.
ResponseAuthorizedAmountAmount actually used from the card (used when supporting partial redemptions).
ResponseBalanceAvailable balance remaining on card.
ResponseApprovalCodeContains an authorization code when a transaction has been approved.
ResponseAuthSourceIndicates the source of the authorization code stored in ApprovalCode .
ResponseAVSResultContains the Address Verification System result code.
ResponseCodeIndicates the status of the authorization request.
ResponseCVVResultContains the returned CVV result code if it was requested.
ResponseRetrievalNumberThis number is to be submitted for reversals or at settlement.
ResponseReturnedACIReturned Authorization Characteristics Indicator contains CPS qualification status.
ResponseTextText information that describes each response code.
ResponseTransactionDateLocal transaction date returned from the server in MMDDYY format.
ResponseTransactionIdContains the Transaction Identifier or MasterCard Reference Number.
ResponseTransactionNumberCheck this property against the original Transaction Number.
ResponseTransactionTimeLocal transaction time returned from the server in HHMMSS format.
ResponseValidationCodeThis optional property contains information generated by the card issuer.
ResponseHostMessageIdUnique host message identifier (Reserved for future use).
ResponseNetworkIdIdentification code of the network on which the transaction was authorized.
ResponseSettleDateDate at which the Debit, EBT, or Gift Card transaction will settle.
ResponseTraceSystem Trace Audit Number returned for Debit transactions.
SharingGroupList of Debit and EBT networks that the merchant supports.
SSLAcceptServerCertEncodedThe certificate (PEM/base64 encoded).
SSLCertEncodedThe certificate (PEM/base64 encoded).
SSLCertStoreThe name of the certificate store for the client certificate.
SSLCertStorePasswordIf 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.
SSLCertStoreTypeThe type of certificate store for this certificate.
SSLCertSubjectThe subject of the certificate used for client authentication.
SSLServerCertEncodedThe certificate (PEM/base64 encoded).
TimeoutA timeout for the component.
TransactionAmountPurchase amount to be authorized.
TransactionNumberSequence number of this transaction.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

BalanceInquiryRetrieves the current available balance of the debit card.
ConfigSets or retrieves a configuration setting.
CreditCredits a debit card (with a customer-entered PIN).
GetDetailAggregateReturns an aggregate containing details of this transaction, which is then used for settlement.
InterruptInterrupts the current action.
PurchaseAuthorizes a Debit card (with a customer-entered PIN).
ResetClears 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.

ConnectedFired immediately after a connection completes (or fails).
DataPacketInFired when receiving a data packet from the transaction server.
DataPacketOutFired when sending a data packet to the transaction server.
DisconnectedFired when a connection is closed.
ErrorInformation about errors during data delivery.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows 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.

DeveloperIdNumber that indicates the software's origin to the TSYS network.
RetrySet this to retry a failed transaction.
VersionIdIndicates the software's version to the Vital network.
ResponseStoreNumberCheck this field against the original Merchant StoreNumber.
ResponseTerminalNumberCheck this field against the original Merchant TerminalNumber.
PortThe port to which transactions are posted.
ServerThe server to which transactions are posted.
CodePageThe system code page used for Unicode to Multibyte translations.
| About | Privacy Policy | Terms of Use |
© Copyright 2011 /n software inc.