Advanced configuration of YSoft Payment System
Overview
Configuration of YSoft Payment System can be found in <payment_home>/ysoft/environment-configuration.properties file.
Each key, value pair from the tables below represents the new line in property file.
Each line starting with # symbol represents a comment and will be ignored.
Definition of cron expressions can be found here.
Values with non-ascii symbols should be escaped. You can use this online tool for escaping characters.
In order to load configuration, restart YSoft Payment System service after each change of configuration in property files.
Always leave the first line of property file blank or filled with comment. Otherwise it might cause problems during loading of configuration.
Here is example of property file.
#intentionall comment on the first line
key=value
key=0 0 0 * * *
key=some non-ascii characters \u0161\u010D\u0159General
Proxy setting
key | default value | possible values | description |
general.proxy.host |
| Proxy host. If not specified, proxy will not be used. | |
general.proxy.port | number | If host specified, must not be empty. | |
general.proxy.username | string | Proxy login name. | |
general.proxy.password | string | Proxy password. If login specified, must not be empty. |
Payment system
key | default value | possible values | description |
paymentSystem.type | internal-payment-system |
| Indicates where will be money stored:
|
Certificate watchdog
key | default value | possible values | description |
certificate.watchdog.warnDays | 120 | number | Days to certificate expiration. After this time the system starts notifying administrator. |
certificate.watchdog.errorDays | 30 | number | Days to certificate expiration. After this time the system starts warning administrator. |
certificate.watchdog.cron | 0 0 0 * * * | cron expression | Interval in m. How often certificates will be checked. (default every day) |
Payment machines
key | default value | possible values | description |
spm.statistics.dump.cron | 0 */15 * * * * | cron expression | Configuration for payment machines statistics logging. Defines how often a statistics about payment machine are generated. |
spm.dumpfile | path to dump file | Path to dump file. | |
spm.timeout.check.cron | 0 * * * * * | cron expression | Defines how often the system try to disconnect timeouted payment machines. (default every minute) |
Performance statistics
key | default value | possible values | description |
statistics.dump.cron.period | 0 */15 * * * * | cron expression | System performance statistics logging. How often a period statistics are performed. |
statistics.dump.cron.total | 0 0 0,12 * * * | cron expression | System performance statistics logging. How often a total statistics are performed. |
License portal setting
key | default value | possible values | description |
com.ysoft.payment.licenseportal.url | https://activate.ysoft.com/lic-act?integrityKey={integrityValue} | URL | Contains URL of portal for an online activation of YSoft Payment System. |
Notification support
key | default value | possible values | description |
notification.send-emails.cron | 0 0/5 * * * ? | cron expression | Cron format interval specify how often emails in YSoft Payment System will be sent (default is every 5 minutes) |
mail.debug | false |
| Debug mode of logs for email sending. |
Javascript localization
key | default value | possible values | description |
javascript.localization.bundleName | js_messages | filename | Javascript has its own localization files. (validation messages, datepicker, select boxes, ...) This property defines bundle name of localization file. |
javascript.localization.bundleName-fix | js_messages_fix | filename | This bundle of localization files contains some internationalization fields like decimal separator or date pattern for a datepicker. The properties of this file are not sent to translation process. |
Database configuration
Main YSoft Payment System database
key | default value | possible values | description |
database.vendor | H2 |
| Database vendor describes the database engine being used MSSQL windows authentication is described in the next section (Domain configuration...) |
database.url | jdbc:h2:mem:clearing;DB_CLOSE_DELAY=-1;MVCC=true | string | Database URL - connection string to the main YSoft Payment System database (dependent on the database engine) |
database.username | sa | string | Database username - username of user used to connect to main YSoft Payment System database |
database.password | string | Database password - password of user used to connect to main YSoft Payment System database |
Domain configuration for main YSoft Payment System MSSQL database
key | default value | possible values | description |
domain.name | string | Domain name - name of Windows domain used to connect to main YSoft Payment System database of vendor MSSQL | |
domain.username | string | Domain username - username of user used to connect to main YSoft Payment System database of vendor MSSQL | |
domain.password | string | Domain password - password of user used to connect to main YSoft Payment System database of vendor MSSQL |
Connection pool
key | default value | possible values | description |
database.transactionTimeout | 5 | number | The number of seconds, which describe the timeout for all transaction based operations. Values around 15 seconds should be still optimal. Values bigger than 30 seconds are not recommended, because of possible database deadlocks. |
database.initialConnectionPoolSize | 1 | number | Initial number of connections in the pool |
database.maxOpenPreparedStatements | 20 | number | Maximum number of open prepared statements per connection. 0 for no limit |
database.maxActiveConnections | 60 | number | The maximum number of active connections that can be allocated at the same time. -1 for no limit |
database.minimumIdleConnections | 0 | number | The minimum number of connections that can remain idle, without extra ones being created. 0 to create none. |
database.maximumIdleConnections | -1 | number | The maximum number of connections that can remain idle, without extra ones being released. -1 for no limit. |
database.timeBetweenEvictionRunsMillis | 60000 | number | The number of milliseconds to sleep between runs of the idle connection cleanup thread. |
database.minEvictableIdleTimeMillis | 60000 | number | The minimum amount of time a connection may sit idle in the pool before it is eligible for eviction. |
Database schema
key | default value | possible values | description |
database.changelog | changelog.xml | liquibase changelog filepath | Mainly it is used for default initialization of database structure and default configuration records . This file can contain also updates of database schema and records. This file has to be according to rules of Liquibase (http://www.liquibase.org/). |
UI/API configuration
General
key | default value | possible values | description |
web.channel | https |
| The channel clients are required to communicate through with any web UI. Including cach desk, custom web and administration web. Note that REST API is still configured via restAPI.channel property. |
Cashdesk UI
key | default value | possible values | description |
cashdesk.cacheResources | true |
| Flag indicating whether cashdesk resources should be cached. (server side resources - html templates, ...) |
cashdesk.applyTheme | false |
| Flag indicating whether to apply custom cashdesk theme, whether to use default cascade styles (css). |
Administration UI
key | default value | possible values | description |
web.cacheResources | true |
| Flag indicating whether administration resources should be cached. (server side resources - html templates, ...) |
web.applyTheme | false |
| Flag indicating whether to apply custom cashdesk theme, whether to use default cascade styles (css). |
REST API
key | default value | possible values | description |
restApi.channel | https |
| The channel clients are required to communicate through the REST API |
Authorization/Authentication
User management
key | default value | possible values | description |
authentication.type | standalone-user-management |
| How to authenticate users, the options are:
|
safeq.authentication.address | tcp://<IP address/hostname>:<port> | Connection details (host and port) of a CML server that serves as a user management system | |
authentication.watchdog.cron | 0 */2 * * * * | cron expression | How often should be user management checked. (2 min default) Indicates that a user management is reachable. In case the user management is unreachable, then new incident is reported. New incident is reported in case the user management is reachable again. |
Sign-on authentication
key | default value | possible values | description |
sign-on.type | form-sign-on |
| Sets method of signing on.
|
sign-on.sso.cutUsernameDomain | true | true / false | if true, username from Windows Integrated Authentication will be stripped of domain (e.g. YSOFT/lehotsky will become lehotsky) |
Payment gateways
Payment gateway availability
key | default value | possible values | description |
payment.gateway.watchdog.cron | 0 */2 * * * * | cron expression | How often check if payment gateway is ok. |
Security
key | default value | possible values | description |
truststore.path | <yps-home>/ps-conf/truststore.jks |
| Name of the Java truststore file to use for encrypted communication. See Configuring Certificates for YSoft Payment System. |
truststore.password | Password to Java truststore specified in truststore.path. See Configuring Certificates for YSoft Payment System. |
Open deposit periodic jobs
key | default value | possible values | description |
pendingDeposits.retry.cron | 0 0/15 * * * * | cron expression | How often should pending deposits be retried. |
pendingDeposits.retry.delayMinutes | 10 | number | How long after the deposit start should PS retry pending deposits. |
openDeposits.expiration.cron | 0 0 0 * * * | cron expression | How often should open deposits be cleaned up. |
Remember me
key | default value | possible values | description |
rememberme.support | remember-me-disabled |
| This property turn on remember me functionality in the application
|
rememberme.expiration | 2592000 | number |
|
rememberme.cookieName | YPS_REMEMBER_ME | string | Name of the remember-me cookie in a client's browser |