Docker configuration

Direct mode

The Docker container provided runs Linux and needs to access configuration files which have to be
mounted in the /data directory.

3 files are mandatory, 2 of them are your eIDAS certificates in pfx file
format and the last one is the configuration file for BankingSDK (config.json file).

Config example:

{
"companyKey":"[company key from developer.bankingsdk.com]",
"licenseKey":"[license key from [email protected]]",
"applicationKey":"[application key from developer.bankingsdk.com]",
"clientSecret":"[client secret from developer.bankingsdk.com]",
"tppLegalName":"[YOUR COMPANY NAME]",
"sandbox":true, //true to use sandbox connectors, false to use production
"debug":true, // true to log body of the calls for production (sandbox always logs it)
"defaultBankSettings": 
	{
    "ncaId":"[NCA Id of TPP]",
    "appClientId":"[bank application client Id]",
    "appClientSecret":"[bank application secret]",
    "tlsCertificateName":"[PKCS12 QWAC certificate file name]",
    "tlsCertificatePassword":"[QWAC certificate password]",
    "signingCertificateName":"[PKCS12 QSEAL certificate file name]",
    "signingCertificatePassword":"[QSEAL certificate password]",
    "appApiKey":"[bank application API key]",
    "pemFileUrl":"[URL to public key of QSEAL certificate or to JWKS file (depending on bank)]",
    "signingCertificateKeyId":"[QSEAL certificate key Id]",
    "tlsCertificateKeyId":"[QWAC certificate key Id]"
	}
}

Docker’s API is listening to a web port you have to specify using the PORT environment variable. Typical
value should be 80, 443 or whatever you want to use.

Your can get more details about defaultBankSettings properties here: https://docs.exthand.com/docs/properties
Values specified here are default values applied to all connectors. You can specify specific values through the API calls you'll perform.

The TLS and signing certificates files are expected to be a PKCS12 file containing X509 and key.

Gateway mode

The Docker container provided runs Linux and needs to access configuration files which have to be
mounted in the /data directory.

The config file (config.json) is mandatory and should look like this:

{
"companyKey":"[company key from developer.bankingsdk.com]",
"licenseKey":"[license key from [email protected]]",
"applicationKey":"[application key from developer.bankingsdk.com]",
"clientSecret":"[client secret from developer.bankingsdk.com]",
"tppLegalName":"[YOUR COMPANY NAME]",
"sandbox":false, //in gateway, must be set to false
"debug":true // true to log body of the calls for production (sandbox always logs it)
}

Remove the comment (//...) in your config file

In Gateway Mode, the sandbox must always be set to false. If you want to test, you can use our Mockbank connector. See the sandbox explanation page.

Testing the Docker Container

You can locally run the Docker container using a command line close to this one:

Update the following line with the latest version number

docker run --name testDocker --mount type=bind,src=/PATH_TO_FOLDER_OF_CONFIG.JSON,dst=/data -p 127.0.0.1:5001:80/tcp bankingsdk/bankingsdkdockerapi:**LATEST VERSION**

Once the Docker container runs, to test it, launch a browser to
http://127.0.0.1:5001/health

If you get a message and 200 OK, that's fine.
You can now access the API and the Swagger configuration file.

http://127.0.0.1:5001/swagger/index.html