On This Page
Installing and Testing the Client
Minimum System Requirements For Linux
- Linux kernel 2.2, LibC6 on an Intel processor
- GNU GCC compiler (with C++ enabled)
Minimum System Requirements For Windows
- Windows XP, 2000, or newer
- Microsoft Visual Studio 6.0
The SDK supports UTF-8 encoding.
Failure to configure your client API host to a unique, public IP address will cause inconsistent transaction results.
The client API request ID algorithm uses a combination of IP address and system time, along with other values. In some architectures this combination might not yield unique identifiers.
Transaction Security Keys
The first thing you must do is create your security key. The client uses the security key
to add a digital signature to every request that you send. This signature helps ensure that
no one else can use your
Cybersource
account to process orders. You specify the location of
your key when you configure the client.You must generate two transaction security keys—one for the
Cybersource
production environment and one for the test environment. For
information about generating and using security keys, see ).The Simple Order API client for C/C++ package includes the
ca-bundle.crt
,
a bundle of certificate files. The client expects to find the
ca-bundle.crt
file in the same directory as your security keys. If you
decide to move it elsewhere, use the sslCertFile configuration parameter to specify the
file’s location (see the description of sslCertFile).You must protect your security key to ensure that your
Cybersource
account is not compromised.Install the Client
- Go to the client downloads page on the Support Center.
- Download the latest client package, and save it in any directory.
- Unpack the file. This creates an installation directory calledsimapi-c-n.n.n, wheren.n.nis the client version. The client is now installed on your system.
- Configure the client. See Configuring Client Settings below.
- Test the client. See Testing the Client.
RESULT
You have installed and tested the client. You are ready to create your own code for requesting
Cybersource
services. Finish reading this section, and then move on
to either Using Name-Value Pairs, if
you plan to use name-value pairs, or Using XML, if
you plan to use XML.Configuring Client Settings
To run the sample code included in the client package, you must set the configuration
parameters in the
cybs.ini
file, which is located in the installation
directory. You can also use this file when running transactions in a production environment
(see the function descriptions in C/C++ API for
the Client). The table below describes the parameters that you can set. Note that
the default cybs.ini
file that comes with the client package does not
include all of the parameters listed in the table below. It includes only the ones required
to run the sample code.If you have multiple merchant IDs, or if you are a reseller handling multiple merchants,
you can use different configuration settings depending on the merchant ID. See Configuring for Multiple Merchant
IDs, for more information.
Setting | Description |
|---|---|
merchantID | Merchant ID. This client uses this
value if you do not specify a merchant ID in the request itself. |
keysDirectory | Location of the merchant’s
security keys for the production and the test environments. The client includes
a keys directory that you can use.We
recommend that you store your key locally for faster request
processing. |
sendToProduction | Flag that indicates whether the
transactions for this merchant should be sent to the production server. Use one
of these values:
|
targetAPIVersion | Version of the Simple Order API to
use, for example: 1.18 . Do not set this property to the
current version of the client; set it to an available API version. See Client Versions for more
information.Go to https://ics2wsa.ic3.com/commerce/1.x/transactionProcessor to see
a current list of the available versions. For transactions in India, go to
https://ics2ws.in.ic3.com/commerce/1.x/transactionProcessor. |
keyFilename | Name of the security key filename
for the merchant in the
format
< key_fileName> .p12 . |
serverURL | Alternate server URL to use. See
Using Alternate Server Configuration Settings for more information.
Give the complete URL because it will be used exactly as you specify
here. |
namespaceURI | Alternate namespace URI to use. See
Using Alternate Server Configuration Settings for more information.
Give the complete namespace URI, as it will be used exactly as you specify
here. |
enableLog | Flag directing the client to log
transactions and errors. Possible values:
|
logDirectory | Directory to which to write the log
file. Note that the client will not create this directory for you; you must
specify an existing directory. The client includes a logs
directory that you can use. |
logFilename | Log file name. The client uses
cybs.log by default. |
logMaximumSize | Maximum size in megabytes for the
log file. The default value is "10" . When the log file reaches
the specified size, it is archived into
cybs.log .<yyyymmddT hhmmssxxx> and a new
log file is started. The xxx indicates milliseconds. |
sslCertFile | The location of the bundled file of
CA Root Certificates ( ca-bundle.crt ) which is included in the
client download package. The client automatically looks for the file in the
directory where your security keys are stored (specified by keysDirectory). If
you move the file so it does not reside in keysDirectory, use this
configuration setting to specify the full path to the file, including the file
name. |
timeout | Length of timeout in seconds. The
default is 110. |
proxyServer | Proxy server to use. Allowable
formats include:
|
proxyUsername | Username used to authenticate
against the proxy server, if required. If the proxy server requires the domain
name during authentication, add the domain name and a backslash:
<domain>\<username> |
proxyPassword | Password used to authenticate
against the proxy server, if required. |
Testing the Client
After you install and configure the client, test it immediately to ensure that the installation is successful.
Test the Client
- At a command prompt, go to the <installation directory>/samples/nvpdirectory.
- Run the sample program by typingauthCaptureSample. The results of the test are displayed in the window.
RESULT
- If the test is successful, a decision of ACCEPT appears for both the credit card authorization and the follow-on capture.
- If the test is not successful, a different decision value or an error message appears.
Troubleshoot if The Test Fails
- Check to see that yourcybs.inisettings are correct.
- Run the test again.
- If the test still fails, look at the error message and find the return status value (a numeric value from 0 to 8).
- See the descriptions of the status values in Possible Return Status Values, and follow any instructions given there for the error you received.
- Run the test again.
- If the test still fails, contact Customer Support.
Run the XML Sample
- At a command prompt, go to the <installation directory>/samples/xmldirectory.
- Run the sample program by typingauthSample. The results of the test are displayed in the window.
RESULT
- If the test is successful, a decision of ACCEPT appears for both the credit card authorization and the follow-on capture.
- If the test is not successful, a different decision value or an error message appears.
Going Live
When you have completed all of your system testing and are ready to accept real transactions from your customers, your deployment is ready to
go live
.Cybersource Essentials Merchants
Cybersource
Essentials MerchantsIf you use
Cybersource
Essentials services, you can use the Business Center
site to go live. You must also configure your client so that it sends transactions to
the production server and not the test server. See the description of the
sendToProduction
setting in Configuration Settings.After your deployment goes live, use real card numbers and other data to test every card
type you support. Because these are real transactions in which you are buying from
yourself, use small monetary amounts to do the tests. Process an authorization, then
capture the authorization, and later refund the money. Use your bank statements to verify
that money is deposited into and withdrawn from your merchant bank account as expected. If
you have more than one
Cybersource
merchant ID, test each one
separately.Cybersource Advanced Merchants
Cybersource
Advanced MerchantsIf you use
Cybersource
Advanced services, see Getting Started with Cybersource Advanced for information about
going live.When your deployment goes live, your
Cybersource
account is updated so that
you can send transactions to the Cybersource
production server. If you have
not already done so, you must provide your banking information to Cybersource
so that your processor can deposit funds to your merchant bank account.After
Cybersource
confirms that your deployment is live, make sure that you
update your system so that it can send requests to the production server
(ics2wsa.ic3.com
or ics2ws.in.ic3.com
in India) using
your security keys for the production environment. The test server
(ics2wstesta.ic3.com
) cannot be used for real transactions. For more
information about sending transactions to the production server, see the description of the
configuration setting sendToProduction.After your deployment goes live, use real card numbers and other data to test every card
type, currency, and
Cybersource
application that your integration supports.
Because these are real transactions in which you are buying from yourself, use small
monetary amounts to do the tests. Use your bank statements to verify that money is
deposited into and withdrawn from your merchant bank account as expected. If you have more
than one merchant ID, test each one separately.Updating the Client to Use a Later API Version
Cybersource
periodically updates the Simple Order API (previously called
the Web Services API). You can update your existing client to work with the new API
version. Go to https://ics2wsa.ic3.com/commerce/1.x/transactionProcessor for a
list of the available API versions.For transactions in India, go to: https://ics2ws.in.ic3.com/commerce/1.x/transactionProcessor.
To update the client to use a later API version, update the value for the
targetAPIVersion
configuration parameter. For example, to use the 1.18 version of the API, set the property to 1.18
.