PX Daemon - Linux

This is a legacy product, which isn't available to new customers. It is also only available on the documented kernels. The Payment Express solution for E-Commerce is designed to provide customers with a connection to their choice of bank via the Internet for authorisation and settlement of Credit Card payments in real-time. Payment ExpressW provides a host computer on the web allowing for a gateway between the internet and bank settlement systems for credit card payments.

Technical Specifications/Features:

  • XML Interface

Technical Specifications/Features:

Linux (We only supports the Payment Express Daemon with use on Linux kernels 2.4.18 and below)

Click here to request Downloads/Test Account information

Installation

Px daemon for Linux is distributed in a GNU-zipped tarball:

pxd-.tar.gz

Where is the version number. You can extract it with the following command:

tar zxvf pxd-.tar.gz

This will create a subdirectory ./pxd-/, and in that directory place the executable file and sample configuration:

pxd - the executable for the px daemon

pxd.conf.sample - the configuration file for px daemon (sample)

You should place the daemon executable pxd into the system daemon directory, for example/usr/sbin/.

You should place the configuration file pxd.conf in /etc/.

You need to set up runlevel scripts to start the daemon at system startup and stop it at system shutdown, and optionally provide for restart and reload.

These runlevel scripts may vary depending on your particular version of Linux.

Configuring PX Daemon

px daemon is configured with a plain ASCII configuration file, typically /etc/pxd.conf. (The configuration file, if different from this, can be named as the first command-line parameter.)

Lines beginning with '#' are treated as comments.

Other lines are either section headings or key-value pairs within a section.

Section headings are enclosed in square brackets, such as:

[TRACE]

Key-value pairs are separated with an '=', like this:

inetxmlport = 3004

The sections, and the key-value pairs supported, are listed below:

Section [TRACE]

Key "level"

Value indicates the trace/log level. These values are defined according to the syslog daemon.

See SYSLOG(3).

One of the following:

0 or LOG_EMERG - Report only emergencies.

1 or LOG_CRIT- Report critical errors or higher.

3 or LOG_ERR- Report normal errors or higher.

4 or LOG_WARNING- Report warnings or higher.

5 or LOG_NOTICE- Report notices or higher.

6 or LOG_INFO- Report informational messages or higher.

7 or LOG_DEBUG- Report all messages, including debug.

Default value: LOG_NOTICE.

Key "indent"

Value is TRUE or FALSE, indicating whether to indent messages to show function call level. This value should be set to FALSE, unless LOG_DEBUG is used for level.

Key "facility"

Value indicates the "facility" for trace/log messages. These values are defined according to the syslog daemon.

See SYSLOG(3).

It is recommended to use one of the following:

LOG_LOCAL0 - local facility 0.

LOG_LOCAL1- local facility 1.

LOG_LOCAL2- local facility 2.

LOG_LOCAL3- local facility 3.

LOG_LOCAL4- local facility 4.

LOG_LOCAL5- local facility 5.

LOG_LOCAL6- local facility 6.

LOG_LOCAL7- local facility 7.

Default value: LOG_LOCAL0.

Section [HOST]

Key Description
dbfilename Value is the path and filename for the DB file to hold read/write data for server. Default value: /etc/pxd.db.
inetaddress Value is first IP address to listen on. Typically this value is set to the address of localhost to accept incoming requests from the same machine. Default value: 127.0.0.1.
inetaddress2 Value is second IP address to listen on. Typically this is an ethernet address and is used to accept requests from other machines on an intranet. Note: this parameter is ignored unless enableaddress2 = TRUE. Default value: 127.0.0.1.
inetxmlport Value is the TCP/IP port to listen on. Note: The Linux server supports only the "new" XML interface which by convention is on port 3004. The Linux server does not support the "legacy" interface on port 3005.Default value: 3004.
enableaddress2 Value determines whether to listen on second address. Default value: FALSE.

Section [SERVER]

Key Description
dbfilename Value is the path and filename for the DB file to hold read/write data for server. Default value: /etc/pxd.db.
inetaddress Value is first IP address to listen on. Typically this value is set to the address of localhost to accept incoming requests from the same machine. Default value: 127.0.0.1.
inetaddress2 Value is second IP address to listen on. Typically this is an ethernet address and is used to accept requests from other machines on an intranet. Note: this parameter is ignored unless enableaddress2 = TRUE. Default value: 127.0.0.1.
inetxmlport Value is the TCP/IP port to listen on. Note: The Linux server supports only the "new" XML interface which by convention is on port 3004. The Linux server does not support the "legacy" interface on port 3005. Default value: 3004.
enableaddress2 Value determines whether to listen on second address. Default value: FALSE.

Usernames and passwords

Payment Express allocates each customer a logon username and password for accessing the Payment Express host. These have to be included in the configuration file.

For security reasons, the username and password are encrypted.

To generate the encrypted username and password for your configuration file, run pxd with the special -g option ("generate"):

$pxd -g>out Enter a username to encrypt:tryme Enter a password to encrypt:password $cat out username = @/;*#2.?B,P*-!24[%,3$[(T%)3L4Q,3LC04E.Q3$Q.P` password = @-E0235Z)=]N-!24[%,3$[(T%)3L4Q,3LC04E.Q3$Q.P`

The file out that you have created contains the config file lines for the username and password, encrypted. Add these lines to your config file, in the [HOST] section.

Troubleshooting px daemon

The px daemon logs interesting events and error messages in syslog. By default, the daemon uses syslog facility local0, but this can be changed in the configuration file.

You can control where the messages are logged in your syslog configuration, typicallysyslog.conf.

For example, the following lines specify that all px server messages are stored in pxd.log, and error and above messages are also repeated in pxd_err.log:

local0.* /var/log/pxd.log local0.err /var/log/pxd_err.log

You can also control, in the configuration file, what level of messages are retained.

For maximum output, when diagnosing problems, specify LOG_DEBUG. This causes full function call tracing to be included in the log.

For normal operation, use LOG_NOTICE.

Messages of level LOG_ERR are prefixed by Error:, so they can be identified easily in the log. Messages of level LOG_CRIT are prefixed by Critical Error:.

Common Problems

Are all required sections and keys in pxd.conf? If not, you will see error messages in the log.

Does pxd.conf contain CRLFs? pxd, like many UNIX programs, does not recognise CRLF from DOS systems as a line-end marker. Make sure your configuration file ends lines with LF (0x0A) only.

Are your host parameters correct? Make sure you verify the following parameters with DPS:

  • itpfirstaddress
  • username
  • host password