Skip to main content
Skip table of contents

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

KeyDefault ValuePossible Values

Description

general.proxy.host


  • hostname
  • IP address
Proxy host. If not specified, a proxy will not be used.

general.proxy.port


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

general.proxy.username


stringProxy login name.

general.proxy.password


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

Payment system

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription
certificate.watchdog.warnDays120numberDays to certificate expiration. After this time, the system starts notifying the administrator.
certificate.watchdog.errorDays30numberDays to certificate expiration. After this time, the system starts warning the administrator.
certificate.watchdog.cron0 0 0 * * *cron expressionInterval in m. How often certificates will be checked. (default = every day)

Payment Machines

KeyDefault ValuePossible ValuesDescription
spm.statistics.dump.cron0 */15 * * * *cron expressionConfiguration for payment machine statistics logging. Defines how often statistics about payment machine are generated.
spm.dumpfile
path to dump filePath to dump file.

spm.timeout.check.cron

0 * * * * *cron expressionDefines how often the system try to disconnect timed out payment machines. (default = every minute)

Performance Statistics

KeyDefault ValuePossible ValuesDescription
statistics.dump.cron.period0 */15 * * * *cron expressionSystem performance statistics logging. How often statistics are generated.
statistics.dump.cron.total0 0 0,12 * * *cron expressionSystem performance statistics logging. How often total statistics are generated.

License Portal Setting

KeyDefault ValuePossible ValuesDescription
com.ysoft.payment.licenseportal.url

https://activate.ysoft.com

lic-act? integrityKey={integrityValue}

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

Notification Support

KeyDefault ValuePossible ValuesDescription
notification.send-emails.cron0 0/5 * * * ?cron expressionThe cron format interval specifies how often emails in YSoft SafeQ Payment System are sent. (default = every five minutes)
mail.debugfalse
  • true
  • false
Debug mode of logs for email sending.

JavaScript Localization

KeyDefault ValuePossible ValuesDescription
javascript.localization.bundleNamejs_messagesfilenameJavaScript has its own localization files. (validation messages, datepicker, select boxes, ...) This property defines the bundle name of the localization file.
javascript.localization.bundleName-fixjs_messages_fixfilenameThis 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

KeyDefault ValuePossible 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=truestringDatabase URL – connection string to the main YSoft SafeQ Payment System database (dependent on the database engine).

database.username

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

database.password


stringDatabase 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

keydefault valuepossible valuesdescription
domain.name
stringDomain name - name of Windows domain used to connect to main YSoft SafeQ Payment System database of vendor MSSQL

domain.username


stringDomain username - username of user used to connect to main YSoft SafeQ Payment System database of vendor MSSQL
domain.password
stringDomain password - password of user used to connect to main YSoft SafeQ Payment System database of vendor MSSQL

Connection Pool

KeyDefault ValuePossible Values

Description

database.transactionTimeout5numberThe 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

1numberInitial number of connections in the pool.

database.maxOpenPreparedStatements

20numberMaximum number of open prepared statements per connection. 0 for no limit.

database.maxActiveConnections

60numberThe maximum number of active connections that can be allocated at the same time. -1 for no limit.

database.minimumIdleConnections

0numberThe minimum number of connections that can remain idle without extra ones being created. 0 to create none.

database.maximumIdleConnections

-1numberThe maximum number of connections that can remain idle without extra ones being released. -1 for no limit.

database.timeBetweenEvictionRunsMillis

60000numberThe number of milliseconds to sleep between runs of the idle connection cleanup thread.

database.minEvictableIdleTimeMillis

60000numberThe minimum amount of time a connection may sit idle in the pool before it is eligible for eviction.

Database Schema

KeyDefault ValuePossible Values

Description

database.changelog

changelog.xmlliquibase changelog filepathMainly, 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

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription
restApi.channelhttps
  • 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

KeyDefault ValuePossible ValuesDescription
authentication.typesafeq-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.cron0 */2 * * * *cron expressionHow 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

KeyDefault ValuePossible ValuesDescription
sign-on.typeform-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.cutUsernameDomaintruetrue / falseIf true, the username from Windows Integrated Authentication will be stripped of its domain (e.g., EXAMPLE\doe will become doe).
saml.baseUrlhttps://localhost:8443URLThe 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

KeyDefault ValuePossible ValuesDescription
payment.gateway.watchdog.cron0 */2 * * * *cron expressionHow often to check if the payment gateway is OK.

Security

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription

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

KeyDefault ValuePossible ValuesDescription

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.expiration2592000number
  • after this time, the remember-me cookie expires
  • the number of seconds
  • the default is 30 days
rememberme.cookieNameYPS_REMEMBER_MEstring

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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.