TCLink Credit Card Processing API
Overview
TCLink is a thin client API that allows a merchant
to process credit card transactions through our processing
gateway over a encrypted channel (SSL) using TCP/IP.
Features
- A simple, cross-platform protocol
- Encryption via SSL and trusted server certificate authentication
- Good transaction times. Transaction duration under 1.2 seconds are common.
- Fail-over to geographically distributed servers for extreme reliability
- Available for numerous platforms and languages
Dependencies
TCLink uses OpenSSL for encrypted
communications. Most modern UNIXes (include Linux and BSD) come with the
libraries and headers. If you don't have OpenSSL already, you can download and compile the source. If
you're using a Linux distribution which uses RPMs, OpenSSH provides these
excellent packages.
Platforms
The following platforms have been tested as working.
- Linux on x86/x86-64
- Linux on Alpha (last tested on v3.3)
- Linux on PPC (last tested on v3.3)
- Linux on Sparc (last tested on v3.3)
- FreeBSD on x86
- OpenBSD on x86 (last tested on v3.3)
- AIX on PPC (last tested on v3.3)
- Solaris on Sparc (last tested on v3.3)
- Mac OSX 10.4.X
- Windows 2000 SP4, Windows XP Professional SP2, Windows 2003
Usage
If you want to move real money around, you'll need a live merchant account.
This release includes a test account to allow you to get a feel for the
system. Contact TrustCommerce at
sales@trustcommerce.com for details
on getting a fully-functional account.
License
Most ports of TCLink are released under the
GNU Lesser General Public License, aka the LGPL. See below exception for windows.
Download
The lastest public release of TCLink is 3.4.
Sometimes the archives have different minor version numbers, reflecting
internal bugfixes or updates specific to that language. These versions are
available under the LGPL.
These archives below may be under different licenses or are available in another location. Generally, questions about the APIs and the like should goto the respective developer(s).
Matthew Danish has also ported TCLink to Common Lisp. CL-TCLink is available here.
Debian users can get pre-built PHP, Perl, and Python versions of the above via apt.
Zope/Plone users can use an interface specially designed for them in conjunction with our TCLink Python package here.
Ruby on Rails users can use two interfaces designed for them in conjunction with our TCLink Ruby package. The first interface is a gateway level abstraction which can be found here. The second interface provides a simple to use subscription interface here.
Windows users can access the COM object and setup executable available for windows. The source for this isn't exactly in
a very easy to build state and it requires the use of various proprietary tools
as well. Support requests should goto the email address below.
Future Improvements
TCLink is a pretty robust API, having served its users extremely well. Of course,
there's always something to be improved (alas, where does the time go) and so perhaps
a wishlist might be in order:
- A batch processing mode for TCLink. One would feed transactions into TCLink and perhaps some level of concurrent processing would happen.
- An integrated reporting mechanism. Right now, users are directed to use our web reporting query interface and it would be nice if TCLink could do the same thing.
- A good 100% .NET implementation running under the .NET Framework 2.0+ or Mono.
Contact
Questions, comments, suggestions, criticisms, code, etc. should be sent to here.
Thanks to Andrew Barnett of Data Clarity for the initial port to PHP.
Thanks to Brian Shirk for the initial port to Python.
Lastly, kudos to any developers for their work on making TCLink useful to
others. If you want your name listed here, feel free to shoot us a mail
and we will gladly acknowledge your specific efforts.