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

Added On:  02/27/12
Status:  Active
Type:  Directory
Parent:  $app-home
Stores all resources (templates, reports, ssh and pgp keys, etc) necessary for proper application execution.


Name Type Status Description
account-templates Directory Active Stores XML templates with 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.
agreements Directory Active Stores HTML-pages for Merchant Services Agreement.
archive Directory Active Stores archived copies of merchant’s digital resources (e.g. merchant statements in PDF format).
billing-setup Directory Active Stores configuration settings for UniBill setup.
configurations Directory Active Stores configuration scripts that can be used to configure multiple provider profiles for any given merchant. Scripts are used for automation of common configuration procedure.

var merchantId = api.provision("ach/litle");
api.modify("cards-batch/litle", merchantId);
api.modify("tokenization/litle", merchantId);
paypages Directory Active Stores html pages/templates used by the PayPage mechanism.
pgp Directory Active Stores pgp keys used for encryption and decryption of the information exchanged with different Providers.
providers-emulator Directory Active Stores servlets with providers' responses for testing of transaction logging through proxy emulator.
reports Directory Active Stores report templates (Jasper Reports files) and resources (images, config files) used by in the reports.
ssh Directory Active Stores ssh keys (in Open SSH format) used for authentication and communication with different Providers.
ssl Directory Active Stores files with exported certificates used for authentication and SSL communication with Providers.
connection-limits.properties File Active Stores providers' server connection limits for requests queueing mechanism. Since most of processors have limitation on the number of connections, that can be initiated concurrently by a client, UniPay supports connection queuing mechanism. In cases when the number of incoming connections into UniPay for a given processor exceeds the limit of connections, allowed by this processor, the excess connections will be queued and processed with some time delay. In order to set the limit, the submitting URL of a processor is to be put into this property file and the maximum number of connections for that URL can be specified, for example:


Note: special characters (e.g. ":") in the url need to be escaped. If special characters are not properly escaped, the record will be ignored.
host-blacklist.txt File Active Stores list of blacklisted IP addresses. If an address is included into the list, user will not be able to access UniPay from this IP address.
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.

Warning: loss/damage of the key will result in a complete loss of all encrypted data. Always keep a backup copy of the key.
merchant-fee-template.properties File Active Stores merchant fee configurations available in this application deployment. The key of a property is the name of the Merchant Fee configuration visible on UI, the value of a property is a full name of a Java class that implements configuration logic for the Merchant Fee structure.
message.xsd File Active Stores settings to validate XML messages sent to ActiveMQ queues from the UI.
provider-profile-defaults.properties File Active Stores default settings for provider profiles for the given deployment. Fields with default values defined in this file will not show up on UI in 'reduced' mode.

For encrypted properties value must be preceded by three '@' characters to indicate that the field must be decrypted, when it is loaded from the file.
For example:
secure-transport-registry.properties File Active Stores already provisioned data wire IDs with associated Application ID, Merchant ID and Terminal ID for recovery purposes. The file is used by internal secure transport provisioning mechanism to lookup values that have already been provisioned, since there is no such capability within the Secure Transport API.
unipay.keystore File Active Java keystore file containing private key and public certificate required to configure SSL connectivity on JBoss (https on port 443).
unipay.truststore File Active Java keystore file containing trusted certificates necessary for SSL communication with authorized Providers.
unipay.userstore File Active Java keystore file containing trusted clients' certificates used to authenticate clients through API.