UniPay Directory Structure

Top Level Resources:


Name Type Description
$app-home Virtual Root folder for UniPay installation
$ftpgates-root Virtual Root folder for FTP Gates's batch service. All file exchanges occur through this folder.

Files to be sent to Providers are placed in respective sub-folders and are subsequently processed by UniBroker or by UniPay. Tokenization results are placed in respective sub-folder by UniBroker for further consumption by UniPay.
$profiles-home Virtual Stores build profiles and associated resources necessary for the application deployment.
$sources-home Virtual Root directory for the repository with the source code (currently GIT).
$telium2-root Virtual Root directory for the entire file structure inside the terminal from the Tellium2 family. This directory can contain 5 applications.
$unibroker-home Virtual Root folder for UniBroker installation
$unibroker-root Virtual Root folder for UniBroker's batch service. All file exchanges occur through this folder.

Files to be sent to Providers are placed in respective sub-folders and are subsequently processed by UniBroker. Results are placed by respective sub-folders by UniBroker for further consumption by UniPay.

Resource Types:


Directoryphysical directory on server's hard drive
Filephysical file on server's hard drive
Virtualvirtual directory, which maps to a physical directory, name and location of which are determined by the deployment conditions and requirements


[name]-[type]
($profiles-home/[name]-[type])
Added On:  03/06/12
Status:  Active
Type:  Virtual
Parent:  $profiles-home
Stores configuration settings and associated resources for a single build profile. Each server (as well as each development workstation) running UniPay application will have its own profile.

The name of the directory must be comprised of 2 parts separated with a dash (-):

  • [name] - name of this specific deployment configuration
  • [type] - type of the deployment configuration

Possible types are:

  • prod - production server
  • test - staging server or QA server
  • dev - developer' workstation or development server

Contents:


Name Type Status Description
account-templates Directory Active Stores preconfigured XML templates for Merchant configuration. XML configurations are, roughly, serialized Merchant Account Profile objects that can be used to configure (in a similar way) any given Merchant.

All templates in the directory are visible within the application on Quick Account and Modify Merchant Account Profile forms. All configurations saved from the application go into this directory as well.

In order to make templates accessible to the application, they must be placed into $app-home/resources/account-templates directory on the server.
crt Directory Active Stores SSL certificates used for communication between UniPay and various Providers. All of the self-signed certificates stored in this directory must be imported into JDK's default keystore in order to be recognized as trusted.
images Directory Active Stores image files (such as logos or icons) used by the application. In cases when logos or some other images need to be changed (for re-branding), the desired versions can be placed in this folder for a corresponding build profile.
pgp Directory Active Stores pgp keys used for encryption and decryption of the information exchanged with different Providers.
In order to make the keys accessible to the application, they must be placed into $app-home/resources/pgp directory on the server.
properties Directory Active Stores property files used by various parts of the application.
ssh Directory Active Stores ssh keys (in Open SSH format) used for authentication and communication with different Providers.
In order to make the keys accessible to the application, they must be placed into $app-home/resources/ssh directory on the server.
000-unipay-ds.xml File Active Preconfigured version of the datasource configuration file that should be used for this server deployment. Stores datasource configurations for all databases used by UniPay. All connectivity settings are defined in this file.
key.txt File Active Stores master key used for internal application encryption. Internal encryption may be used when tokenization is not available to store credit card numbers (this approach is not PCI compliant). Internal encryption is also used to encrypt password and other sensitive information within the application.

The file must contain a single value (no carriage returns or unnecessary spaces) that is to be used as the key.

Normally, the key gets auto-generated by the system during the setup process. Note that for security purposes, the file doesn't actually contain the encryption key, but an altered version of it.

Altering the key or replacing it with a value that was not prepared following system's algorithm will cause malfunction of the encryption process. Using the key to decrypt values in the database will not produce any meaningful results. An attempt to extract the key through a direct decryption of the value in the file is not likely to produce any meaningful results either.

In order to make these settings accessible to the application, the file must be placed into $app-home/resources directory on the server.

Warning: loss/damage of the key will result in a complete loss of all encrypted data. Always keep a backup copy of the key.
unipay.keystore File Active Java keystore file containing private key and public certificate required to configure SSL connectivity on JBoss (https on port 443).

In order to make keystore accessible to the application, it must be placed into $app-home/resources directory on the server and properly referenced within server.xml.
unipay.truststore File Active Java keystore file containing trusted certificates necessary for SSL communication with authorized Providers.
In order to make truststore accessible to the application, it must be placed into $app-home/resources directory on the server.