X-Payments:System requirements for X-Payments 3
- X-Payments:General information
 - What's New
 - System requirements
 - Installation
 - Two-factor user authentication
 - Configuring X-Payments
 - Managing users
 - Customizing the interface
 - Managing payments
 - Unistalling X-Payments
 - Upgrading
 - Moving X-Payments from one host to another
 - Viewing X-Payments logs
 - FAQ
 - Troubleshooting
 - Glossary
 - Supported payment gateways
 - Popular Payment Methods Configuration Instructions
 
For hassle-free installation and performance of X-Payments, your server must meet the following requirements:
Contents
Operating system
A Unix-like operating system (Linux, FreeBSD, etc)
PHP configuration
PHP version:
- PHP 7.4.x is recommended.
 - PHP 7.3.x is still supported, but we strongly recommend using PHP 7.4.x instead.
 - PHP 7.1.x and PHP 7.2.x are not recommended.
 - For security reasons, the latest PHP version in the branch must be used.
 
php.ini settings:
- Mandatory:
 
- safe_mode = off;
 - magic_quotes_sybase = off;
 - sql.safe_mode = off;
 - ini_set = on;
 - memory_limit >= 16M;
 
- Recommended:
 
- disable_functions = NULL
 - max_execution_time >= 30;
 - memory_limit >= 32M;
 - max_input_time >= 30;
 - sendmail_from = username@example.com; (An email address that service email messages will be sent from)
 - precision = 14 (the default value set in the php.ini file).
 
PHP extensions:
- PCRE;
 - HASH;
 - PDO with the MySQL driver;
 
- Important note about PDO extension:
X-Payments requires the PDO extension, as well as the MySQL PDO driver, to be installed as a shared module. In other words your php.ini file needs to be updated so that the PDO extensions will be loaded automatically when PHP runs:
- extension=php_pdo.so
 - extension=php_pdo_mysql.so
 
 - extension=php_pdo.so
 - X-Payments will not install if you use a different PHP configuration (i.e. when PHP is compiled with the necessary PDO extensions like '--enable-pdo=shared' and '--with-pdo-mysql=shared'). In this case, please change the configuration as advised above (install both extensions as a shared module).
 - See also: http://php.net/manual/en/pdo.installation.php
 
- Important note about PDO extension:
 
- XML DOM (To parse XML data);
 - cURL (To send secure HTTPS requests; cURL version 7.39.0 or better is recommended);
 - OpenSSL (To encrypt cardholder's data and API requests);
 - SOAP (Required for the Firstdata e4 payment gateway);
 - Reflection;
 - SimpleXML;
 - calendar;
 - ctype;
 - date;
 - fileinfo;
 - filter;
 - gd;
 - json;
 - libxml;
 - mbstring;
 - posix;
 - spl;
 - standard;
 - xmlwriter;
 - xml;
 - mcrypt (Required only if upgrading X-Payments from a 3.0.x version; not needed if installing X-Payments version 3.1.0 or later. In 3.1.0 mcrypt has been replaced with openssl).
 
Miscellaneous:
- The crontab on the server where X-Payments is installed must be configured to periodically run the script cron.php (needed for data cleaning tasks and subscriptions). For more info, see Running the cron.php script.
 - Use SMTP server (with SMTP Authentication option enabled) instead the PHP function mail() to send email;
 - Allow the PHP function fsockopen to ensure correct performance of SMTP mailer.
 
MySQL configuration
MySQL version:
- MySQL versions 5.6 or later (5.7 is recommended).
 
MySQL user privileges:
- Basic level privileges
 
- select_priv;
 - insert_priv;
 - update_priv;
 - delete_priv;
 - lock_tables_priv;
 - index_priv;
 
- Privileges for the software installation and upgrade
 
- create_priv;
 - drop_priv;
 - alter_priv.
 
MySQL user limitations:
- MAX_QUESTIONS - no limitations;
 - MAX_UPDATES - no limitations;
 - MAX_QUERIES_PER_HOUR - no limitations;
 - MAX_USER_CONNECTIONS - no limitations.
 - max_allowed_packet - from 8 MB to 16 MB (recommended);
 - wait_timeout - from 7200 to 28800 (recommended).
 
InnoDB:
- Must be enabled. Make sure there is no "skip-innodb" in my.cnf.
 
Apache configuration
Apache is the recommended web server for X-Payments. The settings described below refer to Apache only.
Distributed configuration file:
- AccessFileName .htaccess; (The filename must always be .htaccess);
 - AllowOverride = ALL; (You must have sufficient permissions to change the settings of the web directory through the .htaccess file).
 
PHP running mode:
- If PHP interpreter is compiled as CGI, it must have the --enable-force-cgi-redirect option (without --enable-discard-path) enabled. This allows you to avoid the trouble with setting 755 permissions on PHP scripts and registering #!/usr/bin/php.
 
Apache modules:
- Mandatory
 
- mod_dir; (For correct operation of DirectoryIndex)
 - mod_access; (For correct operation of Deny From All and Allow From All)
 - mod_auth; (For correct HTTP authentication)
 
- Recommended
 
- mod_expires; (To setup file caching)
 - mod_gzip / mod_deflate. (For page compression)
 
HTTPS settings
HTTPS must be enabled.
Secure Shell access
For some operations, you will need to have secure shell access to the server where X-Payments is installed. These operations include:
If shell access is not allowed, the necessary actions can be performed with the help of the PHP shell_exec() function. You'll need to create a script shell.php like the following:
<?php $cmd = 'SHELL COMMAND'; echo shell_exec $cmd . '2>&1'; ?>
(Be sure to replace SHELL COMMAND with the actual command that needs to be executed).
Upload this script onto the server where X-Payments is installed and allow it in the <xp-dir>/.htaccess file by adding the following lines:
<Files ~ "shell.php"> Order deny,allow Allow from all </Files>
Then open this file in the web browser.
System parameters
Network settings:
- X-Payments must use the IPv4 protocol;
 - Outgoing TCP connections must be opened to ports 25, 80 and 443;
 - External domains must be allowed at both system and PHP levels, that is the PHP functions gethostbyaddr and gethostbyname must work without any limitations;
 - Domains hosted on a localhost server must be resolved to an external IP address if the server is behind NAT.
 
Disk space:
- 15 MB for a fresh application installation;
 - From 5 MB for the database. Exact amount of disk space required for the database depends on the number of transactions.
 
Shopping cart software
Your shopping cart software must support X-Payments:API. This can be achieved by installing an appropriate X-Payments connector. 
More info about the connectors is available here:
X-Payments Cloud
- Using X-Payments Cloud with X-Cart 5
 - Using X-Payments Cloud with Magento 2
 - Using X-Payments Cloud with Magento 1
 - Using X-Payments Cloud with WooCommerce
 
X-Payments v1.x-3.x
- Connecting X-Payments v1.x-3.x with X-Cart 5
 - Connecting X-Payments v1.x-3.x with X-Cart 4
 - Using X-Payments v1.x-3.x with Magento 2
 - Using X-Payments v1.x-3.x with Magento
 - Connecting X-Payments v1.x-3.x with LiteCommerce
 - Connecting X-Payments v1.x-3.x with Zen Cart and osCommerce
 - Using X-Payments v1.x-3.x with Zoey
 
  |