| Red Hat Documentation |
CCVS Administrator's GuideVersion 3.3Revised February 15, 2025
Red Hat, Inc. Back to main Documentation page
Table Of Contents:
IntroductionCredit Card Verification System, or CCVS, uses your computer and modem to simulate a credit card swipe box. CCVS is designed as a stand-alone product with several APIs (Application Programming Interfaces) that allow it to be customized and integrated with third party software applications or database products.CCVS is safe, secure, and easy to use. Written in ANSI C and conforming to POSIX standards, CCVS is portable and designed to be easily integrated with modern operating systems, programming languages, and the Internet. It is designed for easy scripting and programming, so users can use CCVS to automate web commerce, batch processing, or enhance any application that requires credit card processing. Some examples of uses for CCVS:
FeaturesCCVS's powerful features can be accessed in a number of ways. We offer users:
OverviewThe credit card verification process involves several steps.First, a consumer presents credit card information to the merchant. The merchant transmits this data, along with her merchant id code, to a clearinghouse (also referred to as a processor or acquirer). This can be done by reading the card and merchant numbers over the phone, by using a credit card terminal, or by using CCVS or some other piece of software to transmit the information from a computer. The clearing house may be the bank that has issued the merchant his credit card account, but it is more likely a firm that has contracted with the merchant's bank to clear charges in exchange for a flat fee and a percentage of every charge processed. The clearing house contacts the bank that issued the consumer's credit card and verifies that the charge is acceptable. Upon acceptance, the clearing house then sends a confirmation message to the merchant. At the same time the available credit from the customer's credit card is frozen by the amount of the transaction. At the end of a business day, the merchant (or the merchant's computer or credit card terminal) calls the clearing house and verifies all transactions for that day to ensure that he and the clearing house agree on what has happened that day. After this upload the clearing house starts the process of transferring the money from the credit card bank to the merchant's bank account.
RequirementsPlatforms:CCVS runs on selected POSIX compliant platforms:
Modems:
Merchant Account:
Your Computer:
InstallationBefore You Install CCVSBefore running the installation program, please thoroughly read all documentation and errata that came with the program. The document setup.txt is a worksheet which will explain the different information required when configuring CCVS to use particular protocols. Fill out the worksheet before attempting to configure CCVS.The CCVS install program will ask you several things about your modem, so be prepared with the appropriate information. Currently CCVS only documents the init strings for three modems: (If your modem does not appear on this list, look through your modem manual to find the string which turns off all compression and error correction, and the string which resets your modem for normal usage.) Once you have familiarized yourself with the product and agreed to the licensing terms, you may begin the installation procedure. Installing CCVS from Red Hat Linux 6.2 CDsIf you have purchased the Red Hat Linux 6.2 Professional or Deluxe Editions for the Intel archiecture, you can install CCVS from RPMs. These can be found on the Workstation Applications CD and on the Secure Web Server CD.(If you have the Red Hat Linux 6.2 Standard Edition, or if you have Red Hat for the Alpha or SPARC architecture, see the next section.) If you didn't install CCVS during the installation of Red Hat Linux, you can use RPM or Gnome-RPM to install the packages:
Once the appropriate packages are installed, proceed to the Configuration Script. No other installation program is necessary. Installing CCVS by DownloadIf you did not install Red Hat Linux from CD, or if you have the Red Hat Linux Standard Edition, or if you have Red Hat Linux for the SPARC or Alpha architectures, or if you are using a different operating system entirely, you must download CCVS and run an installation program.Begin by downloading the appropriate file for your platform from the download page on our web site. The web site contains RPMs for some platforms; it also has tar files for every platform CCVS supports. Unless you are upgrading an existing CCVS installation, you will probably want to use an RPM file, if one is available. Download the RPM files, and then install them as described above. No other installation program is necessary.
If there is no appropriate RPM, download the tar.gz file instead.
Unpack this file (we'll use
Included in the distribution is a file named ccvs_install. You must run this installation program as root. The installation process will install a configuration file named ccvs_configure in the directory you designate (the default location is /usr/local/ccvs). You must run this configuration program as the user account that has permission to access CCVS. (The CCVS user account will have full access to all credit card information, so we recommend creating a special user. We use "ccvs".) Note that the CCVS Interface to Java must sometimes be built after the rest of CCVS is installed. See Special Language Considerations. Before you install CCVS, you must first do the following: 1. Decide which user CCVS will run as, and make sure that user exists on your system. This may not be root. The CCVS user account will have full access to all credit card information, so we recommend creating a special user. (We use "ccvs".) 2. Decide which directories CCVS will be installed in, and make sure that those directories exist. The recommended default locations are /var/local and /usr/local. At your shell prompt, su to root. Then type:
You'll see the following screen:
If you have not su'd to root, you will get the following error:
Please thoroughly read all documentation and errata that came with the program! Failure to install the software properly can cause security problems, allowing unauthorized users access to your data. At the prompt, hit Enter to read the CCVS
software license. You can use the standard scrolling and paging commands
of When you have read the license and exited the pager, you will see:
Type the word "accept" to signify your assent. You will then see this screen:
Press "Y" and then Return. You will then be prompted for information about how you wish to install CCVS.
Please make a note of your response; you will need to use the same directory when you run the configuration program. (If you choose the default values, everything will simply work.) You will then be asked to confirm your choices:
If you enter "Y" and press Return, there will be a few seconds of activity, and then you will see:
(Of course, if you selected a different CCVS user or installation directory, the output will be slightly different.) Now you must configure CCVS. Go on to the next section.
The Configuration ScriptYou must configure CCVS for your system, either in demo mode or for processing real data.At your shell prompt, su to the user account that has permission to access CCVS. (This is the user that you selected during the install process.) Now run the ccvs_configure program. If you installed the software from RPMs, you would type
If you installed from tar files, using
the default location of /usr/local, you would instead type
Either way, you'll see the following screen:
At the prompt, hit Enter to read the CCVS
software license. You can use the standard scrolling and paging commands
of When you have read the license and exited the pager, you will see:
Type the word "accept" to signify your assent. You will then see this screen:
If you are still su'd to root, you will instead get the following error. (If this happens, you should su to the CCVS user and re-run ccvs_configure.)
When you continue, the program will begin prompting you for information. At any time, you can back up to a previous prompt by typing "." (period) by itself and pressing Return.
If you have downloaded the free demo of CCVS, enter "Y". This installs a demo configuration, which does not dial the modem or use a real merchant account. If you have purchased a license and are ready to install a working configuration, enter "N".
In the tar-file installation procedure, we asked you to make note of a particular directory. Put a "/ccvs" on the end of it and use that here. For example, if you entered "/opt/hks" there, put "/opt/hks/ccvs" here. Again, if you used the default values when installing, or if you used the RPM installation, you can use the default value here, and everything will work.
For example, if you had a web site that represented 40 different merchants,
you might have a configuration called The demo protocol requires no other information; if you chose it, you will immediately see:
You can now begin testing the demo software. (This acts just like the full CCVS software, except that it does not dial the modem or talk to a real merchant processor.) If you have a license for the full version of CCVS, and you chose to install a real configuration, you will see:
Select the protocol for which you have a CCVS license and a valid merchant account.
This number should have been provided with your merchant account.
This number will have been provided with your CCVS license.
This number will also have been provided with your CCVS license.
The following screen is only applicable to the MAPP and NDC protocols; it will not appear if you are configuring any other protocol.
You must now enter information about how to communicate with your modem.
If you have several identical modems, you can configure CCVS to use them all, as a pool. Each CCVS process which needs to use a modem will draw one from the pool, if any are available. Several CCVS configurations can share a set of modems this way. You can also configure a single configuration with two modems, so that authorizations and batch settlement can occur at the same time.
The program will test the serial port you enter. (Each of them, if you configure more than one.) This may take up to thirty seconds if the modem does not respond.
You will then be prompted for the modem initialization, dialing, and hang-up strings. (If you configure a pool of modems, they must all be identical, so they will all use the same strings.)
(The suggested defaults will of course vary depending on which modem you selected.) The next question is baud rate:
There may then be additional questions required by particular protocols. For example, VITAL continues with several more prompts about your business's name, address, bank, and so on. You should already have prepared this information when you got your VITAL merchant account. When you have finished entering configuration information, you will see:
Multiple Merchant AccountsIn order to install new merchant accounts, simply follow the configuration procedure again. Use a different configuration name each time.Different configurations may share the same serial port, or the same pool of serial ports. The modems will be used first-come-first-served.
Administrative commandsStarting CCVSIn order to actually run CCVS you must run the ccvsd program. This daemon is the part of the system that actually makes the phone calls and conducts the transactions.For example, if you want to start processing transactions for the Hammond organ salesman we mentioned earlier, and you used the RPMs, you would type:
For the tar-file install, if you installed the software in
its default location of /usr/local/ccvs, you would type:
For more information, see the ccvsd man page. Making Money MoveSome transactions (such as authorizations) occur in real time, when you issue them. Other transactions (such as sales and returns) occur off line, and are not processed immediately. They are batched up and processed as a group from time to time.The program that CCVS uses to do this is called cvupload. We recommend invoking cvupload from your cron system, so it is automatically run without any intervention on your part. You should set it up to run at least once a day. To do the periodic processing for the Hammond organ merchant we've been using for our examples, from the RPM install, you would issue the following command:
For the tar-file install, you would type:
For more information, see the cvupload man page.
Special Language ConsiderationsCThe C library is automatically installed when you install CCVS. When compiling C programs that use CCVS, if you used the tar-file installation, then you should use the include files and link in the CCVS library in the manner usual for your system. (For example,-I<include-directory>
and -L<library-directory> -lccvs.)
If you installed from RPMs, then the header and library files are
in the standard system directories, and you do not need to specify
directory names.
JavaThe CCVS Interface to Java must sometimes be built after the rest of CCVS is installed. This is the case, for example, when you're using an OS distribution that doesn't come with a version of JDK -- if we can't make sure we're using the same version of the JDK that you are, it's not really safe for us to distribute a pre-built version of our Java interface for you. Please see Building the CCVS Java Interface.PerlThe Perl interface to CCVS must sometimes be built after the rest of CCVS is installed. This is the case, for example, when you're using a distribution that doesn't always come with the same version of Perl, or which doesn't by default include Perl at all. If we can't make sure we're using the same version of Perl that you are, it may not be safe for us to distribute a pre-built version of the Perl interface. Please see Building the CCVS Perl Interface.PythonThe Python interface to CCVS must sometimes be built after the rest of CCVS is installed. This is the case, for example, when you're using a distribution that doesn't come with a version of Python. If we can't make sure we're using the same version of Python that you are, it may not be safe for us to distribute a pre-built version of the Python interface. Please see Building the CCVS Python Interface.PHPThe CCVS PHP3 interface must sometimes be built after the rest of CCVS has been installed. This is the case, for example, when you're using a distribution that doesn't come with a version of PHP. If we can't make sure we're using the same version of PHP that you are, it may not be safe for us to distribute a pre-built version of the PHP interface. Please see Building the CCVS PHP Interface.TCLThe TCL interface is always installed as part of the general CCVS installation. You do not have to do anything special for it.
Supporting CCVSSupport for CCVS can be purchased from Red Hat. When you purchase your key to activate CCVS, be sure to review the support options available. See the CCVS web page for more information about purchasing a key and support options.When you contact us for support, please have the following information ready:
Licensing AgreementSOFTWARE LICENSE AGREEMENTSingle User 1. ACCEPTANCE OF TERMS LICENSEE acknowledges that the Licensed Software, as defined below, cannot be installed and enabled for use without the LICENSEE's assent to the terms of this Agreement. LICENSEE agrees that the terms and conditions of this Agreement are accepted, and that LICENSEE's assent thereto may be signified during the download and/or installation and enabling procedure, when LICENSEE clicks the "ACCEPT" button displayed contemporaneously with the text hereof, types "ACCEPT" after the text hereof is displayed, or signifies assent in any other way. By paying the license fee and enabling and using the Licensed Software, LICENSEE is deemed to have accepted and agreed to the terms of this Agreement. 2. DESCRIPTION OF LICENSED SOFTWARE Licensed Software shall include all executable or object files necessary to perform the functions of the program as set forth in the user documentation, sample source code, installation programs and user documentation. Also included is source code for the following Application Programming Interfaces (APIs): Tcl, Python, Perl, Java, and CLI. 3. GRANT OF LICENSE In consideration of payment of the license fee, Red Hat, Inc., as licensor, grants to you, the LICENSEE, a perpetual, nonexclusive non-transferable right (1) to use the Licensed Software on a single computer at a single location to verify credit card purchases under a single merchant account number; (2) to access the source code for the APIs for the sole purpose of integrating the Licensed Software with the LICENSEE's software; and (3) to modify the sample source code. Red Hat, Inc. reserves all rights not explicitly granted to the LICENSEE. 4. OWNERSHIP OF SOFTWARE LICENSEE acknowledges that the Licensed Software (including all modifications thereto) is, and shall continue to be, in its entirety, the sole and exclusive property of Red Hat, Inc. and that LICENSEE has no rights with respect to the Licensed Software except the license granted under Paragraph 3 herein. All intellectual property rights, including all copyright rights, patent rights, trademark rights and trade secrets associated with the Licensed Software are, and shall continue to be, the sole and exclusive property of Red Hat, Inc. 5. USAGE RESTRICTIONS LICENSEE may not modify, adapt, translate, reverse engineer, decompile, or disassemble the Licensed Software. LICENSEE may not create derivative works of the Licensed Software with the exception of the right granted in Paragraph 3 herein to modify the sample source code. LICENSEE may not defeat, or attempt to defeat, the licensing mechanism in the Licensed Software which restricts use of the Licensed Software with a single merchant account number, nor may LICENSEE use the Licensed Software with more than one merchant account number. LICENSEE is hereby prohibited from using the Licensed Software to process transactions for other merchants, or otherwise using the Licensed Software in any manner which would violate the terms of the LICENSEE's agreements with any credit card transaction processor or financial institution. 6. TRANSFER RESTRICTIONS The Licensed Software is licensed solely to the LICENSEE, and may not be used or accessed by any third party. LICENSEE may not transfer, assign, rent, lease, sell, or otherwise dispose of the Licensed Software on a temporary or permanent basis. 7. TERMINATION Red Hat, Inc. reserves the right to immediately terminate LICENSEE's right to use the Licensed Software if LICENSEE violates any provision or restriction set forth herein or if LICENSEE uses the Licensed Software in an illegal or fraudulent manner. Should LICENSEE's rights to use the Licensed Software be terminated pursuant to this paragraph, the license fee shall be forfeited by the LICENSEE. 8. LAWS GOVERNING AGREEMENT This Agreement shall be governed by and construed in accordance with the laws of the State of North Carolina. 9. NO WARRANTY. THE LICENSED SOFTWARE PROGRAMS ARE PROVIDED AND LICENSED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. 10. LIMITATION OF LIABILITY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL RED HAT, INC. BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE PROGRAMS, EVEN IF RED HAT, INC. OR A DEALER AUTHORIZED BY RED HAT, INC. HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 11. LEGAL FEES AND COSTS If any action at law or in equity is necessary to enforce the terms of this Agreement, the losing party shall pay the reasonable attorney's fees, costs, interest, and necessary disbursements of the prevailing party, in addition to any other relief to which the prevailing party may be entitled. 12. PARTIAL VALIDITY If any provisions of this Agreement is held by a court of competent jurisdiction to be invalid, void, or unenforceable, the remaining provisions shall nevertheless continue in full force without being impaired or invalidated in any way. 13. MISCELLANEOUS The parties agree that the terms and conditions herein constitutes the entire and exclusive agreement between them and supersedes all prior or contemporaneous communications, representations or understandings, either oral or written. This Agreement may be amended only by a writing stating the intent to amend this Agreement and signed by authorized representatives of Red Hat, Inc. and LICENSEE. Amendments may not be effected by the preprinted terms and conditions of purchase orders or other forms used by either party. This Agreement may not be modified or supplemented in any other manner including usage of trade, course of business, or oral understandings, either within the industry or between the parties.
Spec SheetFeatures:
Supported PlatformsCCVS runs on selected POSIX compliant platforms:
Supported ModemsThe modems we define as "supported" have been tested in-house to verify their functionality with CCVS. However, almost any modem is compatible with CCVS. If your modem does not appear on this list, look through your modem manual to find the string which turns off all compression and error correction, and the string which resets your modem for normal use. You will need these strings because credit card protocols do not support compression or error correction during modem connects. We can provide you with information about how to turn off such features on the following modems:
Supported Protocols
Application Programming Interfaces (APIs)
Revised February 15, 2025
Red Hat, Inc. Back to main Documentation page <.php3> |
|
© 2001 Red Hat, Inc. All rights reserved. About Red Hat : Legal statement : Privacy statement : Y2K statement : Contact Red Hat |