5.0 from trustcommerce
[tclink.git] / README
1 Some countries have regulations on the use of cryptographic libraries
2 like the ones embedded in TCLink. It may be unlawful to download TCLink
3 in these countries.
4
5
6 TCLink v4.5.0
7 PHP Implementation
8 copyright (C) TrustCommerce 2019-2020
9 http://www.trustcommerce.com
10 techsupport@trustcommerce.com
11
12 February 17, 2020
13
14 I. DESCRIPTION
15
16 TCLink is a thin client library to allow your servers to
17 connect to the TrustCommerce payment gateway easily and consistently.
18 The protocol (which is the same across all platforms and languages) is
19 well-documented in the TC Link API Developer Guide, so please consult it for
20 any questions you may have about the protocol syntax itself.
21
22 If you are on a Windows environment, do not use this client. Please
23 download the COM object and use the COM functions available for Windows
24 to access the TCLink object. See here for more information:
25 http://www.php.net/manual/en/ref.com.php
26
27 TCLink was originally ported to PHP by Andrew Barnett of Data Clarity.
28 Thanks go to both him (for the code) and his business (for their support
29 of open source).
30
31
32 II. LICENSE
33
34 TCLink for PHP is released under the GNU LGPL. Please read LICENSE
35 for details.
36
37
38 III. REQUIREMENTS
39
40 You must be running PHP 4.0.4pl1 or higher.
41
42 You need to have the OpenSSL development libraries installed.
43 It is recommended you use the most recent version provided by the
44 vendor for PCI reasons.
45
46
47 Besides the normal PHP install, you'll need the php-devel package,
48 which contains files needed for building PHP modules. You can tell
49 if this package is installed if the binary "phpize" is in your path.
50
51
52 IV. BUILDING
53
54 At the root directory of this archive, execute the following:
55
56 phpize
57
58 Afterwards, type the following commands, distribution specific comments provided when available:
59
60 General Instructions:
61 ./configure --with-ssl=[directory containing libssl.so]
62 make
63
64 Debian Jessie:
65 Debian Stretch:
66 Debian Buster:
67 ./configure --with-ssl=/usr/lib/x86_64-linux-gnu
68 make
69
70 Centos 8.1.1911:
71 ./configure --with-ssl=/usr/lib64
72 make
73
74 If you are not sure where your SSL library is installed, contact your system administrator or hosting provider
75 for more information.
76
77 If the module builds without errors and you have access to PHP at the command line,
78 you can test it with the following command:
79
80 php -d extension=modules/tclink.so tctest.php
81
82 This script will run a test transaction and print the results.
83
84 V. INSTALLATION
85
86 If you have root access to the machine, you will probably want to
87 install TCLink as a global extension. You can do this by copying the
88 module library (modules/tclink.so) to your PHP extensions directory
89 (typically /usr/lib/php*). Your extensions directory is defined by the
90 "extension_dir" directive in php.ini.
91
92 Edit php.ini (typically found somewhere in /etc) and add the following line:
93
94 extension=tclink.so
95
96 Restart your webserver, and all PHP scripts will have access to TCLink.
97
98 If you can't or don't want to install the module system wide, you can
99 still load it manually in each script that needs to access it through
100 the dl() call. Your system must be configured to allow dynamic loading of
101 modules for this to work; see your system administrator or hosting provider.
102
103
104 VI. USAGE
105
106 The tctest.php script shows a simple example of running transactions
107 through the TCLink API. A more complex example is contained in
108 tcexample.php.
109
110 The curltest.php script shows a simple example of running transactions
111 through the HTTPS post, as described in the TC Link API Developer Guide. It is
112 provided here in as a conveinence to users who are unable to install
113 TCLink and have Curl available in their installation.
114
115 VII. PLATFORMS
116
117 The included code has been tested on the following platforms:
118
119 CentOS Linux release 8.1.1911 (Core)
120 OpenSSL Version 1.1.1c-2 (Distribution), php-cli-7.2.11-2.module_el8.1.0+209+03b9a8ff.x86_64 (Distribution)
121 Debian Linux release 8.11
122 OpenSSL Version 1.0.1t-1+deb8u12 (Distribution), PHP version 5.6.40+dfsg-0+deb8u8 (Distribution)
123 Debian Linux release 9.8
124 OpenSSL Version 1.1.0l-1~deb9u1 (Distribution), PHP version 7.0.33-0+deb9u6 (Distribution)
125 Debian Linux release 10.3
126 OpenSSL Version 1.1.1d-0+deb10u2 (Distribution), PHP version 7.3.11-1~deb10u1 (Distribution)
127