CreditLine Text Based / ICVerify Integration

From Payment Processing Software Library
Revision as of 18:25, 21 September 2009 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This article is part of the
Payment Processing Software Library

Categories

Get it...

Credit Card Software
Download

Install it...

Installation
Upgrade & Migration

Connect to it...

Point Of Sale Integration

Set it up...

Quick Start Guide
Setup
Processor Setup

Licensing

Learn to use it...

Manual & User Guide
Knowledge Base
Frequently Asked Questions
Compliance Guide
Merchant Account Rates
User Interface Guides

Fix it...

Errors & Troubleshooting
Knowledge Base
Corrupted Install Repair

Get Help...

Contact
Processor Support Contacts

More Info ...

Glossary
Articles

See also...

911 Software
Help

CreditLine Payment Processing Software Integration. This site can also be reached at http://docs.911software.com

Looking for better rates?   Get a Free Credit Card Processing Cost Comparison!

This guide is for developers using the file based communication method. While API communication using the DLL is the preferred integration method, file based communication is a good alternative that is easy to implement. The format is the same as that of ICVerify.

Communication Directory

Directory for message exchange is c:/911/messages<br\> Directory is configurable through c:\911\data\911_CCV.INI file: see key MessageDir

→ if you are having trouble, delete everything from the message directory and restart CreditLine server.

Optional PA-DSS Compliant Encryption

Clear text based protocols are not compliant with PA-DSS Security Guidelines for Payment Applications. We provide an encryption API that can be used to encrypt the sensitive data in the request file. No other changes are required.

To use:

1. Create an instance of the CLClient.ocx control (can be found in the 911\bin folder).

2. Call String strEncryptedData = ctl.EncryptData(strInvoiceNum, strData)

strInvoiceNum 
Invoice number is used to generate a unique encryption key
strData 
sensitive data such account number, track data or CVV.

3. Replace the account number, track data and CVV in the protocol with the encrypted version (stored in strEncryptedData from the example above). Make sure to use quotes around it.

4. CreditLine will detect encryption use automatically.

Protocol Settings

See the following entries in c:\911\data\911_CCV.INI

Note: Do not forget to remove ';' in front of a key to uncomment it; for the key to take effect.

→ Restart CreditLine Server for the new settings to take effect.

;********************************************
; FILE BASED (ICVERIFY) PROTOCOL SETTINGS 
;********************************************
;Specifies the message directory used by the file based ICVerify protocol.
;Network directories are ok but make sure that the write access is granted.
;Default: MESSAGES sub-directory under the main directory.
;MessageDir=\ICV\MESSAGES

;Specifies the file prefix for file based ICVerify messages.
;Default: ICVER
;ICVerifyMessagePrefix=MSG

;Specifies the file prefix for special name-value pair formatted text messages.
;Default: TXT
;TextMessagePrefix=TXT

;Specifies the type of file based ICVerify reponse for the .ANS file
;Default: YES
;ICVerifyShortResponse=NO

;Echos the Request in the .ANS file
;Default: NO
;ICVerifyEchoRequest=YES

;If a force transaction is sent and a matching transaction is found in the journal, then it is changed to an 'add tip' transaction.
;Default: NO
;TryForceAsFinalize=YES

;Enables the AES encryption of the account number in text messages.
;Values: YES=Uses AES encryption, NO=Uses clear text
;Default: NO
;GetMsgUseAESEncryption=YES

;Returns the trace number is the auth code field.
;Values: YES=Returns the trace number, NO=Returns the auth code
;Default: NO
;ICVerifyReturnTraceNumberInAuthCode=YES
 
;********************************************
; END FILE BASED (ICVERIFY) PROTOCOL SETTINGS 
;********************************************

Also see Large Tracking ID support

Files

Request file name is ICVER???.REQ (??? is the terminal number)
Response file name is ICVER???.ANS
The prefix for the files is configurable through c:\911\data\911_CCV.INI file, see key ICVerifyMessagePrefix

Warning

The request file names must be UNIQUE . Duplication of request file names between two or more terminals may result in incorrect responses.

Request Format

Handling Track Data

Track 2 is preferred over Track 1 since it is shorter and consistent. For Track 1 data, CreditLine Credit Card Software will convert the lower case letters to upper case. This is due to some processors not allowing lower case letters in their messages. In general, you should pass whatever you get from the card reader.

Generic Request Format

<Message Type>,<User ID>,<Not Used>,<Account Number>,<Exp Date + Track Data (if available)>,<Amount>,<AVS ZIP>, "AVS Address", "", "", "", "", "", "", "", <CVV2>

Message Type
See Message Type for options
User ID
 ???? Employee Number
Exp Date
yymm Year then month
Exp Date + Track Data
yymmTrackData (e.g. "0212B4111111111111111^TEST/CARD^0212201000000")
Amount
?????.?? Authorization Amount
Unique ID
???? 4 digit unique transaction number

Follow-up Request Format

Use this format to work on already entered transactions, e.g. Force

<Message Type>,<User ID>,<Not Used>,<Account Number>,<Exp Date + Track Data (if available)>,<Amount>,<Auth Code + Unique ID>

Auth Code
?????? 6 digit auth code

Hotel Request Format

<Message Type>,<User ID>,<CMO>,<Account Number>,<Exp Date + Track Data (if available)>,<Amount>,<Room Number/AVS Zip>,<Reference Number/AVS Address>,<Guest Name>,<Check In Date>,<Check Out Date>,<Room Rate>,<Perred Card Holder>,<Additional Charges>,<Charge Codes>,<CVV2>


"User ID"
Merchant Code + Clerk ~001~ADAM
"CMO" 
Reservation# / Customer Order# / Folio# / Receipt# / Invoice#
Customer Name 
blank if n/a
Check In Date 
blank if n/a
Check Out Date 
blank if n/a
Room Rate 
blank if n/a
Preferred Card Holder 
blank if n/a
Additional Charges
blank if n/a
Charge Codes 
blank if n/a

Batch Commands

"ST"
batch
"SP","Y","file_path 40"
save batch report into file_path file

→ Note that the above batch report will not print under the CreditLine Demo Mode


Message Type

Credit Card

Type Code
Auth CA
Book, Checkin C4
Auth Only C6
Sale C1
Force, Voice Auth C5
Credit C3
Void Sale C2
Void Credit CR
Add Tip, Edit, Finalize CT
Post, Ship, Checkout CO
Extend Stay CI
No Show CN
Add Charge CG
Settle ST
Settle and Print Batch Report SP

Gift Card

Type Code
Inquiry GI
Activation GA
Deactivation GD
Adjust GJ

Verification

If using the format for the export function: after the export check the export file to ensure that all the transactions have been successfully processed.

Response Format

Approval

<Y + Auth Code + Unique ID>

Approval Example

Yauth010040

Y=approved
auth01=Auth code
0040=unique transaction number


Large Tracking ID

→ This is an optional extension to the standard format. Note: This changes the response that you will receive from CreditLine

CreditLine supports large Unique Tracking ID's as an extension of ICVerify format

To enable large Unique Tracking ID's and use the following switch in c:\911\data\911_ccv.ini:

[SeqNum
;Maximum Transaction Number
;The number specifies the maximum transaction number before it rolls over and start with 1
;Default=10000. 
;TransNumMod=100000000

Remove leading ; from the bottom line like so:

TransNumMod=100000000

→Restart the CreditLine Server to apply.

If enabled the following format will be returned: For instance in the following response:

Yauth0100400000

Y=approved
auth01=Auth code
0040=lower 4 digits of the transaction number
0000=upper 4 digits of the transaction number

Decline

<N + Message>

Examples

Generic Examples

Auth with Manual Entry

"CA","0001","","4111111111111111","0212","1.00",""
Note: Employee number is 0001, account number is 4111111111111111, exp date is Dec '02 and auth amount is $1.00.

Auth response with Approval

"Y1234560001"
Note: Y indicates approval. 123456 is the auth code. 0001 is the returned unique transaction number.
There are no spaces between fields.

Auth with Mag Stripe

"CA","0001","","4111111111111111","0212B4111111111111111^TEST/CARD^0212201000000","2.00",""
Note: There is no space between exp date and track data.

Auth response with decline

"NCALL CENTER"
Note: N indicates decline. Show message 'CALL CENTER' to the user.

Force with manual entry

"C5","0001","","4111111111111111","0212","1.00","123456"
Note: 123456 is the auth code.

Void

"C2","0001","","4111111111111111","","0.00","0000001234"
Note: 000000 is the auth code filler. 1234 is the unique transaction number.

Edit

"CT","0001","","4111111111111111","","3.00","0000005678"
Note: 3.00 is the final amount to be sent to the processor.

Hotel Examples

"C4","~ ~PA","040626","37xxxxxxxxxx008","0603","258.00","0402","","Robert Lincoln","20040305","20040306","215.00","","",""

"CO","~ ~LD","040626","37xxxxxxxxxx008","0603","246.3","0402","","Robert Lincoln","20040305","20040306","215.00","","",""

"CO","~ ~KV","040626","37xxxxxxxxxx008","0603","19.37","Z402","","Robert Lincoln","20040305","20040306","0.00","","",""

  • "Robert Lincoln" is guest name
  • "20040305" is the check in date.
  • "20040306" is the check out date.
  • "215.00" is the room rate.
  • See Generic Examples for more patterns

Complete Turnaround Example

POS → 911: "CA","0001","","4111111111111111","0212","1.00",""
911 → POS: "Y1234561001"
POS → 911: "CT","0001","","4111111111111111","","3.00","0000001001"
911 → POS: "Y1234561002"

Also See

ICVerify SDK Format Spec