Advanced Configuration of YSoft SafeQ Payment System


Overview

The configuration of YSoft SafeQ Payment System can be found in the <payment_home>/ps-conf/environment-configuration.properties file.

Each key-value pair from the tables below represents a separate line in the property file.

Each line starting with a # symbol represents a comment and will be ignored.

The definitions of the 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 the configuration, restart the YSoft SafeQ Payment System service after each change of configuration in the property files.

Always leave the first line of the property file blank or filled with a comment. Otherwise, it might cause problems during the loading of the configuration.

Here is example of property file.

#intentional comment on the first line
key=value
key=0 0 0 * * *
key=some non-ascii characters \u0161\u010D\u0159

General

Proxy Setting

Key

Default Value

Possible Values

Description

general.proxy.host


  • hostname

  • IP address

Proxy host. If not specified, a proxy will not be used.

general.proxy.port


number

If a host is specified, this must not be empty.

general.proxy.username


string

Proxy login name.

general.proxy.password


string

Proxy password. If a login is specified, it must not be empty.

Payment system

Key

Default Value

Possible Values

Description

paymentSystem.type

internal-payment-system

  • internal-payment-system

  • external-payment-system

Indicates where will money be stored:

  • internal-payment-system: PS database

  • external-payment-system: external payment functionality provider

Certificate Watchdog

Key

Default Value

Possible Values

Description

certificate.watchdog.warnDays

120

number

Days to certificate expiration. After this time, the system starts notifying the administrator.

certificate.watchdog.errorDays

30

number

Days to certificate expiration. After this time, the system starts warning the 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 machine statistics logging. Defines how often 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 timed out 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 statistics are generated.

statistics.dump.cron.total

0 0 0,12 * * *

cron expression

System performance statistics logging. How often total statistics are generated.

License Portal Setting

Key

Default Value

Possible Values

Description

com.ysoft.payment.licenseportal.url

https://activate.ysoft.com

lic-act? integrityKey={integrityValue}

URL

Contains the URL of the portal for the online activation of YSoft SafeQ Payment Payment System.

Notification Support

Key

Default Value

Possible Values

Description

notification.send-emails.cron

0 0/5 * * * ?

cron expression

The cron format interval specifies how often emails in YSoft SafeQ Payment System are sent. (default = every five minutes)

mail.debug

false

  • true

  • 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 the bundle name of the localization file.

javascript.localization.bundleName-fix

js_messages_fix

filename

This bundle of localization files contains some internationalization fields like a decimal separator or a date pattern for a datepicker. The properties of this file are not sent to the translation process.

Database Configuration

Main YSoft SafeQ Payment System Database

Key

Default Value

Possible Values

Description

database.vendor

H2

  • PostgreSQL

  • MSSQL

Database vendor describes the database engine being used.

database.url

jdbc:h2:mem:clearing;DB_CLOSE_DELAY=-1;MVCC=true

string

Database URL – connection string to the main YSoft SafeQ Payment System database (dependent on the database engine).

database.username

sa

string

Database username – the username of the user used to connect to the main YSoft SafeQ Payment System database.

database.password


string

Database password – the password of the user used to connect to the main YSoft SafeQ Payment System database.

Domain configuration for main YSoft SafeQ 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 SafeQ Payment System database of vendor MSSQL

domain.username


string

Domain username - username of user used to connect to main YSoft SafeQ Payment System database of vendor MSSQL

domain.password


string

Domain password - password of user used to connect to main YSoft SafeQ Payment System database of vendor MSSQL

Connection Pool

Key

Default Value

Possible Values

Description

database.transactionTimeout

5

number

The number of seconds that describes the timeout for all transaction-based operations. Values around 15 seconds should still be optimal. Values larger 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 the default initialization of a database structure and default configuration records. This file can also contain updates of database schema and records. This file has to be according to the rules of Liquibase (http://www.liquibase.org/).

UI/API Configuration

General

Key

Default Value

Possible Values

Description

web.channel

https

  • http

  • https

  • any

The channel clients are required to communicate through with any web UI, including cash desk, custom web and administration web.

Note that the REST API is still configured via the restAPI.channel property.
WARNING: setting this property to anything other than https bypasses SSL!

Cash Desk UI

Key

Default Value

Possible Values

Description

cashdesk.cacheResources

true

  • true

  • false

Flag indicating whether cash desk resources should be cached. (server side resources – HTML templates, ...)

cashdesk.applyTheme

false

  • true

  • false

Flag indicating whether to apply a custom cash desk theme, whether to use default cascade styles (css).

Administration UI

Key

Default Value

Possible Values

Description

web.cacheResources

true

  • true

  • false

Flag indicating whether administration resources should be cached. (server side resources – HTML templates, ...)

web.applyTheme

false

  • true

  • false

Flag indicating whether to apply a custom cash desk theme, whether to use default cascade styles (css).

REST API

Key

Default Value

Possible Values

Description

restApi.channel

https

  • http

  • https

  • any

The channel clients are required to communicate through the REST API
WARNING: setting this property to anything other than https bypasses SSL!

Authorization/Authentication

User Management

Key

Default Value

Possible Values

Description

authentication.type

safeq-user-management

  • standalone-user-management

  • safeq-user-management

How to authenticate users. The options are:

  • standalone-user-management: a database is queried to authenticate users.

  • safeq-user-management: YSoft SafeQ's authentication service is used to authenticate users.

safeq.authentication.address

tcp://127.0.0.1:5556

tcp://<IP address/hostname>:<port>

Connection details (host and port) of a YSoft SafeQ Site Server (specifically, the Spooler Controller) that serves as a user management system.

If this does not point to 127.0.0.1, please make sure that the YSoft SafeQ configuration property terminalServerListeningAddress doesn't prevent connections from outside the server (as it does by default), and make sure to protect the endpoint with a firewall.

authentication.watchdog.cron

0 */2 * * * *

cron expression

How often user management should be checked. (default = 2 minutes) Indicates that user management is reachable. If user management is unreachable, then a new incident is reported. A new incident is reported if the user management is reachable again.

Sign-on Authentication

Key

Default Value

Possible Values

Description

sign-on.type

form-sign-on

  • form-sign-on

  • sso-sign-on

  • saml-sign-on

Sets method of signing on.

  • sso-sign-on: via Windows Single Sign-On (Windows Integrated Authentication)

  • form-sign-on: via form sign on

  • saml-sign-on: via SAML Single Sign-On server

sign-on.sso.cutUsernameDomain

true

true / false

If true, the username from Windows Integrated Authentication will be stripped of its domain (e.g., EXAMPLE\doe will become doe).

saml.baseUrl

https://localhost:8443

URL

The base part of the URL where YSoft SafeQ Payment System is accessible.

saml.keystore.name



The name of the Java keystore file to use for encrypted communication.

saml.keystore.password



The password for the Java keystore file.

saml.keystore.alias



The alias name of the certificate record in the keystore file.

Payment Gateways

Payment Gateway Availability

Key

Default Value

Possible Values

Description

payment.gateway.watchdog.cron

0 */2 * * * *

cron expression

How often to check if the payment gateway is OK.

Security

Key

Default Value

Possible Values

Description

truststore.path

<payment_home>/ps-conf/truststore.jks

  • relative path to <payment_home>

  • absolute path

The name of the Java truststore file to use for encrypted communication. See Configuring SSL/TLS for YSoft SafeQ Payment System.

truststore.password



The password to Java truststore specified in truststore.path. See Configuring SSL/TLS for YSoft SafeQ Payment System.

Open Deposit Periodic Jobs

Key

Default Value

Possible Values

Description

pendingDeposits.retry.cron

0 0/15 * * * *

cron expression

How often pending deposits should be retried.

pendingDeposits.retry.delayMinutes

10

number

How long after the deposit starts should payment system retry pending deposits.

openDeposits.expiration.cron

0 0 0 * * *

cron expression

How often open deposits should be cleaned up.

Remember Me

Key

Default Value

Possible Values

Description

rememberme.support

remember-me-disabled

  • remember-me-disabled

  • remember-me-cashdesk

This property's turn on remember me functionality in the application
options are:

  • remember-me-disabled – remember me is not enabled.

  • remember-me-cashdesk – enables remember-me for Cash Desk.

rememberme.expiration

2592000

number

  • after this time, the remember-me cookie expires

  • the number of seconds

  • the default is 30 days

rememberme.cookieName

YPS_REMEMBER_ME

string

The name of the remember-me cookie in a client's browser.