Our API implements Czech Open Banking standard (COBS) version 3.0 - https://www.czech-ba.cz/cs/aktivity/standardy/cesky-standard-pro-open-banking

Contact

For any question concerning API please contact us via email api@maxbanka.eu.

Not yet implemented

  • consents

Differences from COBS are described in Additional information above specific request.

General information

  • for testing purposes we use test environment,

  • a qualified certificate (QWAC) is required for test and production API access. We recommend qualified certificate from I. Certifikační autorita. Before using certificate you have to verified with us that we have a root certificate that identify your certificate authority (CA).

  • we have to approve TPP registration request (for Test and Production),

  • we will create new users for authorisation testing. We will provide login name and password and you have to provide to us telephone number for authorisation operations,

  • if you need update data for more clients using batch we recommend to use only one thread. If you use more threads the performance of execution can be reduced.

End Points

TEST:
https://api-test.maxbanka.eu
https://api-test.expobank.cz (as of 24 May 2023 will be cancelled)

Example:

https://api-test.maxbanka.eu/accounts
https://api-test.maxbanka.eu/accounts/1111110020/balance
https://api-test.maxbanka.eu/accounts/1111110020/transactions

As of 24 May 2023 will be cancelled:

https://api-test.expobank.cz/accounts
https://api-test.expobank.cz/accounts/1111110020/balance
https://api-test.expobank.cz/accounts/1111110020/transactions

PRODUCTION:
https://api.maxbanka.eu
https://api.expobank.cz (as of 24 May 2023 will be cancelled)

Example:

https://api.maxbanka.eu/accounts
https://api.maxbanka.eu/accounts/1111110020/balance
https://api.maxbanka.eu/accounts/1111110020/transactions

As of 24 May 2023 will be cancelled:

https://api.expobank.cz/accounts
https://api.expobank.cz/accounts/1111110020/balance
https://api.expobank.cz/accounts/1111110020/transactions

TPP Registration and auth. API

Register new TPP

A POST request to register new TPP

Additional information

  • for TPP registration request parameter scopes[] is required

Request fields

Path Type Description

application_type

String

Required, web or native. The type of application that will use the client_id. In the case of the web type, the definition of rediect_uris is required in the format of the web uri in the form http/s scheme. For the native type, in redirect_uris it is possible to enter, e.g. the application package, or the own format.

redirect_uris[]

Array

Required, at least 1, max 3 x 2047. Enumeration of URL where the authentication flow is redirected at the end. The authorization request must contain just one of these registered URIs in the exact format.

client_name

String

Required, max 255. Name of the client application

client_name#en-US

String

Max 1024. Name of the client application in the relevant language/coding.

logo_uri

String

Max 2047. URI of the application logo (or the place from where it may be downloaded on the registration)

contact

String

Max 320. E-mail as a contact to the responsible person on the part of the client application.

scopes[]

Array

Zero or more of aisp, pisp, cisp. The field of applications of required scopes. On the registration, scopes are validated against the content of the certificate used.

Response fields

Path Type Description

application_type

String

Required, web or native. The type of application that will use the client_id. In the case of the web type, the definition of rediect_uris is required in the format of the web uri in the form http/s scheme. For the native type, in redirect_uris it is possible to enter, e.g. the application package, or the own format.

redirect_uris[]

Array

Required, at least 1, max 3 x 2047. Enumeration of URL where the authentication flow is redirected at the end. The authorization request must contain just one of these registered URIs in the exact format.

client_name

String

Required, max 255. Name of the client application

client_name#en-US

String

Max 1024. Name of the client application in the relevant language/coding.

logo_uri

String

Max 2047. URI of the application logo (or the place from where it may be downloaded on the registration)

contact

String

Max 320. E-mail as a contact to the responsible person on the part of the client application.

scopes[]

Array

Zero or more of aisp, pisp, cisp. The field of applications of required scopes. On the registration, scopes are validated against the content of the certificate used.

client_id

String

Max 36. The client_id assigned by the application. This ID starts the authentication process and communication is decoded in the replacement of code and refresh_token.

client_secret

String

Max 64. Client secret - password/token issued by the bank IDP for the TPP application (client_id)

client_secret_expires_at

Number

Default value is 0 (client_id never expires). Otherwise, the value is stated in seconds from data 1970-01-01T0:0:0Z

api_key

String

API key

Example

POST /oauth2/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Content-Length: 258
Host: localhost:8080

{
  "application_type" : "web",
  "redirect_uris" : [ "https://tpp.cz" ],
  "client_name" : "TEST TPP",
  "client_name#en-US" : "TEST TPP english name",
  "logo_uri" : "https://tpp.cz/logo.png",
  "contact" : "admin@tpp.cz",
  "scopes" : [ "aisp", "pisp" ]
}
HTTP/1.1 201 Created
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 518

{
  "application_type" : "web",
  "redirect_uris" : [ "https://tpp.cz" ],
  "client_name" : "TEST TPP",
  "logo_uri" : "https://tpp.cz/logo.png",
  "contact" : "admin@tpp.cz",
  "scopes" : [ "pisp", "aisp" ],
  "client_id" : "17548d7d-8340-4f9b-bd3d-1a356c50e3f5",
  "client_secret" : "MTgaNm0eD3Kr3B47VoOVXjJTocKiGoFKYsgc1ZxDIiJmk65d8bCGnsgf5Ri4HYmP",
  "client_secret_expires_at" : 0,
  "api_key" : "Vn8duOF4ascUR1OfyrQAag0KkNjudfRg2Myf2W0vjoM1isr2HLLDAaItuhO1Poff",
  "client_name#en-US" : "TEST TPP english name"
}

TPP registered data

A GET request to get TPP registered info

Path parameters

Table 1. /oauth2/register/{client_id}
Parameter Description

client_id

client_id

Response fields

Path Type Description

application_type

String

Required, web or native. The type of application that will use the client_id. In the case of the web type, the definition of rediect_uris is required in the format of the web uri in the form http/s scheme. For the native type, in redirect_uris it is possible to enter, e.g. the application package, or the own format.

redirect_uris[]

Array

Required, at least 1, max 3 x 2047. Enumeration of URL where the authentication flow is redirected at the end. The authorization request must contain just one of these registered URIs in the exact format.

client_name

String

Required, max 255. Name of the client application

client_name#en-US

String

Max 1024. Name of the client application in the relevant language/coding.

logo_uri

String

Max 2047. URI of the application logo (or the place from where it may be downloaded on the registration)

contact

String

Max 320. E-mail as a contact to the responsible person on the part of the client application.

scopes[]

Array

Zero or more of aisp, pisp, cisp. The field of applications of required scopes. On the registration, scopes are validated against the content of the certificate used.

client_id

String

Max 36. The client_id assigned by the application. This ID starts the authentication process and communication is decoded in the replacement of code and refresh_token.

client_secret

String

Max 64. Client secret - password/token issued by the bank IDP for the TPP application (client_id)

client_secret_expires_at

Number

Default value is 0 (client_id never expires). Otherwise, the value is stated in seconds from data 1970-01-01T0:0:0Z

api_key

String

API key

Example

GET /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 518

{
  "application_type" : "web",
  "redirect_uris" : [ "https://tpp.cz" ],
  "client_name" : "TEST TPP",
  "logo_uri" : "https://tpp.cz/logo.png",
  "contact" : "admin@tpp.cz",
  "scopes" : [ "pisp", "aisp" ],
  "client_id" : "17548d7d-8340-4f9b-bd3d-1a356c50e3f5",
  "client_secret" : "MTgaNm0eD3Kr3B47VoOVXjJTocKiGoFKYsgc1ZxDIiJmk65d8bCGnsgf5Ri4HYmP",
  "client_secret_expires_at" : 0,
  "api_key" : "Vn8duOF4ascUR1OfyrQAag0KkNjudfRg2Myf2W0vjoM1isr2HLLDAaItuhO1Poff",
  "client_name#en-US" : "TEST TPP english name"
}

Update registered TPP

A PUT request to update registered TPP

To update the information you need to send not only the changed parameters, but also the existing ones.

Path parameters

Table 2. /oauth2/register/{client_id}
Parameter Description

client_id

client_id

Request fields

Path Type Description

application_type

String

Required, web or native. The type of application that will use the client_id. In the case of the web type, the definition of rediect_uris is required in the format of the web uri in the form http/s scheme. For the native type, in redirect_uris it is possible to enter, e.g. the application package, or the own format.

redirect_uris[]

Array

Required, at least 1, max 3 x 2047. Enumeration of URL where the authentication flow is redirected at the end. The authorization request must contain just one of these registered URIs in the exact format.

client_name

String

Required, max 255. Name of the client application

client_name#en-US

String

Max 1024. Name of the client application in the relevant language/coding.

logo_uri

String

Max 2047. URI of the application logo (or the place from where it may be downloaded on the registration)

contact

String

Max 320. E-mail as a contact to the responsible person on the part of the client application.

scopes[]

Array

Zero or more of aisp, pisp, cisp. The field of applications of required scopes. On the registration, scopes are validated against the content of the certificate used.

Response fields

Path Type Description

application_type

String

Required, web or native. The type of application that will use the client_id. In the case of the web type, the definition of rediect_uris is required in the format of the web uri in the form http/s scheme. For the native type, in redirect_uris it is possible to enter, e.g. the application package, or the own format.

redirect_uris[]

Array

Required, at least 1, max 3 x 2047. Enumeration of URL where the authentication flow is redirected at the end. The authorization request must contain just one of these registered URIs in the exact format.

client_name

String

Required, max 255. Name of the client application

client_name#en-US

String

Max 1024. Name of the client application in the relevant language/coding.

logo_uri

String

Max 2047. URI of the application logo (or the place from where it may be downloaded on the registration)

contact

String

Max 320. E-mail as a contact to the responsible person on the part of the client application.

scopes[]

Array

Zero or more of aisp, pisp, cisp. The field of applications of required scopes. On the registration, scopes are validated against the content of the certificate used.

client_id

String

Max 36. The client_id assigned by the application. This ID starts the authentication process and communication is decoded in the replacement of code and refresh_token.

Example

PUT /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Content-Length: 266
Host: localhost:8080

{
  "application_type" : "web",
  "redirect_uris" : [ "https://tpp2.cz" ],
  "client_name" : "TEST TPP 2",
  "client_name#en-US" : "TEST TPP english name 2.",
  "logo_uri" : "https://tpp.cz/logo2.png",
  "contact" : "admin2@tpp.cz",
  "scopes" : [ "aisp", "cisp" ]
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 322

{
  "application_type" : "web",
  "redirect_uris" : [ "https://tpp2.cz" ],
  "client_name" : "TEST TPP 2",
  "logo_uri" : "https://tpp.cz/logo2.png",
  "contact" : "admin2@tpp.cz",
  "scopes" : [ "pisp", "aisp" ],
  "client_id" : "17548d7d-8340-4f9b-bd3d-1a356c50e3f5",
  "client_name#en-US" : "TEST TPP english name 2."
}

Delete registered TPP

A DELETE request to delete registered TPP

Path parameters

Table 3. /oauth2/register/{client_id}
Parameter Description

client_id

client_id

Example

DELETE /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store

Renew Secret

A POST request to renew secret on registered TPP

Path parameters

Table 4. /oauth2/register/{client_id}/renewSecret
Parameter Description

client_id

client_id

Response fields

Path Type Description

client_id

String

Max 36. The client_id assigned by the application. This ID starts the authentication process and communication is decoded in the replacement of code and refresh_token.

client_secret

String

Max 64. Client secret - password/token issued by the bank IDP for the TPP application (client_id)

client_secret_expires_at

Number

Default value is 0 (client_id never expires). Otherwise, the value is stated in seconds from data 1970-01-01T0:0:0Z

Example

POST /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5/renewSecret HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 180

{
  "client_id" : "17548d7d-8340-4f9b-bd3d-1a356c50e3f5",
  "client_secret" : "UihR1qg4bfB0lnFA1uZqQmWtThCjzJfDtD8qEU9V2Upf1CvXQQ33RhjnwNuVn9zK",
  "client_secret_expires_at" : 0
}

Renew API key

A POST request to renew API key on registered TPP

Path parameters

Table 5. /oauth2/register/{client_id}/renewKey
Parameter Description

client_id

client_id

Response fields

Path Type Description

client_id

String

Max 36. The client_id assigned by the application. This ID starts the authentication process and communication is decoded in the replacement of code and refresh_token.

api_key

String

API key

Example

POST /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5/renewKey HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-ClientCert: -----BEGIN CERTIFICATE-----
MIIECTCCAvGgAwIBAgIIZq/pqRBIgNkwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
BhMCQ1oxFzAVBgNVBAgTDkN6ZWNoIFJlcHVibGljMQ8wDQYDVQQHEwZQcmFndWUx
GTAXBgNVBAoTEEV4cG9iYW5rIENaIGEucy4xCzAJBgNVBAsTAklUMRkwFwYDVQQD
ExBFeHBvYmFuayBSb290IENBMB4XDTE5MTIyMDE2MzIwMFoXDTI2MDUyNTA1MDQw
MFowgaoxCzAJBgNVBAYTAkNaMRcwFQYDVQQIEw5DemVjaCBSZXB1YmxpYzEPMA0G
A1UEBxMGUHJhZ3VlMRkwFwYDVQQKExBFeHBvYmFuayBDWiBhLnMuMQswCQYDVQQL
EwJJVDEQMA4GA1UEAxMHbWFpbGtpdDEnMCUGCSqGSIb3DQEJARYYaXRfb3BlcmF0
b3JzQGV4cG9iYW5rLmN6MQ4wDAYDVQQMEwVwb3BpczCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAL3Zmcp7HuX/RGPONU03t55hWXXoFoc1hAGvKKBcsqq4
+Vsk4731+Q/Qqz+FJ71t3eb1vdH/R0fmSYqmnVUQLGdYMa0FygRVtyJYrk2lFGz0
cYm2QPKaZ5ZaBs4kISddv3eoTl6q3Y/4Nmpt3AaFiDhUuVfCqPo2Nzi4YE8+0afw
6o4aAQg7/tpC7oXOpJyX7K2jv/tnwql8ZzVtW2s0K9WAJc64R7XYy0S1HCU38r8M
XunQeK/kIbavL9zjBVHUKUuOl+th6GHPIUHCCL3QnvMDLrY/W/bw+Zji/dfnbEZq
+AqgazkJnB8R8KmxlVWkrN/WDDQhD2lWs1kYp3HRAAsCAwEAAaNiMGAwHQYDVR0O
BBYEFAeVLxjkSNDEIbAzSTu5cGz2mFqeMB8GA1UdIwQYMBaAFFYWKyIL6yB09UI0
HVQZf4RQ+PIqMB4GCWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwDQYJKoZI
hvcNAQELBQADggEBAMA/o80FGAYLqsacjcmfwVysMc7WUSNWFCaAuM0IjvlLzUj1
rw8joh21HaUsR0g9ewrHuK9cXZFhprof0aeNJeH+HAaro+0KOKrAQKBOmhZoMDV6
AOi2VbV8ge37kzOIOiv5pQ3pXAiYUUAx8HUqwwTRS4DLlMiB8i4Xwy6a51AiMfOI
OIls3KcyOUY2b20ufw6LJKYDG80VZd5xWOShu8iG75kCeGir8AQfG4ir+uK7mzlH
CMTxL0c2wFlliFyqfFqKr6J+CVpqGIuD0uPqNAkhT46Vy2P1ioNiMff1RlpbiS9P
NLtuDmHAnyHTBE6NtdAAD0iGLbiLZDGMJVXsfWM=
-----END CERTIFICATE-----
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 140

{
  "client_id" : "17548d7d-8340-4f9b-bd3d-1a356c50e3f5",
  "api_key" : "TTtpeZWxmbkSto5yDiFTvQjarL2YPhuK2Zk9hii3q7kQP7De6Pn6bwvFLrYS7WLa"
}

Add new certificate for TPP

A POST request to add new Certificate

Path parameters

Table 6. /oauth2/register/{client_id}/addCertificate
Parameter Description

client_id

client_id

Request fields

Path Type Description

certificatePem

String

Required, PEM of new certificate

Example

POST /oauth2/register/17548d7d-8340-4f9b-bd3d-1a356c50e3f5/addCertificate HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Content-Length: 1411
Host: localhost:8080

{
  "certificatePem" : "MIIECTCCAvGgAwIBAgIIZq/pqRBIgNkwDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ1oxFzAVBgNVBAgTDkN6ZWNoIFJlcHVibGljMQ8wDQYDVQQHEwZQcmFndWUxGTAXBgNVBAoTEEV4cG9iYW5rIENaIGEucy4xCzAJBgNVBAsTAklUMRkwFwYDVQQDExBFeHBvYmFuayBSb290IENBMB4XDTE5MTIyMDE2MzIwMFoXDTI2MDUyNTA1MDQwMFowgaoxCzAJBgNVBAYTAkNaMRcwFQYDVQQIEw5DemVjaCBSZXB1YmxpYzEPMA0GA1UEBxMGUHJhZ3VlMRkwFwYDVQQKExBFeHBvYmFuayBDWiBhLnMuMQswCQYDVQQLEwJJVDEQMA4GA1UEAxMHbWFpbGtpdDEnMCUGCSqGSIb3DQEJARYYaXRfb3BlcmF0b3JzQGV4cG9iYW5rLmN6MQ4wDAYDVQQMEwVwb3BpczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3Zmcp7HuX/RGPONU03t55hWXXoFoc1hAGvKKBcsqq4+Vsk4731+Q/Qqz+FJ71t3eb1vdH/R0fmSYqmnVUQLGdYMa0FygRVtyJYrk2lFGz0cYm2QPKaZ5ZaBs4kISddv3eoTl6q3Y/4Nmpt3AaFiDhUuVfCqPo2Nzi4YE8+0afw6o4aAQg7/tpC7oXOpJyX7K2jv/tnwql8ZzVtW2s0K9WAJc64R7XYy0S1HCU38r8MXunQeK/kIbavL9zjBVHUKUuOl+th6GHPIUHCCL3QnvMDLrY/W/bw+Zji/dfnbEZq+AqgazkJnB8R8KmxlVWkrN/WDDQhD2lWs1kYp3HRAAsCAwEAAaNiMGAwHQYDVR0OBBYEFAeVLxjkSNDEIbAzSTu5cGz2mFqeMB8GA1UdIwQYMBaAFFYWKyIL6yB09UI0HVQZf4RQ+PIqMB4GCWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwDQYJKoZIhvcNAQELBQADggEBAMA/o80FGAYLqsacjcmfwVysMc7WUSNWFCaAuM0IjvlLzUj1rw8joh21HaUsR0g9ewrHuK9cXZFhprof0aeNJeH+HAaro+0KOKrAQKBOmhZoMDV6AOi2VbV8ge37kzOIOiv5pQ3pXAiYUUAx8HUqwwTRS4DLlMiB8i4Xwy6a51AiMfOIOIls3KcyOUY2b20ufw6LJKYDG80VZd5xWOShu8iG75kCeGir8AQfG4ir+uK7mzlHCMTxL0c2wFlliFyqfFqKr6J+CVpqGIuD0uPqNAkhT46Vy2P1ioNiMff1RlpbiS9PNLtuDmHAnyHTBE6NtdAAD0iGLbiLZDGMJVXsfWM="
}
HTTP/1.1 200 OK
Cache-Control: no-store

Authorization

A GET request to start authorization

Additional information

Request parameters

Parameter Description

response_type

A mandatory parameter. It determines the authentication flow used. In this case, the code grant. For the authentication process it means that as the result of successful identification and authentication, a one-time code is expected instead of the access_token.

client_id

Unique identifier of the TPP application issued by the bank or the bank IDP. E.g., using the resource „0. Initialization/registration resource“

redirect_uri

URL where the authentication flow is directed at the end. The URL is determined on the issue of client_id and within the authentication, the parameter is validated against the URL introduced for client_id in the IDP system of the bank. The value should be identical to one of the values introduced by using the resource „0. Initialization/registration resource“.

scope

It is a field of applications required by the scope (authorization). In the case of PSD2, it may be the roles of aisp and pisp. E.g., if the TPP is the holder of both authorizations, here it may ask for its application one of them or both, see a request example

state

This parameter may enrich the redirect_uri on the redirecting. It serves for the delivery of information from the application through the authentication flow.

Response headers

Name Description

location

redirect url containing error description or code string in case of success

ERROR Example

GET /oauth2/auth?response_type=code&redirect_uri=https%253A%252F%252Ftpp.cz&client_id=17548d7d-8340-4f9b-bd3d-1a356c50e3f5&scope=aisp&state=nejaky_state&redirect_uri=https%3A%2F%2Ftpp.cz HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 400 Bad Request
Cache-Control: no-store
Content-Type: application/json
Content-Length: 53

unauthorized_client - TPP client_id is not authorized

OK Example

GET /oauth2/auth?response_type=code&redirect_uri=https%253A%252F%252Ftpp.cz&client_id=17548d7d-8340-4f9b-bd3d-1a356c50e3f5&scope=aisp&state=nejaky_state&redirect_uri=https%3A%2F%2Ftpp.cz HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Language: cs

Obtain a Token

A POST request to obtain a Token

Request parameters

Parameter Description

grant_type

'authorization_code'

client_id

ID of TPP application

redirect_uri

PSD2 - Redirect URL identical to the URL delivered in the authentication request.

client_secret

Client secret - password/token issued by the bank IDP for the TPP application (client_id)

code

The authorization code returned from the authentication flow (code grant).

Request example

POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080

grant_type=authorization_code&code=WJ5PYTM2N5FZU42JXRBQBBZ8KJGAJXMXR3S2HJD1949KUJ3IURRXH2NB4LAI77FR&client_id=068020f6-4631-4705-aae8-3ee6e9fb844b&client_secret=mUImYrCCxKupQ2Bs9NoF1gt5gNwqLu9IDjV0cfsF0lEGNO8qbwDs8a3BRXxYbjhS&redirect_uri=https%3A%2F%2Ftpp2.cz

Response - ERROR

Path Type Description

error

String

Error code

error_description

String

Error description

HTTP/1.1 401 Unauthorized
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 31

{
  "error" : "ACCESS_DENIED"
}

Response - OK

Path Type Description

access_token

String

A short-term (in some cases, a one-time) token that may be generated again using the refresh_token. The token serves for the authorization of the request at API.

expires_in

Number

A time left before the expiration of access_token - in seconds.

token_type

String

A token type, e.g., “Bearer”

acr

String

Verification level. It may have the values between 0 and 4. Default 3. The value „0“ corresponds to nonSCA.

refresh_token

String

refresh_token A long-term token issued based on replacement by the one-time code.

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 968

{
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI5MWI2ZWM1OC05YWJjLTRiNjYtYmQwZi0wMmZiYTFiM2Q1YTQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjk0MSwiZXhwIjoxNjkyMDIwNTQxfQ.W8kdKDz9DVfeZ-ndofBMgLSKHVMXvoXR0oP7ESVdyJw",
  "refresh_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzNzZlNmE5Ny1kYmMzLTQzOTEtYmQ2OS1kZGNhNWY1MjQzNjQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjk0MSwiZXhwIjoxNzA3NTcyNTQxfQ.eoBIiacMZ3ErVbGcaxOElKzCU8sw5cakQkaPlQ2RZJM",
  "expires_in" : 3600,
  "token_type" : "Bearer",
  "acr" : "3"
}

Token refresh

A POST request to obtain a new access token from refresh token

Request parameters

Parameter Description

grant_type

'refresh_token'

client_id

ID of TPP application

refresh_token

Valid refresh_token for which the replacement is carried out, e.g. be9eef9b0af42c674d0b1c1128c37c2g

Response fields

Path Type Description

access_token

String

A short-term (in some cases, a one-time) token that may be generated again using the refresh_token. The token serves for the authorization of the request at API.

expires_in

Number

A time left before the expiration of access_token - in seconds.

token_type

String

A token type, e.g., “Bearer”

acr

String

Verification level. It may have the values between 0 and 4. Default 3. The value „0“ corresponds to nonSCA.

Example

POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: application/json
Accept-Language: cs
Host: localhost:8080

grant_type=refresh_token&client_id=17548d7d-8340-4f9b-bd3d-1a356c50e3f5&refresh_token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6IjY0MThkMTMzLTQ1ZTMtNGUxNC04ZDQ5LWM5MDQxZmQ3M2Q1OCIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjEyOTQ4NiwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIxNzU0OGQ3ZC04MzQwLTRmOWItYmQzZC0xYTM1NmM1MGUzZjUiLCJzY29wZXMiOlsicGlzcCIsImFpc3AiXSwiaWF0IjoxNjkyMDE2MTI1LCJleHAiOjE3MDc1NzE3MjV9.oH0Vpwre3GVObVNvEQNXCNXTwbwGqlIunO4mkDpolHs
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 495

{
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImJiYjQ2MDkxLWJmZDQtNDcwYS05MjdkLTEyZGZkNWNlNzQwNiIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjEyOTQ4NiwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIxNzU0OGQ3ZC04MzQwLTRmOWItYmQzZC0xYTM1NmM1MGUzZjUiLCJzY29wZXMiOlsicGlzcCIsImFpc3AiXSwiaWF0IjoxNjkyMDE2MTMwLCJleHAiOjE2OTIwMTk3MzB9.aZYEj210U1dE10iBE6kI_aHGdXIstItHp2w7ohtmn34",
  "expires_in" : 3600,
  "token_type" : "Bearer",
  "acr" : "3"
}

Token revoke

A POST request to revoke access or refresh token

Request parameters

Parameter Description

token

OAuth2 access or refresh token acquired based on the authentication process after the replacement by code or refresh token (in the case of access_token)

Example

POST /oauth2/revoke HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImJiYjQ2MDkxLWJmZDQtNDcwYS05MjdkLTEyZGZkNWNlNzQwNiIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjEyOTQ4NiwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIxNzU0OGQ3ZC04MzQwLTRmOWItYmQzZC0xYTM1NmM1MGUzZjUiLCJzY29wZXMiOlsicGlzcCIsImFpc3AiXSwiaWF0IjoxNjkyMDE2MTMwLCJleHAiOjE2OTIwMTk3MzB9.aZYEj210U1dE10iBE6kI_aHGdXIstItHp2w7ohtmn34
Accept: application/json
Accept-Language: cs
Host: localhost:8080

token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImJiYjQ2MDkxLWJmZDQtNDcwYS05MjdkLTEyZGZkNWNlNzQwNiIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjEyOTQ4NiwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIxNzU0OGQ3ZC04MzQwLTRmOWItYmQzZC0xYTM1NmM1MGUzZjUiLCJzY29wZXMiOlsicGlzcCIsImFpc3AiXSwiaWF0IjoxNjkyMDE2MTMwLCJleHAiOjE2OTIwMTk3MzB9.aZYEj210U1dE10iBE6kI_aHGdXIstItHp2w7ohtmn34
HTTP/1.1 200 OK
Cache-Control: no-store

AISP & PISP Headers

Differences from COBS standard

  • API-key is required. While API-key is in COBS optional parameter, we use it as another security element, that can be repeatedly renewed by registered TPP.

Request Headers

Name Description

Accept-Language

language of the request, optional.

Content-Type

Specification of required transfer format. From the precondition of technical specification of this API standard, in this case, application/json format is primarily supported.

Authorization

The parameter is used to pass an access token of the authenticated user together with its type.

API-key

A required string issued to a communicating third party as the call identifier of that party primarily serving as a communication configuration element.

Accept

Max50Text No The Accept request HTTP header specifies which content types, expressed as MIME types, the client is able to understand.

+Accept-Language +

Max50Text No The Accept-Language request HTTP header specifies which languages the client is able to understand, and which locale variant is preferred. If no Accept-Language: is given, local country language is assumed. For example: Accept-Language: * Accept-Language: en-US, en;q=0.8

Content-Length

Number No The Content-Length entity-header field indicates the size of the entity-body, in decimal bytes, sent to the recipient.

Transfer-Encoding

Text Conditional The Transfer-Encoding general-header field specifies the form of encoding used to safely transfer the request payload to the ASPSP and back to TPP.

+User-IP-Address +

Max50Text No Identifies the API’s end-user IP address. The TPP should fill this value if the IP address can be detected. The address can be in IPv4 or IPv6 format.

User-IP-Port

Max40Text No An element used to pass on information about what end-user IP port is using.

User-Device-OS

Max100Text No The element is used to forward information about the end user operating system used.

+User-User-Agent +

Max200Text No Contains information about the end-user web browser. The format should be the same as the standard HTTP parameter User-Agent.

User-Timestamp

DateTime No Local time on PSU device.

+User-Geo-Location +

Max100Text No End-user GPS coordinates (if the coordinates can be reliably detected). Required format: GEO:Latitude;Longitude Based on [RFC2426] in signed degrees format (DDD.dddd) example: GEO:50.089354;14.400031

User-Device-ID

Text No It contains a unique identifier of end user equipment, if available. For example, a unique mobile device identifier (IMEI).

TPP-Name

The name of the original TPP that created the request. Eg. ‘Star corporation, a.s.’

TPP-Identification

The identification (licence number) of the original TPP that created the request. Eg. ‘CZ013574-15’

X-Request-ID

Max60Text Yes Unique identifier for each request specified by TPP. It is recommended to use a UUID format with a length of 36 to 60 characters.

Date

DateTime Yes Each request of a transaction contains the date and time at which the message was originated. In timestamp format.

+Action-ID +

Max60Text No IDs that identify the technical or business process within the call of each API request. For example, it can be used to identify the process of retrieving a transaction history that is provided as a paged response available through multiple requests.

User-Involved

Boolean Yes The flag identifies if the end user is online and the request was made based on his activity.

TPP-Name

Text Yes The name of the original TPP that created the request. Eg. ‘Star corporation, a.s.’.

TPP-Identification

Text No The identification (licence number) of the original TPP that created the request. Eg. ‘CZ013574-15’.

+Signature +

Text Conditional If the TPP signs the request, it contains a digital signature.

Digest

Text Conditional When an TPP includes a signature he also must include a 'Digest' header as defined in [RFC3230].

TPP-Signature-Certificate

Text Conditional The public TPP certificate used for signing the request, In base64 encoding (with the "BEGIN CERTIFICATE" and "END CERTIFICATE" markers).

Response Headers

Name Description

Content-Type

Specification of required transfer format. From the precondition of technical specification of this API standard, in this case, application/json format is primarily supported.

X-Request-ID

Max60Text Yes Unique identifier for each request specified by TPP. It is recommended to use a UUID format with a length of 36 to 60 characters.

Action-ID

Max60Text No IDs that identify the technical or business process within the call of each API request. For example, it can be used to identify the process of retrieving a transaction history that is provided as a paged response available through multiple requests.

AISP API

Account list

A GET request to get a list of accounts of a user

Additional information

  • element “nameI18N” contains name of the account named by user in internet banking. When the account name is not set the element “nameI18N” is not returned.

Request parameters

Parameter Description

page

Optional. It defines the required page number. Pages are numbered from 0. If the parameter is not specified, the API returns the first (zero) page.

size

Optional. It defines the required number of records on the page. If the parameter is not specified, the API returns the entire set.

sort

Optional. It defines a list of fields for sorting. The individual fields in the list are separated by a comma

order

Optional. It defines the sorting direction for each field listed in the sort parameter. Possible values are: - asc for ascending sorting, - desc for descending sorting. The individual sorting directions are separated by commas precisely as the field names in the sort parameter and are listed in the same order as the fields listed in the sort parameter.

Response fields

Path Type Description

pageNumber

Number

Number of current page

pageCount

Number

Total number of query pages

nextPage

Number

The number of the next page. If the current page is at the same time the last page of the list, then this parameter is not listed or is given with a null value.

pageSize

Number

Number of entries per page. This parameter can match the required size value from the query, except for the cases when it is the last page, or when the requested page range exceeded the maximum limit defined for the particular API resource.

totalCount

Number

Optional data about the total number of entries for all pages. If this value cannot be precisely determined, it is not stated.

accounts[].id

String

API Payment account identifier

accounts[].identification.iban

String

IBAN

accounts[].identification.other

String

Account number

accounts[].currency

String

Payer’s account currency

accounts[].servicer.bankCode

String

Bank code

accounts[].servicer.countryCode

String

Country code of the bank

accounts[].servicer.bic

String

BIC of the bank

accounts[].nameI18N

String

Account name

accounts[].productI18N

String

Product name

accounts[].ownersNames[]

Array

Owner names

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example #1
GET /accounts HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:38 CEST
X-Request-ID: ce444919-efe9-4657-8d54-1fa19e1c4793
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzODFiMTM2ZS1lNDkzLTQ5MTktYWQwNC03NGE5YTIzY2VlZDIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjUzMywiZXhwIjoxNjkyMDIwMTMzfQ.Kxy1QXSd4oGy-QEH-RXuFXab_-ywsXTsOE963Qqo--8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: ce444919-efe9-4657-8d54-1fa19e1c4793
Content-Length: 1240

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 3,
  "accounts" : [ {
    "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
    "identification" : {
      "iban" : "CZ9640000000007255060015",
      "other" : "7255060015"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "0A580141-DEC4-4DBC-84A2-E86578E77B84",
    "identification" : {
      "iban" : "CZ7440000000007255060023",
      "other" : "7255060023"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Neo Účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "339382F0-2608-4E08-B9A6-4A28D1960790",
    "identification" : {
      "iban" : "CZ2140000000007255060007",
      "other" : "7255060007"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "nameI18N" : "My main current account",
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  } ]
}
Example #2 - sort currency
GET /accounts?sort=currency&order=asc HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:38 CEST
X-Request-ID: 0abfdcae-e40a-4529-b49c-b898e42acc0b
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzODFiMTM2ZS1lNDkzLTQ5MTktYWQwNC03NGE5YTIzY2VlZDIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjUzMywiZXhwIjoxNjkyMDIwMTMzfQ.Kxy1QXSd4oGy-QEH-RXuFXab_-ywsXTsOE963Qqo--8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 0abfdcae-e40a-4529-b49c-b898e42acc0b
Content-Length: 1240

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 3,
  "accounts" : [ {
    "id" : "0A580141-DEC4-4DBC-84A2-E86578E77B84",
    "identification" : {
      "iban" : "CZ7440000000007255060023",
      "other" : "7255060023"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Neo Účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "339382F0-2608-4E08-B9A6-4A28D1960790",
    "identification" : {
      "iban" : "CZ2140000000007255060007",
      "other" : "7255060007"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "nameI18N" : "My main current account",
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
    "identification" : {
      "iban" : "CZ9640000000007255060015",
      "other" : "7255060015"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  } ]
}
Example #1 - sort currency desc, identification.other asc
GET /accounts?sort=currency%252Cidentification.other&order=desc%252Casc&sort=currency%2Cidentification.other&order=desc%2Casc HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:39 CEST
X-Request-ID: eb34701e-6902-4b6b-a4bd-6cc0e4c303bd
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzODFiMTM2ZS1lNDkzLTQ5MTktYWQwNC03NGE5YTIzY2VlZDIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjUzMywiZXhwIjoxNjkyMDIwMTMzfQ.Kxy1QXSd4oGy-QEH-RXuFXab_-ywsXTsOE963Qqo--8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: eb34701e-6902-4b6b-a4bd-6cc0e4c303bd
Content-Length: 1240

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 3,
  "accounts" : [ {
    "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
    "identification" : {
      "iban" : "CZ9640000000007255060015",
      "other" : "7255060015"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "339382F0-2608-4E08-B9A6-4A28D1960790",
    "identification" : {
      "iban" : "CZ2140000000007255060007",
      "other" : "7255060007"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "nameI18N" : "My main current account",
    "productI18N" : "Zaměstnanecký účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "0A580141-DEC4-4DBC-84A2-E86578E77B84",
    "identification" : {
      "iban" : "CZ7440000000007255060023",
      "other" : "7255060023"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "4000",
      "countryCode" : "CZ",
      "bic" : "EXPNCZPP"
    },
    "productI18N" : "Neo Účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  } ]
}

Account balance

A GET request to get an account balance

Additional information

  • TOTAL_AVAILABLE_BALANCE = available balance (including overdraft and blocked transactions)

  • CURRENT_BALANCE = clear balance without overdraft and blocked transactions,

  • OPENING_BALANCE = current balance from end of the last banking day.

Path parameters

Table 7. /accounts/{id}/balance
Parameter Description

id

Requested account id

Response fields

Path Type Description

balances[].type.codeOrProprietary.code

String

Indicates the type of balance to which the balance information relates

balances[].creditLine.included

Boolean

True if any credit line is included in an account

balances[].creditLine.amount.value

Number

Credit line amount

balances[].creditLine.amount.currency

String

Credit line currency

balances[].amount.value

Number

Account total available balance

balances[].amount.currency

String

Balance (account) currency

balances[].creditDebitIndicator

String

One of DBIT, CRDT

balances[].date.dateTime

String

Date or date and time of the balance according to ISO 8601

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /accounts/339382F0-2608-4E08-B9A6-4A28D1960790/balance HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:42 CEST
X-Request-ID: 1156d82e-40db-436e-ae65-3b1e45176991
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzODFiMTM2ZS1lNDkzLTQ5MTktYWQwNC03NGE5YTIzY2VlZDIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjUzMywiZXhwIjoxNjkyMDIwMTMzfQ.Kxy1QXSd4oGy-QEH-RXuFXab_-ywsXTsOE963Qqo--8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 1156d82e-40db-436e-ae65-3b1e45176991
Content-Length: 872

{
  "balances" : [ {
    "type" : {
      "codeOrProprietary" : {
        "code" : "TOTAL_AVAILABLE_BALANCE"
      }
    },
    "amount" : {
      "value" : 51528.06,
      "currency" : "CZK"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2023-08-14T12:35:42.999Z"
    }
  }, {
    "type" : {
      "codeOrProprietary" : {
        "code" : "CURRENT_BALANCE"
      }
    },
    "amount" : {
      "value" : 52528.06,
      "currency" : "CZK"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2023-08-14T12:35:42.999Z"
    }
  }, {
    "type" : {
      "codeOrProprietary" : {
        "code" : "OPENING_BALANCE"
      }
    },
    "amount" : {
      "value" : 52530.06,
      "currency" : "CZK"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2023-08-13T22:00:00.000Z"
    }
  } ]
}

Account transactions

A GET request to get account transactions

Additional information

  • if you use request without sort parameter, you cannot use paging. In this case transactions are sorted by processing order and response is faster.

  • when parameter “fromDate” or “toDate” is inccorect the nearest date will be used,

Path parameters

Table 8. /accounts/{id}/transactions
Parameter Description

id

Requested account id

Request parameters

Parameter Description

page

Optional. It defines the required page number. Pages are numbered from 0. If the parameter is not specified, the API returns the first (zero) page.

size

Optional. It defines the required number of records on the page. If the parameter is not specified, the API returns the entire set.

sort

Optional. It defines a list of fields for sorting. The individual fields in the list are separated by a comma

order

Optional. It defines the sorting direction for each field listed in the sort parameter. Possible values are: - asc for ascending sorting, - desc for descending sorting. The individual sorting directions are separated by commas precisely as the field names in the sort parameter and are listed in the same order as the fields listed in the sort parameter.

fromDate

Optional. Date and time of the start of required transaction history. According to ISO 8601.

toDate

Optional.Date and time of the end of required transaction history [inclusive]. According to ISO 8601.

Response fields

Path Type Description

pageNumber

Number

Number of current page

pageCount

Number

Total number of query pages

nextPage

Number

The number of the next page. If the current page is at the same time the last page of the list, then this parameter is not listed or is given with a null value.

pageSize

Number

Number of entries per page. This parameter can match the required size value from the query, except for the cases when it is the last page, or when the requested page range exceeded the maximum limit defined for the particular API resource.

totalCount

Number

Optional data about the total number of entries for all pages. If this value cannot be precisely determined, it is not stated.

transactions[].entryReference

String

Identification no. of the payment assigned by the bank.

transactions[].amount.value

Number

Payment amount in the account currency for which payment history is generated.

transactions[].amount.currency

String

Account currency.

transactions[].creditDebitIndicator

String

Indication of whether it is a debit payment or credit payment of the account. An expression of whether it is a debit or credit payment is marked with one of the codes. DBIT: to the debit of, CRDT: In other cases

transactions[].reversalIndicator

Boolean

Indication of whether it is a cancellation. An expression of whether it is a cancellation or not is marked with one of the codes. true: It is cancellation, false: It is not cancellation

transactions[].status

String

Item status (debited or credited payments) of the account from the point of view of the bank. The statement will present only posted items, with the constant BOOK, or blocked items, with the constant PDNG.

transactions[].bookingDate.date

String

Date of processing/posting of payment by bank in the format ISODate, or ISODateTime, i.e. YYYY-MM-DD, or YYYY-MM-DDThh:mm:ss.sTZD.

transactions[].valueDate.date

String

Due date/payment foreign currency in the format ISODate, i.e. YYYY-MM-DD

transactions[].bankTransactionCode.proprietary.code

Number

The code of banking transaction according to the code list of the Czech Banking Association assigned to a specific payment based on the 1st to 3rd level of transaction code list according to the CBA Standard for camt.053.

transactions[].bankTransactionCode.proprietary.issuer

String

Identification of the code list issuer for banking transactions which acquires the value of the CBA (CBA constant).

transactions[].entryDetails.transactionDetails.references.messageIdentification

String

Assumed payment identification entered by the client on its initiation or order of the payment in the payment history.

transactions[].entryDetails.transactionDetails.references.accountServicerReference

String

A banking reference assigned to the payment, e.g., on initiation through direct banking services.

transactions[].entryDetails.transactionDetails.references.paymentInformationIdentification

String

Specific symbol, for card payments, the internal card number

transactions[].entryDetails.transactionDetails.references.mandateIdentification

String

Constant symbol

transactions[].entryDetails.transactionDetails.references.endToEndIdentification

String

Variable symbol for domestic payments, SEPA reference for SEPA payments

transactions[].entryDetails.transactionDetails.references.chequeNumber

String

For card transactions there is a card number with asterisks. The card no. is each time in the format xxxxxxxxxxxx1234.

transactions[].entryDetails.transactionDetails.amountDetails.instructedAmount.amount.value

Number

The original amount and currency of payment that was required by the client for transfer.

transactions[].entryDetails.transactionDetails.amountDetails.instructedAmount.amount.currency

String

Currency

transactions[].entryDetails.transactionDetails.amountDetails.counterValueAmount.amount.value

Number

The amount and currency of payment in the client account currency after conversion of amount that was required by the client for transfer.

transactions[].entryDetails.transactionDetails.amountDetails.counterValueAmount.amount.currency

String

Currency

transactions[].entryDetails.transactionDetails.amountDetails.counterValueAmount.currencyExchange.sourceCurrency

String

Client account currency (source/original currency/payer account currency for conversion payments).

transactions[].entryDetails.transactionDetails.amountDetails.counterValueAmount.currencyExchange.targetCurrency

String

Payment currency

transactions[].entryDetails.transactionDetails.amountDetails.counterValueAmount.currencyExchange.exchangeRate

Number

The exchange rate used to charge a payment.

transactions[].entryDetails.transactionDetails.charges.bearer

String

Indication of that payments will be charged to his debit; DEBT - all fees were paid by the payer, CRED – all fees were paid by the payee, SHAR – the fees are divided between the payer and the payee

transactions[].entryDetails.transactionDetails.relatedParties.debtor.name

String

The name of the payer. It is according to the payment direction, and filled in in the case of counterparty.

transactions[].entryDetails.transactionDetails.relatedParties.debtor.postalAddress.addressLine[]

String

Unstructured record of the payer’s postal address, up to 2 lines.

transactions[].entryDetails.transactionDetails.relatedParties.debtorAccount.identification.iban

String

Payer account no. in the international format of IBAN account no. It is accoring to he payment direction, and filled in in the case of counterparty

transactions[].entryDetails.transactionDetails.relatedParties.debtorAccount.identification.other.identification

String

The value of payer account no. in other/local format of account no.

transactions[].entryDetails.transactionDetails.relatedParties.creditor.name

String

Name of the payee. It is according to the payment direction, and filled in in the case of counterparty.

transactions[].entryDetails.transactionDetails.relatedParties.creditor.postalAddress.addressLine[]

String

Unstructured record of the payee’s postal address, up to 2 lines.

transactions[].entryDetails.transactionDetails.relatedParties.creditorAccount.identification.iban

String

Payee account no. in the international format of IBAN account no. It is according to the payment direction, and filled in in the case of counterparty.

transactions[].entryDetails.transactionDetails.relatedParties.creditorAccount.identification.other.identification

String

The value of payee’s account no. in other/local format of account no.

transactions[].entryDetails.transactionDetails.relatedAgents.debtorAgent.financialInstitutionIdentification.bic

String

BIC / SWIFT payer’s bank code. It is according to the payment direction, and filled in in the case of counterparty.

transactions[].entryDetails.transactionDetails.relatedAgents.debtorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

The value of payer’s bank code in local format.

transactions[].entryDetails.transactionDetails.relatedAgents.creditorAgent.financialInstitutionIdentification.bic

String

BIC / SWIFT payee’s bank code. It is according to the payment direction, and filled in in the case of counterparty.

transactions[].entryDetails.transactionDetails.relatedAgents.creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

The value of payee’s bank code in local format.

transactions[].entryDetails.transactionDetails.purpose.proprietary

String

Účel platby

transactions[].entryDetails.transactionDetails.remittanceInformation.unstructured

String

Message for payee (comment)

transactions[].entryDetails.transactionDetails.remittanceInformation.structured.creditorReferenceInformation.reference[]

Array

["VS:varSymb","KS:constSymb","SS:specSymb"]

transactions[].entryDetails.transactionDetails.additionalTransactionInformation

String

Text description of the transaction type.

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /accounts/339382F0-2608-4E08-B9A6-4A28D1960790/transactions?fromDate=2023-02-14&page=0&size=10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:29 CEST
X-Request-ID: 52fd7a3c-bf94-4586-8740-efd77f771979
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJlZDZlYTdhMi0zZGNmLTRkNmUtOTU2ZC0xODA2YWQ5YmMxYWUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjUyNCwiZXhwIjoxNjkyMDIwMTI0fQ.OH3J_mk6cA--OmUg6aa1QmPwsLhVuAnVS7my3LPS6Kg
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 52fd7a3c-bf94-4586-8740-efd77f771979
Content-Length: 4456

{
  "pageNumber" : 0,
  "pageSize" : 10,
  "transactions" : [ {
    "entryReference" : "001D11F231840002-TIBD004968395",
    "amount" : {
      "value" : 1.0,
      "currency" : "CZK"
    },
    "creditDebitIndicator" : "DBIT",
    "reversalIndicator" : false,
    "status" : "BOOK",
    "bookingDate" : {
      "date" : "2023-07-03"
    },
    "valueDate" : {
      "date" : "2023-07-03"
    },
    "bankTransactionCode" : {
      "proprietary" : {
        "code" : 10000101000,
        "issuer" : "CBA"
      }
    },
    "entryDetails" : {
      "transactionDetails" : {
        "references" : {
          "messageIdentification" : "TIBD004968395",
          "accountServicerReference" : "001D11F231840002",
          "endToEndIdentification" : "2222222222",
          "paymentInformationIdentification" : "111111",
          "mandateIdentification" : "3390"
        },
        "amountDetails" : {
          "instructedAmount" : {
            "amount" : {
              "value" : 1.0,
              "currency" : "CZK"
            }
          },
          "counterValueAmount" : {
            "amount" : {
              "value" : 1.0,
              "currency" : "CZK"
            },
            "currencyExchange" : {
              "sourceCurrency" : "CZK",
              "targetCurrency" : "CZK"
            }
          }
        },
        "relatedParties" : {
          "creditor" : {
            "name" : "Nekdo"
          },
          "creditorAccount" : {
            "identification" : {
              "other" : {
                "identification" : "670100-2207248272"
              }
            }
          }
        },
        "relatedAgents" : {
          "creditorAgent" : {
            "financialInstitutionIdentification" : {
              "clearingSystemMemberIdentification" : {
                "memberIdentification" : "6210"
              }
            }
          }
        },
        "remittanceInformation" : {
          "unstructured" : "Posilam penize",
          "structured" : {
            "creditorReferenceInformation" : {
              "reference" : [ "VS:2222222222", "KS:3390", "SS:111111" ]
            }
          }
        },
        "additionalTransactionInformation" : "Tuzemská platba elektronicky"
      }
    }
  }, {
    "entryReference" : "001D11F231840001-TIBD004968394",
    "amount" : {
      "value" : 1.0,
      "currency" : "CZK"
    },
    "creditDebitIndicator" : "DBIT",
    "reversalIndicator" : false,
    "status" : "BOOK",
    "bookingDate" : {
      "date" : "2023-07-03"
    },
    "valueDate" : {
      "date" : "2023-07-03"
    },
    "bankTransactionCode" : {
      "proprietary" : {
        "code" : 10000101000,
        "issuer" : "CBA"
      }
    },
    "entryDetails" : {
      "transactionDetails" : {
        "references" : {
          "messageIdentification" : "TIBD004968394",
          "accountServicerReference" : "001D11F231840001",
          "endToEndIdentification" : "2222222222",
          "paymentInformationIdentification" : "111111",
          "mandateIdentification" : "3390"
        },
        "amountDetails" : {
          "instructedAmount" : {
            "amount" : {
              "value" : 1.0,
              "currency" : "CZK"
            }
          },
          "counterValueAmount" : {
            "amount" : {
              "value" : 1.0,
              "currency" : "CZK"
            },
            "currencyExchange" : {
              "sourceCurrency" : "CZK",
              "targetCurrency" : "CZK"
            }
          }
        },
        "relatedParties" : {
          "creditor" : {
            "name" : "Nekdo"
          },
          "creditorAccount" : {
            "identification" : {
              "other" : {
                "identification" : "670100-2207248272"
              }
            }
          }
        },
        "relatedAgents" : {
          "creditorAgent" : {
            "financialInstitutionIdentification" : {
              "clearingSystemMemberIdentification" : {
                "memberIdentification" : "6210"
              }
            }
          }
        },
        "remittanceInformation" : {
          "unstructured" : "Posilam penize",
          "structured" : {
            "creditorReferenceInformation" : {
              "reference" : [ "VS:2222222222", "KS:3390", "SS:111111" ]
            }
          }
        },
        "additionalTransactionInformation" : "Tuzemská platba elektronicky"
      }
    }
  } ]
}

Standing orders

A GET request to get standing orders

Path parameters

Parameter Description

page

Optional. It defines the required page number. Pages are numbered from 0. If the parameter is not specified, the API returns the first (zero) page.

size

Optional. It defines the required number of records on the page. If the parameter is not specified, the API returns the entire set.

sort

Optional. It defines a list of fields for sorting. The individual fields in the list are separated by a comma

order

Optional. It defines the sorting direction for each field listed in the sort parameter. Possible values are: - asc for ascending sorting, - desc for descending sorting. The individual sorting directions are separated by commas precisely as the field names in the sort parameter and are listed in the same order as the fields listed in the sort parameter.

Sorting

Sorting is possible by any parameter. Inner params defines by dots. Examples:

  • Sort by amount value: amount.instructedAmount.value

  • Sort by transaction identification: standingOrderIdentification.transactionIdentification

Possible order params: asc and desc

Request headers

Name Description

Accept-Language

language of the request, optional.

Content-Type

Specification of required transfer format. From the precondition of technical specification of this API standard, in this case, application/json format is primarily supported.

Authorization

The parameter is used to pass an access token of the authenticated user together with its type.

API-key

A required string issued to a communicating third party as the call identifier of that party primarily serving as a communication configuration element.

Accept

Max50Text No The Accept request HTTP header specifies which content types, expressed as MIME types, the client is able to understand.

+Accept-Language +

Max50Text No The Accept-Language request HTTP header specifies which languages the client is able to understand, and which locale variant is preferred. If no Accept-Language: is given, local country language is assumed. For example: Accept-Language: * Accept-Language: en-US, en;q=0.8

Content-Length

Number No The Content-Length entity-header field indicates the size of the entity-body, in decimal bytes, sent to the recipient.

Transfer-Encoding

Text Conditional The Transfer-Encoding general-header field specifies the form of encoding used to safely transfer the request payload to the ASPSP and back to TPP.

+User-IP-Address +

Max50Text No Identifies the API’s end-user IP address. The TPP should fill this value if the IP address can be detected. The address can be in IPv4 or IPv6 format.

User-IP-Port

Max40Text No An element used to pass on information about what end-user IP port is using.

User-Device-OS

Max100Text No The element is used to forward information about the end user operating system used.

+User-User-Agent +

Max200Text No Contains information about the end-user web browser. The format should be the same as the standard HTTP parameter User-Agent.

User-Timestamp

DateTime No Local time on PSU device.

+User-Geo-Location +

Max100Text No End-user GPS coordinates (if the coordinates can be reliably detected). Required format: GEO:Latitude;Longitude Based on [RFC2426] in signed degrees format (DDD.dddd) example: GEO:50.089354;14.400031

User-Device-ID

Text No It contains a unique identifier of end user equipment, if available. For example, a unique mobile device identifier (IMEI).

TPP-Name

The name of the original TPP that created the request. Eg. ‘Star corporation, a.s.’

TPP-Identification

The identification (licence number) of the original TPP that created the request. Eg. ‘CZ013574-15’

X-Request-ID

Max60Text Yes Unique identifier for each request specified by TPP. It is recommended to use a UUID format with a length of 36 to 60 characters.

Date

DateTime Yes Each request of a transaction contains the date and time at which the message was originated. In timestamp format.

+Action-ID +

Max60Text No IDs that identify the technical or business process within the call of each API request. For example, it can be used to identify the process of retrieving a transaction history that is provided as a paged response available through multiple requests.

User-Involved

Boolean Yes The flag identifies if the end user is online and the request was made based on his activity.

TPP-Name

Text Yes The name of the original TPP that created the request. Eg. ‘Star corporation, a.s.’.

TPP-Identification

Text No The identification (licence number) of the original TPP that created the request. Eg. ‘CZ013574-15’.

+Signature +

Text Conditional If the TPP signs the request, it contains a digital signature.

Digest

Text Conditional When an TPP includes a signature he also must include a 'Digest' header as defined in [RFC3230].

TPP-Signature-Certificate

Text Conditional The public TPP certificate used for signing the request, In base64 encoding (with the "BEGIN CERTIFICATE" and "END CERTIFICATE" markers).

Response fields

Path Type Description

pageNumber

Number

Number of current page

pageCount

Number

Total number of query pages

nextPage

Number

The number of the next page. If the current page is at the same time the last page of the list, then this parameter is not listed or is given with a null value.

pageSize

Number

Number of entries per page. This parameter can match the required size value from the query, except for the cases when it is the last page, or when the requested page range exceeded the maximum limit defined for the particular API resource.

totalCount

Number

Optional data about the total number of entries for all pages. If this value cannot be precisely determined, it is not stated.

standingOrders[].standingOrderIdentification

Object

Max35Text Standing order identification

standingOrders[].standingOrderIdentification.instructionIdentification

String

Max35Text Instruction identification

standingOrders[].standingOrderIdentification.endToEndIdentification

String

Max35Text End to end identification

standingOrders[].standingOrderIdentification.transactionIdentification

String

Max35Text Transaction identification

standingOrders[].amount

Object

STDO - AmountType3CZ, ESST - AmountType3CZ, XBST - AmountType3Choice

standingOrders[].amount.instructedAmount

Object

CurrencyAndAmount Amount and currency in the instruction

standingOrders[].amount.instructedAmount.value

Number

Amount Amount of the transfer

standingOrders[].amount.instructedAmount.currency

String

CurrencyCode Transfer Currency

standingOrders[].standingOrder

Object

Structure describing the parameters of the standing orders

standingOrders[].standingOrder.alias

String

Max140Text Description resp. the user-defined standing order payment name

standingOrders[].standingOrder.execution

Object

Features of execution a standing order for payment

standingOrders[].standingOrder.execution.mode

String

Max35Text The execution mode defines when or how standing order will be cancelled, processed the last time

standingOrders[].standingOrder.execution.modeDue

String

Max35Text The execution due mode defines how the date when order should be executed is specified

standingOrders[].standingOrder.execution.interval

String

Max10Text Execution interval defines how often order is executed

standingOrders[].standingOrder.execution.remitSkipCount

Number

Number, 1 - default, each remitType (e.g. day or month), 2 - each second remitType (e.g. day or month), 3 - and so on. Must be in interval from 1 to 10. If not set, default value is 1.

standingOrders[].debtorAccount

Object

CashAccount16CZ Payer’s account

standingOrders[].debtorAccount.id

String

API Payment account identifier

standingOrders[].debtorAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of the payer’s account

standingOrders[].debtorAccount.identification.iban

String

IBAN2007Identifier Payer account number in IBAN format

standingOrders[].debtorAccount.identification.other

Object

GenericAccountIdentification1CZ Another payer account number format

standingOrders[].debtorAccount.identification.other.identification

String

Max34Text Payer account number in local BBAN format

standingOrders[].debtorAccount.currency

String

CurrencyCode ISO 4217 Payer’s account currency

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /standingorders?page=0&size=2 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:54 CEST
X-Request-ID: b8421fe9-e660-4529-b6e7-ef347958d0e6
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJhNDA4M2YwNy1hMTc5LTQ5YTYtOTY4OC1hYWYxZGU1N2U3MmIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU1MCwiZXhwIjoxNjkyMDIwMTUwfQ.hSst_fmEyGygux2I9qAmPiKR94y77LIsyMZ_Prg--o0
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: b8421fe9-e660-4529-b6e7-ef347958d0e6
Content-Length: 1387

{
  "pageNumber" : 0,
  "pageCount" : 271,
  "nextPage" : 1,
  "pageSize" : 2,
  "totalCount" : 542,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "transactionIdentification" : "1454"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 22.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "abcd",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_NEXT_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
      "identification" : {
        "iban" : "CZ9640000000007255060015"
      },
      "currency" : "EUR"
    }
  }, {
    "standingOrderIdentification" : {
      "transactionIdentification" : "3396"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 15100.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "purpose",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_NEXT_DAY_OF_MONTH",
        "interval" : "WEEKLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
      "identification" : {
        "iban" : "CZ9640000000007255060015"
      },
      "currency" : "EUR"
    }
  } ]
}

Example sort by amount ASC

GET /standingorders?page=2&size=2&sort=amount.instructedAmount.value&order=ASC HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:35:49 CEST
X-Request-ID: c82427fd-5419-4265-a3e0-7d736a72cb91
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwN2NmYmU4MS00OWM3LTQ0ZDgtYTc4NS1lOTkwY2MzMjQ5MTUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU0NCwiZXhwIjoxNjkyMDIwMTQ0fQ.5kwN0b9_I-zxBrt1JKRmYvA0zklIaNZg7xjcTI77xDg
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: c82427fd-5419-4265-a3e0-7d736a72cb91
Content-Length: 1440

{
  "pageNumber" : 2,
  "pageCount" : 271,
  "nextPage" : 3,
  "pageSize" : 2,
  "totalCount" : 542,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "transactionIdentification" : "8510"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 0.3,
        "currency" : "USD"
      }
    },
    "standingOrder" : {
      "alias" : "prvni swift trvalak",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY_END_OF_MONTH",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "339382F0-2608-4E08-B9A6-4A28D1960790",
      "identification" : {
        "iban" : "CZ2140000000007255060007"
      },
      "currency" : "CZK"
    }
  }, {
    "standingOrderIdentification" : {
      "transactionIdentification" : "8514"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 0.3,
        "currency" : "USD"
      }
    },
    "standingOrder" : {
      "alias" : "prvni swift trvalak",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY_END_OF_MONTH",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "339382F0-2608-4E08-B9A6-4A28D1960790",
      "identification" : {
        "iban" : "CZ2140000000007255060007"
      },
      "currency" : "CZK"
    }
  } ]
}

Example sort by currency ASC and amount DESC

GET /standingorders?page=0&size=2&sort=amount.instructedAmount.currency,amount.instructedAmount.value&order=asc,desc HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:36:02 CEST
X-Request-ID: 72a45779-1976-4199-a8ea-e7d5cc8a82e2
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJiYTk4ODEyNi1lZmJiLTRmMzktOWQxMy05NTYzMWQyNjQwNDMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU1NywiZXhwIjoxNjkyMDIwMTU3fQ.KrQp--Ad9qp-_wYqkEZwi6ndUn5OGJvuiAYW-XEomfM
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 72a45779-1976-4199-a8ea-e7d5cc8a82e2
Content-Length: 1399

{
  "pageNumber" : 0,
  "pageCount" : 271,
  "nextPage" : 1,
  "pageSize" : 2,
  "totalCount" : 542,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "transactionIdentification" : "3396"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 15100.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "purpose",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_NEXT_DAY_OF_MONTH",
        "interval" : "WEEKLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "D5C2960C-D29B-4B8C-AEDD-7736035754F6",
      "identification" : {
        "iban" : "CZ9640000000007255060015"
      },
      "currency" : "EUR"
    }
  }, {
    "standingOrderIdentification" : {
      "transactionIdentification" : "5160"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1500.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "Czech Mint Saving 2426",
      "execution" : {
        "mode" : "UNTIL_DATE",
        "modeDue" : "DUE_OR_NEXT_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "0A580141-DEC4-4DBC-84A2-E86578E77B84",
      "identification" : {
        "iban" : "CZ7440000000007255060023"
      },
      "currency" : "CZK"
    }
  } ]
}

PISP API

Additional information

Single signature

Possible scenarios

  • SMS_FEDERATED – user authorizes the payment on the bank page with SMS code that is send to his phone immediately after opening authorization bank page. After authorization is user redirected back to your URI.

  • SMS_TPP – SMS code is send to user phone immediately after sending Payment signing request. Code from SMS has to be sent from TPP to bank by Authorization initiation (III) request.

FEDERATED scenario

  1. New payment is created by New Payment request. Element “paymentIdentification .transactionIdentification” and “signInfo.signId” are returned in response. Possible scenarios for signature options are returned in element “scenarios”.

  2. URL for user authorization form is returned in element “href.href” by Authorization detail (I) request. As parameters is used “paymentIdentification .transactionIdentification” and “signInfo.signId”.

  3. In case of successful authorization redirected to URI with parameter state=COMPLETED.

TPP scenario

  1. New payment is created by New Payment request. Element “paymentIdentification .transactionIdentification” and “signInfo.signId” are returned in response. Possible scenarios for signature options are returned in element “scenarios”.

  2. Element “code.prefix” is returned in response to Authorization detail (I) request. As parameters is used “paymentIdentification .transactionIdentification” and “signInfo.signId”. Code.prefix is necessary to show to user in format PREFIX-[field for input client code].

  3. Client code has to be sent by Authorization initiation (III) request. In case of successful authorization the element “signInfo.state” contains value COMPLETED in response.

Joint signature

Joint signature can be used if two signatures of two different users are required to authorize the payment. Both users must be authenticated (enrolled) separately.

Joint signature is required if state=SECOND_SIGN_REQUIRED is returned in URI or element “signInfo.state” contains SECOND_SIGN_REQUIRED in response on Authorization initiation (I).

For the second user must be obtained a new “signId” by API POST /payments/{paymentID}/sign/ then continue by payment authorization by step 2 as described above.

Balance check (PISP)

A POST request to balance check. User authentification is required

Request fields

Path Type Description

exchangeIdentification

String

Max35Text Clear query identification, required

card.cardholderName

String

Max45Text Card holder name, optional

card.maskedPan

String

Max30Text Masked card number, optional

debtorAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

debtorAccount.currency

String

CurrencyCode, ISO 4217 Payer account currency, optional

authenticationMethod

String

Client verification method, see AuthenticationMethod enum in COBS for possible values, optional

merchant.identification

String

Merchant identification, optional

merchant.type

String

Merchant type, see COBS enum for possible values, optional

merchant.shortName

String

Max35Text Merchant name, optional

merchant.commonName

String

Max70Text Merchant name as stated in the payment receipt, optional

merchant.address

String

Max140Text Merchant address, optional

merchant.countryCode

String

CountryCode, ISO 3166 (2 alphanumeric characters code version) Merchant country, optional

merchant.merchantCategoryCode

String

Min3Max4Text, ISO 18245, Merchant code following the transaction type, optional

transactionDetails.totalAmount

Number

Balance query amount

transactionDetails.currency

String

Balance query currency

Response fields

Path Type Description

responseIdentification

Number

Unique identification of response to query, number

exchangeIdentification

String

Max35Text Clear query identification from request

response

String

APPR - approved, DECL - declined

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example ok, approved

POST /payments/balanceCheck HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:01 CEST
X-Request-ID: e8e433f4-a7ef-40ea-8e5b-6996794e2d35
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI3YjZhMDAwMC05MGM4LTQ2M2MtOGU4Zi0xZjdlNDYxNjU1MTkiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA3NCwiZXhwIjoxNjkyMDE5Njc0fQ.KShrzXH7VlZk1ng-X1eVsf8saAsrA91PFfSe8B1WKbc
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 628
Host: localhost:8080

{
  "exchangeIdentification" : "BC1692016081556",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "authenticationMethod" : "NPIN",
  "merchant" : {
    "identification" : "471 16 129",
    "type" : "MERC",
    "shortName" : "NEOLUXOR",
    "commonName" : "Neoluxor s.r.o.",
    "address" : "Hlavní 5, Praha 1",
    "countryCode" : "CZ",
    "merchantCategoryCode" : "5192"
  },
  "transactionDetails" : {
    "currency" : "CZK",
    "totalAmount" : 1
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: e8e433f4-a7ef-40ea-8e5b-6996794e2d35
Content-Length: 117

{
  "exchangeIdentification" : "BC1692016081556",
  "responseIdentification" : 1692016082115,
  "response" : "APPR"
}

New Payment

A POST request to enter a new payment.

Request fields

Path Type Description

paymentIdentification.instructionIdentification

String

Max35Text Instruction identification

paymentIdentification.endToEndIdentification

String

Max35Text End to end identification

paymentIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation.instructionPriority

String

Priority2Code Instruction priority

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

paymentTypeInformation.categoryPurpose

Object

CategoryPurpose1Choice Category of the purpose of payment

paymentTypeInformation.categoryPurpose.code

String

ExternalCategoryPurpose1Code Payment purpose category code

paymentTypeInformation.categoryPurpose.proprietary

String

Max35Text Free format for the purpose of the payment purpose

amount.instructedAmount

Object

CurrencyAndAmount Amount and currency in the instruction

amount.instructedAmount.value

Number

Amount Amount of the transfer

amount.instructedAmount.currency

String

CurrencyCode Transfer Currency

amount.equivalentAmount

Object

CurrencyAndAmount Equivalent amount and currency

amount.equivalentAmount.value

Number

Amount Equivalent transaction amount

amount.equivalentAmount.currency

String

CurrencyCode Currency equivalent to transaction amount

requestedExecutionDate

String

ISODate Requested date of payment

exchangeRateInformation

Object

ExchangeRateInformation1 Contractual course

exchangeRateInformation.exchangeRate

Number

BaseOneRate Agreed exchange rate

exchangeRateInformation.rateType

String

ExchangeRate Type of agreed exchange rate

exchangeRateInformation.contractIdentification

String

Max35Text Identify the use of the agreed exchange rate

chargeBearer

String

ChargeBearerType1Code Fee payer

chargesAccount

Object

CashAccount16CZ Account for fees

chargesAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of account number for fees

chargesAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

chargesAccount.currency

String

CurrencyCode ISO 4217 Account currency for fees

ultimateDebtor

Object

PartyIdentification32CZ1 Original payer

ultimateDebtor.name

String

Max70Text The name of the original payer

ultimateDebtor.postalAddress

Object

PostalAddress6CZ Postal address of the original payer

ultimateDebtor.postalAddress.streetName

String

Max70Text Street of original payer

ultimateDebtor.postalAddress.buildingNumber

String

Max16Text The original payer’s house number

ultimateDebtor.postalAddress.postCode

String

Max16Text The postal code of the original payer

ultimateDebtor.postalAddress.townName

String

Max35Text City of the original payer

ultimateDebtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country of the original payer

ultimateDebtor.postalAddress.addressLine[]

Array

Max70Text Unstructured entry of the original payer’s address

ultimateDebtor.identification

Object

Party6Choice Identification of the original payer

ultimateDebtor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the original payer as organization / legal entity. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the original payer as organization / legal entity in the form of BIC or BEI code.

ultimateDebtor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of the original payer as organization / legal entity in unstructured form.

ultimateDebtor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as organization / legal entity in free text format.

ultimateDebtor.identification.organisationIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for identification the original payer as organization / legal entity.

ultimateDebtor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the original payer as a natural person. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type to identify the original payer as a natural person.

ultimateDebtor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as a physical person in free text format.

ultimateDebtor.identification.privateIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for identification the original payer as a natural person.

debtor

Object

PartyIdentification32CZ2 Payer.

debtor.name

String

Max70Text Payer name

debtor.postalAddress

Object

PostalAddress6CZ Postal address of the payer

debtor.postalAddress.streetName

String

Max70Text The street name used for the postal address of the payer.

debtor.postalAddress.buildingNumber

String

Max16Text The reference number used for the postal address of the payer.

debtor.postalAddress.postCode

String

Max16Text The postal code used for the postal address of the payer.

debtor.postalAddress.townName

String

Max35Text The city name used for the postal address of the payer.

debtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) The country name used for the postal address of the payer.

debtor.postalAddress.addressLine[]

Array

Max70Text Unstructured payer postal address record.

debtorAccount

Object

CashAccount16CZ Payer’s account

debtorAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of the payer’s account

debtorAccount.identification.iban

String

IBAN2007Identifier Payer account number in IBAN format

debtorAccount.identification.other

Object

GenericAccountIdentification1CZ Another payer account number format

debtorAccount.identification.other.identification

String

Max34Text Payer account number in local BBAN format

debtorAccount.currency

String

CurrencyCode ISO 4217 Payer’s account currency

intermediaryAgent1

Object

BranchAndFinancialInstitutionIdentification4CZ Intermediate 1

intermediaryAgent1.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

intermediaryAgent1.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identify a participant in a clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identification of the clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ClearingSystemIdentification1Code Code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

intermediaryAgent1.financialInstitutionIdentification.name

String

Max70Text Name

intermediaryAgent1.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

intermediaryAgent1.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

intermediaryAgent1.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

intermediaryAgent1.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text Zip code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

intermediaryAgent1.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

intermediaryAgent1.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1CZ Other bank identification

intermediaryAgent1.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditorAgent

Object

BranchAndFinancialInstitutionIdentification4CZ Bank of reciever

creditorAgent.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

creditorAgent.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identifikace účastníka clearingového systému

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identify a participant in a clearing system

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ExternalClearingSystemIdentification1Code Code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

creditorAgent.financialInstitutionIdentification.name

String

Max105Text Name

creditorAgent.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

creditorAgent.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

creditorAgent.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

creditorAgent.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text ZIP code

creditorAgent.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

creditorAgent.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

creditorAgent.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAgent.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1C Other bank identification

creditorAgent.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditor

Object

PartyIdentification32CZ2 Payee

creditor.name

String

Max70Text Payee name

creditor.postalAddress

Object

PostalAddress6CZ Postal address

creditor.postalAddress.streetName

String

Max70Text Street

creditor.postalAddress.buildingNumber

String

Max16Text Building number

creditor.postalAddress.postCode

String

Max16Text ZIP code

creditor.postalAddress.townName

String

Max35Text City

creditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

creditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAccount

Object

CashAccount16CZ Payee account

creditorAccount.identification

Object

AccountIdentification4ChoiceCZ Payee Account Identification

creditorAccount.identification.iban

String

IBAN2007Identifier Account number in IBAN format

creditorAccount.identification.other

Object

GenericAccountIdentification1CZ Another account number format

creditorAccount.identification.other.identification

String

Max34Text Account number in local BBAN format

creditorAccount.currency

String

CurrencyCode ISO4217 Payee account currency

ultimateCreditor

Object

PartyIdentification32CZ1 The final payee

ultimateCreditor.name

String

Max70Text Name of the final payee

ultimateCreditor.postalAddress

Object

PostalAddress6CZ Postal address of the final payee

ultimateCreditor.postalAddress.streetName

String

Max70Text Street

ultimateCreditor.postalAddress.buildingNumber

String

Max16Text Building number

ultimateCreditor.postalAddress.postCode

String

Max16Text ZIP code

ultimateCreditor.postalAddress.townName

String

Max35Text City

ultimateCreditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

ultimateCreditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

ultimateCreditor.identification

Object

Party6Choice Identification of the final payee

ultimateCreditor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the final payee as an organization / legal entity. either organizationalIdentification or privateIdentification

ultimateCreditor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the final payee as an organization / legal entity in the form of BIC or BEI code.

ultimateCreditor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the final payee as organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of parent payee as organization / legal entity in unstructured form.

ultimateCreditor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the final payee as an organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as an organization / legal entity in free text format.

ultimateCreditor.identification.organisationIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for the final payee identification as an organization / legal entity.

ultimateCreditor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type for identifying the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as a physical person in free text format.

ultimateCreditor.identification.privateIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for the final payee identification as an natural person.

purpose

Object

Purpose2Choice Purpose of payment

purpose.code

String

ExternalPurpose1Code Purpose of payment code

purpose.proprietary

String

Max35Text Free form of payment purpose

instructionForNextAgent

String

Instruction code Instructions for the next bank

remittanceInformation

Object

RemittanceInformation5CZ Payment information

remittanceInformation.unstructured

String

Max140Text Unstructured message for the payee

remittanceInformation.structured

Object

StructuredRemittanceInformation7CZ Structured message for payee - variable, specific, and constant symbol

remittanceInformation.structured.creditorReferenceInformation

Object

CreditorReferenceInformation2CZ Payee reference information

remittanceInformation.structured.creditorReferenceInformation.reference[]

Array

CreditorReferenceInformation2CZ Value of VS, SS, CS - ["VS:varSymb","KS:konstSymb","SS:specSymb"]

signInfo

Object

Authorization info structure

signInfo.state

String

Transaction authorization status, one of OPEN, CODE_GENERATED, COMPLETED, SECOND_SIGN_REQUIRED

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

signInfo.scenario

String

Selected authorization scenario

instructionStatus

String

Status code, Status of entered payment

statusChangeInfo

String

Information about change done in the bank

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

Response fields

Path Type Description

paymentIdentification.instructionIdentification

String

Max35Text Instruction identification

paymentIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

signInfo

Object

Authorization info structure

signInfo.state

String

Transaction authorization status, one of OPEN, CODE_GENERATED, COMPLETED, SECOND_SIGN_REQUIRED

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

instructionStatus

String

Status code, Status of entered payment

statusChangeInfo

String

Information about change done in the bank

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Domestic #1

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:35 CEST
X-Request-ID: b5728d85-97a5-4f4e-9988-ecb70c61bc7b
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIxZjllZWE5YS1mOTQ2LTQ2MDEtOWM3NC02YTFiYThhNGUxNjUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjExMSwiZXhwIjoxNjkyMDE5NzExfQ.sCKjPaA4bDTQzW1_9AezJqHWIBThSgTipugLbuLsf10
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 720
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016115819"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ4820100000002100073281"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "FA 2353452",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:123456", "KS:456789", "SS:879213546" ]
      }
    }
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: b5728d85-97a5-4f4e-9988-ecb70c61bc7b
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSD004969219"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "6b04f9df-7407-4e9f-9592-be1070c4a6dc"
  },
  "instructionStatus" : "ACTC"
}

Domestic with error

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:27:34 CEST
X-Request-ID: 625938b1-309f-4817-8128-8416221c4b18
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIyZjAyYzk1MS0zNjc2LTRmMDUtYTFlNy1mOTU5ODU0OWMxYjQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA0NywiZXhwIjoxNjkyMDE5NjQ3fQ.HTSMMuoMy9qNIkybG144bD0S3EKkEz6ZhVAkcmSxZ98
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 719
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016054821"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "XXX"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ4820100000002100073281"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "FA 2353452",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:123456", "KS:456789", "SS:879213546" ]
      }
    }
  }
}

Response

HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: 625938b1-309f-4817-8128-8416221c4b18
Content-Type: application/json;charset=UTF-8
Content-Length: 234

{
  "errors" : [ {
    "error" : "FIELD_INVALID",
    "parameters" : {
      "ALLOWED_VALUES" : [ "NORM", "HIGH", "INST" ]
    },
    "scope" : "instructionPriority",
    "message" : "instructionPriority has invalid value XXX"
  } ]
}

Domestic #2

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:29 CEST
X-Request-ID: d8b85d99-6417-48be-8627-a466c7aa5af8
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJiNTUzMzU3MS02YjBhLTQ4MmQtODNiNy01NWZkOWI5N2NlY2EiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjEwNCwiZXhwIjoxNjkyMDE5NzA0fQ.tFSmEOpNn8stzyXWSsDvOAWj3vX4ml2CxBZCvLmwKSw
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 641
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016104125"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1245.44,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2017-01-31",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "/VS/7418529630/SS/1234567890"
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: d8b85d99-6417-48be-8627-a466c7aa5af8
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSD004969217"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "e2a19a63-fe29-48fe-a8ed-f649db314e82"
  },
  "instructionStatus" : "ACTC"
}

SEPA

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:13 CEST
X-Request-ID: 3c41b53b-f1ae-4a57-948b-8f172c0bb3d8
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI0ZmU2YzBmZS0zNGNjLTQyMjQtYjJmZC05NmE5ODEyOTg0NTIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA4OCwiZXhwIjoxNjkyMDE5Njg4fQ.RMoY9NBvSaFJZx-jCkqif3_uf8sDyP4oZFvYGMrO7x0
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1958
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016088141",
    "endToEndIdentification" : "NOTPROVIDED"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "HIGH"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1.45,
      "currency" : "EUR"
    }
  },
  "requestedExecutionDate" : "2017-01-31",
  "ultimateDebtor" : {
    "name" : "Karel Novák",
    "postalAddress" : {
      "streetName" : "Vodičkova",
      "buildingNumber" : "12",
      "postCode" : "12000",
      "townName" : "Praha 2",
      "country" : "CZ"
    },
    "identification" : {
      "privateIdentification" : {
        "other" : {
          "identification" : "1245789528",
          "schemeName" : {
            "proprietary" : "ID CARD",
            "issuer" : "OU Praha 2,CZ"
          }
        }
      }
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ9640000000007255060015"
    },
    "currency" : "EUR"
  },
  "creditorAgent" : {
    "financialInstitutionIdentification" : {
      "bic" : "MHBFDEFF"
    }
  },
  "creditor" : {
    "name" : "1. wiena investment",
    "postalAddress" : {
      "streetName" : "Reisnerstraße",
      "buildingNumber" : "20",
      "postCode" : "1030",
      "townName" : "Wiena",
      "country" : "AT"
    }
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "DE77503302002085734000"
    }
  },
  "ultimateCreditor" : {
    "name" : "Franz Schubert",
    "postalAddress" : {
      "streetName" : "Dianagasse",
      "buildingNumber" : "6",
      "postCode" : "1030",
      "townName" : "Wiena",
      "country" : "AT"
    },
    "identification" : {
      "privateIdentification" : {
        "other" : {
          "identification" : "12356879131",
          "schemeName" : {
            "proprietary" : "passport",
            "issuer" : "WIENA"
          }
        }
      }
    }
  },
  "purpose" : {
    "proprietary" : "sale of shares"
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 3c41b53b-f1ae-4a57-948b-8f172c0bb3d8
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSF000022115"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "ESCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "4af47fd4-39e9-4fe5-a44e-34322519f12f"
  },
  "instructionStatus" : "ACTC"
}

Foreign EEA

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:43 CEST
X-Request-ID: fc68f952-9a06-4356-9ca2-fbf6696682f4
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI5MTUzY2MxYy1hNmRmLTRkNDUtYWY2Ni02NTkzMjc2OTYwMGUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjExOSwiZXhwIjoxNjkyMDE5NzE5fQ.dXkWl8PsqxM2V89SBBzMAvTbB_BONbjIW52vUBIF1tw
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 994
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016118992"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1.44,
      "currency" : "USD"
    }
  },
  "requestedExecutionDate" : "2017-01-31",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAgent" : {
    "financialInstitutionIdentification" : {
      "bic" : "NDEAFIHH"
    }
  },
  "creditor" : {
    "name" : "Bohumil Hrabal",
    "postalAddress" : {
      "streetName" : "Na Hrázi",
      "buildingNumber" : "326/24",
      "postCode" : "18000",
      "townName" : "Praha 8",
      "country" : "CZ"
    }
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "FI6416603000117625",
      "other" : {
        "identification" : "204533335"
      }
    }
  },
  "remittanceInformation" : {
    "unstructured" : "fa 123546897"
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: fc68f952-9a06-4356-9ca2-fbf6696682f4
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSF000022116"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "55cbd510-4a4c-43b0-927e-594c2acd0d8a"
  },
  "instructionStatus" : "ACTC"
}

Foreign non EEA

Request

POST /payments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:07 CEST
X-Request-ID: a6597ec1-52d3-437e-87d2-17425de7ecc1
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwODBiMTY1Yi05YmNjLTQyZGQtYTQ3Zi1jYWM2MDA0YWNkMzMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA4MiwiZXhwIjoxNjkyMDE5NjgyfQ.GW7eYZcX3TP3Oogg1scdulfMsbrZVwwKS9Qt-KHX3f4
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1162
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016082402"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 0.44,
      "currency" : "GBP"
    }
  },
  "requestedExecutionDate" : "2017-01-31",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAgent" : {
    "financialInstitutionIdentification" : {
      "bic" : "ABNYUS33",
      "name" : "New York Commercial Bank",
      "postalAddress" : {
        "streetName" : "Merrick Avenue615",
        "buildingNumber" : "61511590-6644",
        "postCode" : "11590-6644",
        "townName" : "WESTBURY, NY",
        "country" : "US"
      }
    }
  },
  "creditor" : {
    "name" : "First Hudson boat Inc.",
    "postalAddress" : {
      "streetName" : "Grand St",
      "buildingNumber" : "1256",
      "postCode" : "NY 11211",
      "townName" : "Brooklyn ,NY",
      "country" : "US"
    }
  },
  "creditorAccount" : {
    "identification" : {
      "other" : {
        "identification" : "123456789"
      }
    }
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: a6597ec1-52d3-437e-87d2-17425de7ecc1
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSF000022114"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "c39f334b-60ea-4839-8c75-49cf1d78bc82"
  },
  "instructionStatus" : "ACTC"
}

Payment status

A GET request to get an payment status. Request does not require the authorization of user/client as part of the API calling

Path parameters

Table 9. /payments/{paymentId}/status
Parameter Description

paymentId

Requested payment id

Response fields

Path Type Description

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

instructionStatus

String

Status code, Status of entered payment

Example

GET /payments/TPSD004969219/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:36 CEST
X-Request-ID: 9a062623-c357-4e39-94cb-8dae9b2cc9f5
User-Involved: false
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 9a062623-c357-4e39-94cb-8dae9b2cc9f5
Content-Length: 34

{
  "instructionStatus" : "ACTC"
}

Payment info

A GET request to get an information about payment.

Path parameters

Table 10. /payments/{paymentId}
Parameter Description

paymentId

Requested payment id

Response fields

Path Type Description

paymentIdentification.instructionIdentification

String

Max35Text Instruction identification

paymentIdentification.endToEndIdentification

String

Max35Text End to end identification

paymentIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation.instructionPriority

String

Priority2Code Instruction priority

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

paymentTypeInformation.categoryPurpose

Object

CategoryPurpose1Choice Category of the purpose of payment

paymentTypeInformation.categoryPurpose.code

String

ExternalCategoryPurpose1Code Payment purpose category code

paymentTypeInformation.categoryPurpose.proprietary

String

Max35Text Free format for the purpose of the payment purpose

amount.instructedAmount

Object

CurrencyAndAmount Amount and currency in the instruction

amount.instructedAmount.value

Number

Amount Amount of the transfer

amount.instructedAmount.currency

String

CurrencyCode Transfer Currency

amount.equivalentAmount

Object

CurrencyAndAmount Equivalent amount and currency

amount.equivalentAmount.value

Number

Amount Equivalent transaction amount

amount.equivalentAmount.currency

String

CurrencyCode Currency equivalent to transaction amount

requestedExecutionDate

String

ISODate Requested date of payment

exchangeRateInformation

Object

ExchangeRateInformation1 Contractual course

exchangeRateInformation.exchangeRate

Number

BaseOneRate Agreed exchange rate

exchangeRateInformation.rateType

String

ExchangeRate Type of agreed exchange rate

exchangeRateInformation.contractIdentification

String

Max35Text Identify the use of the agreed exchange rate

chargeBearer

String

ChargeBearerType1Code Fee payer

chargesAccount

Object

CashAccount16CZ Account for fees

chargesAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of account number for fees

chargesAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

chargesAccount.currency

String

CurrencyCode ISO 4217 Account currency for fees

ultimateDebtor

Object

PartyIdentification32CZ1 Original payer

ultimateDebtor.name

String

Max70Text The name of the original payer

ultimateDebtor.postalAddress

Object

PostalAddress6CZ Postal address of the original payer

ultimateDebtor.postalAddress.streetName

String

Max70Text Street of original payer

ultimateDebtor.postalAddress.buildingNumber

String

Max16Text The original payer’s house number

ultimateDebtor.postalAddress.postCode

String

Max16Text The postal code of the original payer

ultimateDebtor.postalAddress.townName

String

Max35Text City of the original payer

ultimateDebtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country of the original payer

ultimateDebtor.postalAddress.addressLine[]

Array

Max70Text Unstructured entry of the original payer’s address

ultimateDebtor.identification

Object

Party6Choice Identification of the original payer

ultimateDebtor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the original payer as organization / legal entity. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the original payer as organization / legal entity in the form of BIC or BEI code.

ultimateDebtor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of the original payer as organization / legal entity in unstructured form.

ultimateDebtor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as organization / legal entity in free text format.

ultimateDebtor.identification.organisationIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for identification the original payer as organization / legal entity.

ultimateDebtor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the original payer as a natural person. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type to identify the original payer as a natural person.

ultimateDebtor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as a physical person in free text format.

ultimateDebtor.identification.privateIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for identification the original payer as a natural person.

debtor

Object

PartyIdentification32CZ2 Payer.

debtor.name

String

Max70Text Payer name

debtor.postalAddress

Object

PostalAddress6CZ Postal address of the payer

debtor.postalAddress.streetName

String

Max70Text The street name used for the postal address of the payer.

debtor.postalAddress.buildingNumber

String

Max16Text The reference number used for the postal address of the payer.

debtor.postalAddress.postCode

String

Max16Text The postal code used for the postal address of the payer.

debtor.postalAddress.townName

String

Max35Text The city name used for the postal address of the payer.

debtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) The country name used for the postal address of the payer.

debtor.postalAddress.addressLine[]

Array

Max70Text Unstructured payer postal address record.

debtorAccount

Object

CashAccount16CZ Payer’s account

debtorAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of the payer’s account

debtorAccount.identification.iban

String

IBAN2007Identifier Payer account number in IBAN format

debtorAccount.identification.other

Object

GenericAccountIdentification1CZ Another payer account number format

debtorAccount.identification.other.identification

String

Max34Text Payer account number in local BBAN format

debtorAccount.currency

String

CurrencyCode ISO 4217 Payer’s account currency

intermediaryAgent1

Object

BranchAndFinancialInstitutionIdentification4CZ Intermediate 1

intermediaryAgent1.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

intermediaryAgent1.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identify a participant in a clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identification of the clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ClearingSystemIdentification1Code Code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

intermediaryAgent1.financialInstitutionIdentification.name

String

Max70Text Name

intermediaryAgent1.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

intermediaryAgent1.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

intermediaryAgent1.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

intermediaryAgent1.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text Zip code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

intermediaryAgent1.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

intermediaryAgent1.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1CZ Other bank identification

intermediaryAgent1.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditorAgent

Object

BranchAndFinancialInstitutionIdentification4CZ Bank of reciever

creditorAgent.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

creditorAgent.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identifikace účastníka clearingového systému

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identify a participant in a clearing system

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ExternalClearingSystemIdentification1Code Code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

creditorAgent.financialInstitutionIdentification.name

String

Max105Text Name

creditorAgent.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

creditorAgent.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

creditorAgent.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

creditorAgent.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text ZIP code

creditorAgent.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

creditorAgent.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

creditorAgent.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAgent.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1C Other bank identification

creditorAgent.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditor

Object

PartyIdentification32CZ2 Payee

creditor.name

String

Max70Text Payee name

creditor.postalAddress

Object

PostalAddress6CZ Postal address

creditor.postalAddress.streetName

String

Max70Text Street

creditor.postalAddress.buildingNumber

String

Max16Text Building number

creditor.postalAddress.postCode

String

Max16Text ZIP code

creditor.postalAddress.townName

String

Max35Text City

creditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

creditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAccount

Object

CashAccount16CZ Payee account

creditorAccount.identification

Object

AccountIdentification4ChoiceCZ Payee Account Identification

creditorAccount.identification.iban

String

IBAN2007Identifier Account number in IBAN format

creditorAccount.identification.other

Object

GenericAccountIdentification1CZ Another account number format

creditorAccount.identification.other.identification

String

Max34Text Account number in local BBAN format

creditorAccount.currency

String

CurrencyCode ISO4217 Payee account currency

ultimateCreditor

Object

PartyIdentification32CZ1 The final payee

ultimateCreditor.name

String

Max70Text Name of the final payee

ultimateCreditor.postalAddress

Object

PostalAddress6CZ Postal address of the final payee

ultimateCreditor.postalAddress.streetName

String

Max70Text Street

ultimateCreditor.postalAddress.buildingNumber

String

Max16Text Building number

ultimateCreditor.postalAddress.postCode

String

Max16Text ZIP code

ultimateCreditor.postalAddress.townName

String

Max35Text City

ultimateCreditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

ultimateCreditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

ultimateCreditor.identification

Object

Party6Choice Identification of the final payee

ultimateCreditor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the final payee as an organization / legal entity. either organizationalIdentification or privateIdentification

ultimateCreditor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the final payee as an organization / legal entity in the form of BIC or BEI code.

ultimateCreditor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the final payee as organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of parent payee as organization / legal entity in unstructured form.

ultimateCreditor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the final payee as an organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as an organization / legal entity in free text format.

ultimateCreditor.identification.organisationIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for the final payee identification as an organization / legal entity.

ultimateCreditor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type for identifying the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as a physical person in free text format.

ultimateCreditor.identification.privateIdentification.other.schemeName.issuer

String

Max35Text Document exhibitor for the final payee identification as an natural person.

purpose

Object

Purpose2Choice Purpose of payment

purpose.code

String

ExternalPurpose1Code Purpose of payment code

purpose.proprietary

String

Max35Text Free form of payment purpose

instructionForNextAgent

String

Instruction code Instructions for the next bank

remittanceInformation

Object

RemittanceInformation5CZ Payment information

remittanceInformation.unstructured

String

Max140Text Unstructured message for the payee

remittanceInformation.structured

Object

StructuredRemittanceInformation7CZ Structured message for payee - variable, specific, and constant symbol

remittanceInformation.structured.creditorReferenceInformation

Object

CreditorReferenceInformation2CZ Payee reference information

remittanceInformation.structured.creditorReferenceInformation.reference[]

Array

CreditorReferenceInformation2CZ Value of VS, SS, CS - ["VS:varSymb","KS:konstSymb","SS:specSymb"]

signInfo

Object

Authorization info structure

signInfo.state

String

Transaction authorization status, one of OPEN, CODE_GENERATED, COMPLETED, SECOND_SIGN_REQUIRED

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

signInfo.scenario

String

Selected authorization scenario

instructionStatus

String

Status code, Status of entered payment

statusChangeInfo

String

Information about change done in the bank

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

sign2Info

Object

Authorization info structure of second signature

sign2Info.state

String

Transaction authorization status of second signature

sign2Info.signId

String

Identifier of the authorization process of second signature

sign2Info.scenario

String

Selected authorization scenario of second signature

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /payments/TPSD004969219 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:36 CEST
X-Request-ID: 2e6b4daf-f955-4fae-acf6-48e6286c3467
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIxZjllZWE5YS1mOTQ2LTQ2MDEtOWM3NC02YTFiYThhNGUxNjUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjExMSwiZXhwIjoxNjkyMDE5NzExfQ.sCKjPaA4bDTQzW1_9AezJqHWIBThSgTipugLbuLsf10
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 2e6b4daf-f955-4fae-acf6-48e6286c3467
Content-Length: 1001

{
  "paymentIdentification" : {
    "instructionIdentification" : "1692016115819",
    "transactionIdentification" : "TPSD004969219"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM",
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ4820100000002100073281"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "FA 2353452",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:123456", "KS:456789", "SS:879213546" ]
      }
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "6b04f9df-7407-4e9f-9592-be1070c4a6dc"
  },
  "instructionStatus" : "ACTC"
}

Payment delete

A DELETE request to delete payment - only if not processed yet

Path parameters

Table 11. /payments/{paymentId}
Parameter Description

paymentId

Requested payment id

Example

DELETE /payments/TPSD004969219 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:37 CEST
X-Request-ID: 0086b7cb-6af3-457c-8285-18834fcdae0f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIxZjllZWE5YS1mOTQ2LTQ2MDEtOWM3NC02YTFiYThhNGUxNjUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjExMSwiZXhwIjoxNjkyMDE5NzExfQ.sCKjPaA4bDTQzW1_9AezJqHWIBThSgTipugLbuLsf10
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 0086b7cb-6af3-457c-8285-18834fcdae0f

Payment signing

Authorization detail (I)

A GET request to get payment authorization detail

Path parameters

Table 12. /payments/{paymentId}/sign/{signId}
Parameter Description

paymentId

Requested payment id

signId

signature id

Response fields

Path Type Description

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /payments/TPSD004969215/sign/7ca22b7b-8dae-4e74-b3dd-5d923bebb328 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:27:52 CEST
X-Request-ID: abc91fb0-bf2b-47cf-9319-a64f71794ba5
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwN2ZjNGY4YS05YzU0LTRjY2UtOTA0YS0wYjE0ODY5NGI1NTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA2NiwiZXhwIjoxNjkyMDE5NjY2fQ.EJ6rP3o45u69Ajg2QOoxeSf1L-4uUPiOiG-UGhKEGYg
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: abc91fb0-bf2b-47cf-9319-a64f71794ba5
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "7ca22b7b-8dae-4e74-b3dd-5d923bebb328"
  }
}

Authorization initiation (II)

A POST request to generate signature

Additional information

  • For authorization initiation use endpoint v2/payments/{paymentId}/sign/{signId}

  • Authorisation is not required for single payments between own accounts. When initiating the authorization of a transfer between the client’s own accounts, only the SMS_FEDERATED signature scenario is offered in the response and the value "OPEN" will be in the "state" attribute of the response (in case of sending SMS with authorization code, the CODE_GENERATED value is here). The user confirms the transfer in the authorization form without having to enter the SMS authorization code

Path parameters

Table 13. /payments/{paymentId}/sign/{signId}
Parameter Description

paymentId

Requested payment id

signId

signature id

Request parameters

Parameter Description

testAuthCode

if true and application runs in non-production environment, then no SMS is send and auth.code value is always 0000

Request fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

redirectUrl

String

URL link or package of federated authorization call back address. This address is used by the federated bank authorization to redirect back to the TPP application after authorization is complete

Response fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

href

Object

Reference to call federated authorization

href.url

String

URL link or package of federated authorization

href.id

String

Possible id for calling federated authorization.

method

String

CMethod to use href link and federated authorization.

code

Object

Structure containing signing data for signing at TPP aplication

code.prefix

String

SMS or Token signing prefix

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

POST /payments/TPSD004969215/sign/7ca22b7b-8dae-4e74-b3dd-5d923bebb328?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:27:53 CEST
X-Request-ID: f4ae74c2-0911-492d-b5fc-76bc259c3d6b
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwN2ZjNGY4YS05YzU0LTRjY2UtOTA0YS0wYjE0ODY5NGI1NTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA2NiwiZXhwIjoxNjkyMDE5NjY2fQ.EJ6rP3o45u69Ajg2QOoxeSf1L-4uUPiOiG-UGhKEGYg
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 37

{
  "authorizationType" : "SMS_TPP"
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: f4ae74c2-0911-492d-b5fc-76bc259c3d6b
Content-Length: 212

{
  "authorizationType" : "SMS_TPP",
  "code" : {
    "prefix" : "ECC"
  },
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "7ca22b7b-8dae-4e74-b3dd-5d923bebb328",
    "scenario" : "SMS_TPP"
  }
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Table 14. /payments/{paymentId}/sign/{signId}
Parameter Description

paymentId

Requested payment id

signId

signature id

Request fields

Path Type Description

code

Object

Structure of authorization code

code.code

String

authorization code value - one time password (SMS signing code, Token signing code)

Response fields

Path Type Description

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

PUT /payments/TPSD004969215/sign/7ca22b7b-8dae-4e74-b3dd-5d923bebb328 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:27:53 CEST
X-Request-ID: 61b12304-a437-4ced-9a63-bfdbe5b83b15
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwN2ZjNGY4YS05YzU0LTRjY2UtOTA0YS0wYjE0ODY5NGI1NTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA2NiwiZXhwIjoxNjkyMDE5NjY2fQ.EJ6rP3o45u69Ajg2QOoxeSf1L-4uUPiOiG-UGhKEGYg
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 40
Host: localhost:8080

{
  "code" : {
    "code" : "0000"
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 61b12304-a437-4ced-9a63-bfdbe5b83b15
Content-Length: 133

{
  "signInfo" : {
    "state" : "COMPLETED",
    "signId" : "7ca22b7b-8dae-4e74-b3dd-5d923bebb328",
    "scenario" : "SMS_TPP"
  }
}

New Standing order

A POST request to enter a standing order.

Additional information

  • when “alias” field is empty it will be filled automatically with account number

  • for every standing order with amount EUR 15 000 or more the reason for the payment is required to be stated in “purpose.proprietary” field

  • the SHAR value is set automatically to “chargeBearer” field for foreign payments when this field is not set

Differences from COBS standard

  • field “endToEndIdentification” is optional for SEPA payments

  • differences in “standingOrder” structure:

    • value DUE_LAST_DAY_OF_MONTH for “modeDue” field is not supported

    • new value MONTHLY_END_OF_MONTH is added for “interval” field that can be used in combination with valid values for “mode” field

    • “intervalDue” field is not supported

    • the new extra field “remitSkipCount” is added and defines repetition frequency. The valid values are 1-10 and it means every 1-10 for the value from field “interval”. Example: combination remitSkipCount=2 and interval=WEEKLY means, execute standing order every second week.

    • values IRREGURAL and BI-MONTHLY for “mode” field are note supported

    • values AFTER_MAX_ITERATION_EXCEEDED a MAX_AMOUNT_EXCEEDED for “mode” field are not supported

    • fields “validity.maxIterations” and “validity.maxAmount” are not supported

    • filed “exceptions” is not supported

  • “creditor.name” field is optional for domestic standing order

  • the length of the “creditor.name” field is 35 characters

Request fields

Path Type Description

standingOrderIdentification

Object

Max35Text Standing order identification

standingOrderIdentification.instructionIdentification

String

Max35Text Instruction identification

standingOrderIdentification.endToEndIdentification

String

Max35Text End to end identification

standingOrderIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation

Object

PaymentTypeInformation19 Payment type information

paymentTypeInformation.instructionPriority

String

Priority2Code Instruction priority

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

paymentTypeInformation.categoryPurpose

Object

CategoryPurpose1Choice Category of the purpose of payment

paymentTypeInformation.categoryPurpose.code

String

ExternalCategoryPurpose1Code Payment purpose category code

paymentTypeInformation.categoryPurpose.proprietary

String

Max35Text Free format for the purpose of the payment purpose

amount

Object

STDO - AmountType3CZ, ESST - AmountType3CZ, XBST - AmountType3Choice

amount.instructedAmount

Object

CurrencyAndAmount Amount and currency in the instruction

amount.instructedAmount.value

Number

Amount Amount of the transfer

amount.instructedAmount.currency

String

CurrencyCode Transfer Currency

requestedExecutionDate

String

ISODate Requested date of payment

standingOrder

Object

Structure describing the parameters of the standing orders

standingOrder.alias

String

Max140Text Description resp. the user-defined standing order payment name

standingOrder.execution

Object

Features of execution a standing order for payment

standingOrder.execution.mode

String

Max35Text The execution mode defines when or how standing order will be cancelled, processed the last time

standingOrder.execution.modeDue

String

Max35Text The execution due mode defines how the date when order should be executed is specified

standingOrder.execution.interval

String

Max10Text Execution interval defines how often order is executed

standingOrder.execution.remitSkipCount

Number

Number, 1 - default, each remitType (e.g. day or month), 2 - each second remitType (e.g. day or month), 3 - and so on. Must be in interval from 1 to 10. If not set, default value is 1.

standingOrder.exceptions

Object

Elements defining exceptions to executing a standing order

standingOrder.exceptions.stoppages

Array

List of months where there is no payment (only applicable with interval IRREGULAR)

standingOrder.exceptions.breaks

Array

Elements defining exceptions to executing a standing order

standingOrder.exceptions.breaks[].validFromDate

String

Start date of one break period

standingOrder.exceptions.breaks[].validToDate

String

End date of one break period

standingOrder.validity

Object

Max250Text Elements restricting the validity of the standing order

standingOrder.validity.lastExecutionDate

String

ISODate Date when the last order will be processed. Null value responds to ending by the user.

exchangeRateInformation

Object

ExchangeRateInformation1 Contractual course

exchangeRateInformation.exchangeRate

Number

BaseOneRate Agreed exchange rate

exchangeRateInformation.rateType

String

ExchangeRate Type of agreed exchange rate

exchangeRateInformation.contractIdentification

String

Max35Text Identify the use of the agreed exchange rate

chargeBearer

String

ChargeBearerType1Code Fee payer

chargesAccount

Object

CashAccount16CZ Account for fees

chargesAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of account number for fees

chargesAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

chargesAccount.currency

String

CurrencyCode ISO 4217 Account currency for fees

ultimateDebtor

Object

PartyIdentification32CZ1 Original payer

ultimateDebtor.name

String

Max70Text The name of the original payer

ultimateDebtor.postalAddress

Object

PostalAddress6CZ Postal address of the original payer

ultimateDebtor.postalAddress.streetName

String

Max70Text Street of original payer

ultimateDebtor.postalAddress.buildingNumber

String

Max16Text The original payer’s house number

ultimateDebtor.postalAddress.postCode

String

Max16Text The postal code of the original payer

ultimateDebtor.postalAddress.townName

String

Max35Text City of the original payer

ultimateDebtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country of the original payer

ultimateDebtor.postalAddress.addressLine[]

Array

Max70Text Unstructured entry of the original payer’s address

ultimateDebtor.identification

Object

Party6Choice Identification of the original payer

ultimateDebtor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the original payer as organization / legal entity. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the original payer as organization / legal entity in the form of BIC or BEI code.

ultimateDebtor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of the original payer as organization / legal entity in unstructured form.

ultimateDebtor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as organization / legal entity in free text format.

ultimateDebtor.identification.organisationIdentification.other.issuer

String

Max35Text Document exhibitor for identification the original payer as organization / legal entity.

ultimateDebtor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the original payer as a natural person. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type to identify the original payer as a natural person.

ultimateDebtor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as a physical person in free text format.

ultimateDebtor.identification.privateIdentification.other.issuer

String

Max35Text Document exhibitor for identification the original payer as a natural person.

debtor

Object

PartyIdentification32CZ2 Payer.

debtor.name

String

Max70Text Payer name

debtor.postalAddress

Object

PostalAddress6CZ Postal address of the payer

debtor.postalAddress.streetName

String

Max70Text The street name used for the postal address of the payer.

debtor.postalAddress.buildingNumber

String

Max16Text The reference number used for the postal address of the payer.

debtor.postalAddress.postCode

String

Max16Text The postal code used for the postal address of the payer.

debtor.postalAddress.townName

String

Max35Text The city name used for the postal address of the payer.

debtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) The country name used for the postal address of the payer.

debtor.postalAddress.addressLine[]

Array

Max70Text Unstructured payer postal address record.

debtorAccount

Object

CashAccount16CZ Payer’s account

debtorAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of the payer’s account

debtorAccount.identification.iban

String

IBAN2007Identifier Payer account number in IBAN format

debtorAccount.identification.other

Object

GenericAccountIdentification1CZ Another payer account number format

debtorAccount.identification.other.identification

String

Max34Text Payer account number in local BBAN format

debtorAccount.currency

String

CurrencyCode ISO 4217 Payer’s account currency

intermediaryAgent1

Object

BranchAndFinancialInstitutionIdentification4CZ Intermediate 1

intermediaryAgent1.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

intermediaryAgent1.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identify a participant in a clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identification of the clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ClearingSystemIdentification1Code Code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

intermediaryAgent1.financialInstitutionIdentification.name

String

Max70Text Name

intermediaryAgent1.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

intermediaryAgent1.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

intermediaryAgent1.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

intermediaryAgent1.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text Zip code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

intermediaryAgent1.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

intermediaryAgent1.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1CZ Other bank identification

intermediaryAgent1.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditorAgent

Object

BranchAndFinancialInstitutionIdentification4CZ Bank of reciever

creditorAgent.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

creditorAgent.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identifikace účastníka clearingového systému

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identify a participant in a clearing system

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ExternalClearingSystemIdentification1Code Code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

creditorAgent.financialInstitutionIdentification.name

String

Max105Text Name

creditorAgent.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

creditorAgent.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

creditorAgent.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

creditorAgent.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text ZIP code

creditorAgent.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

creditorAgent.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

creditorAgent.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAgent.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1C Other bank identification

creditorAgent.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditor

Object

PartyIdentification32CZ2 Payee

creditor.name

String

Max70Text Payee name

creditor.postalAddress

Object

PostalAddress6CZ Postal address

creditor.postalAddress.streetName

String

Max70Text Street

creditor.postalAddress.buildingNumber

String

Max16Text Building number

creditor.postalAddress.postCode

String

Max16Text ZIP code

creditor.postalAddress.townName

String

Max35Text City

creditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

creditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAccount

Object

CashAccount16CZ Payee account

creditorAccount.identification

Object

AccountIdentification4ChoiceCZ Payee Account Identification

creditorAccount.identification.iban

String

IBAN2007Identifier Account number in IBAN format

creditorAccount.identification.other

Object

GenericAccountIdentification1CZ Another account number format

creditorAccount.identification.other.identification

String

Max34Text Account number in local BBAN format

creditorAccount.currency

String

CurrencyCode ISO4217 Payee account currency

ultimateCreditor

Object

PartyIdentification32CZ1 The final payee

ultimateCreditor.name

String

Max70Text Name of the final payee

ultimateCreditor.postalAddress

Object

PostalAddress6CZ Postal address of the final payee

ultimateCreditor.postalAddress.streetName

String

Max70Text Street

ultimateCreditor.postalAddress.buildingNumber

String

Max16Text Building number

ultimateCreditor.postalAddress.postCode

String

Max16Text ZIP code

ultimateCreditor.postalAddress.townName

String

Max35Text City

ultimateCreditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

ultimateCreditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

ultimateCreditor.identification

Object

Party6Choice Identification of the final payee

ultimateCreditor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the final payee as an organization / legal entity. either organizationalIdentification or privateIdentification

ultimateCreditor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the final payee as an organization / legal entity in the form of BIC or BEI code.

ultimateCreditor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the final payee as organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of parent payee as organization / legal entity in unstructured form.

ultimateCreditor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the final payee as an organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as an organization / legal entity in free text format.

ultimateCreditor.identification.organisationIdentification.other.issuer

String

Max35Text Document exhibitor for the final payee identification as an organization / legal entity.

ultimateCreditor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type for identifying the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as a physical person in free text format.

ultimateCreditor.identification.privateIdentification.other.issuer

String

Max35Text Document exhibitor for the final payee identification as an natural person.

purpose

Object

Purpose2Choice Purpose of payment

purpose.code

String

ExternalPurpose1Code Purpose of payment code

purpose.proprietary

String

Max35Text Free form of payment purpose

instructionForNextAgent

String

Instruction code Instructions for the next bank

remittanceInformation

Object

RemittanceInformation5CZ Payment information

remittanceInformation.unstructured

String

Max140Text Unstructured message for the payee

remittanceInformation.structured

Object

StructuredRemittanceInformation7CZ Structured message for payee - variable, specific, and constant symbol

remittanceInformation.structured.creditorReferenceInformation

Object

CreditorReferenceInformation2CZ Payee reference information

remittanceInformation.structured.creditorReferenceInformation.reference[]

Array

CreditorReferenceInformation2CZ Value of VS, SS, CS - ["VS:varSymb","KS:konstSymb","SS:specSymb"]

instructionStatus

String

Status of entered payment

Response fields

Path Type Description

standingOrderIdentification

Object

Max35Text Standing order identification

standingOrderIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation

Object

PaymentTypeInformation19 Payment type information

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

signInfo

Object

Authorization info structure

signInfo.state

String

Transaction authorization status, one of OPEN, CODE_GENERATED, COMPLETED, SECOND_SIGN_REQUIRED

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Domestic standing order

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:38:26 CEST
X-Request-ID: db2da5c8-fcac-4c33-aba4-891f90acf943
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJlMzJmMjUwYy02YjBhLTQ4MjgtODQ1Mi02NzJjYTU1NzE3MzgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjcwMSwiZXhwIjoxNjkyMDIwMzAxfQ.dq154Ye2LpfNaNM7fhjYC3rwPeNa2Nl4ZB5rpGk1ih8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 955
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: db2da5c8-fcac-4c33-aba4-891f90acf943
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "16281"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "8b5d13dc-83e9-4a73-8f84-6823f7395500"
  }
}

Foreign standing order

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:37:21 CEST
X-Request-ID: 83af0eba-ba79-49b0-a473-eb0a920c7c0f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI2ZTJlYWQ4YS02MTQ2LTQ2N2MtYmM2OC03YzhhYWI0NWZkMWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjYzNywiZXhwIjoxNjkyMDIwMjM3fQ.ASsWWmmxAcuZL3mhWq4_yu5xVaW-0rgAR922StGGttw
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1107
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAgent" : {
    "financialInstitutionIdentification" : {
      "bic" : "MHBFDEFF"
    }
  },
  "creditor" : {
    "name" : "Creditor name"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "DE77503302002085734000"
    },
    "currency" : "EUR"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 83af0eba-ba79-49b0-a473-eb0a920c7c0f
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "16278"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "68281268-4eb8-4b46-b6ca-fb7e1470db40"
  }
}

Domestic with error, not supported execution exception

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:37:26 CEST
X-Request-ID: 53298885-85a3-4053-861d-b628f196183b
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJlZjc2ZDg4YS0xYTM1LTQ1ODUtYWYwNy1hYWNiZDMyZWIxNmEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjY0MiwiZXhwIjoxNjkyMDIwMjQyfQ.BGIRnjCf35Jk2Of9_a-Lw3IyNYJlVsjrgSBGA_9w4Xk
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1022
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    },
    "exceptions" : {
      "stoppages" : [ "JUNE", "JULY" ]
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 500 Internal Server Error
Cache-Control: no-store
X-Request-ID: 53298885-85a3-4053-861d-b628f196183b
Content-Type: application/json;charset=UTF-8
Content-Length: 133

{
  "errors" : [ {
    "error" : "NARR",
    "scope" : "standingOrder.exceptions",
    "message" : "Exceptions not supported"
  } ]
}

Domestic with error, not supported execution interval

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:42:20 CEST
X-Request-ID: 9754bb56-31ab-4996-9304-286aa0c0c806
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI4NWU0MjAxZS01NDU0LTQzMTktYmI4ZC0yZWUyYTZlZTI4NTkiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjkzNiwiZXhwIjoxNjkyMDIwNTM2fQ.1xRbs4uNZ9O_xu1k5rREhJFSSk-fDn7WsCpVVEv0KMc
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 957
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "IRREGULAR",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 500 Internal Server Error
Cache-Control: no-store
X-Request-ID: 9754bb56-31ab-4996-9304-286aa0c0c806
Content-Type: application/json;charset=UTF-8
Content-Length: 143

{
  "errors" : [ {
    "error" : "NARR",
    "scope" : "standingOrder.execution.intervalDue",
    "message" : "IRREGULAR not supported"
  } ]
}

Domestic with error, wrong execution date

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:39:02 CEST
X-Request-ID: 4f94f5bb-d524-4d36-8967-f652f7f4ef1d
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzM2JhZWMxMS1mZjZkLTRiYjQtODEwNC1hYTI0YjY5YWMxYjgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjczOCwiZXhwIjoxNjkyMDIwMzM4fQ.lVKmEPU4QJtLXLNQ2nG8HQKgtPIbMqW4nmULgi6zNKo
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 955
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "1990-01-01",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: 4f94f5bb-d524-4d36-8967-f652f7f4ef1d
Content-Type: application/json;charset=UTF-8
Content-Length: 160

{
  "errors" : [ {
    "error" : "DT01",
    "scope" : "requestedExecutionDate",
    "message" : "The required due date cannot be today or in the past."
  } ]
}

Domestic with error, not set end date of execution for parameter UNTIL_Date

Request

POST /standingorders HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:41:33 CEST
X-Request-ID: 6c367be8-ea82-4722-ac4f-5ed32b7de3be
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJiZDBkMGFlZC1hMWVkLTQ4MTUtYjdiNi0yMmQ5NTM4ZDBjMzIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjg4OCwiZXhwIjoxNjkyMDIwNDg4fQ.gZ3_SgsPV6dRX2yH_UK9MxsXk7NVcu29tIFD4XjU410
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 947
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_DATE",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}

Response

HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: 6c367be8-ea82-4722-ac4f-5ed32b7de3be
Content-Type: application/json;charset=UTF-8
Content-Length: 154

{
  "errors" : [ {
    "error" : "FIELD_MISSING",
    "scope" : "standingOrder.validity",
    "message" : "Missing mandatory field in the request"
  } ]
}

Standing order detail

A GET request to get standing order details.

Path parameters

Table 15. /standingorders/{transactionIdentification}
Parameter Description

transactionIdentification

Requested transaction identification

Response fields

Path Type Description

standingOrderIdentification

Object

Max35Text Standing order identification

standingOrderIdentification.instructionIdentification

String

Max35Text Instruction identification

standingOrderIdentification.endToEndIdentification

String

Max35Text End to end identification

standingOrderIdentification.transactionIdentification

String

Max35Text Transaction identification

paymentTypeInformation

Object

PaymentTypeInformation19 Payment type information

paymentTypeInformation.instructionPriority

String

Priority2Code Instruction priority

paymentTypeInformation.serviceLevel

Object

ServiceLevel8CZ Service level

paymentTypeInformation.serviceLevel.code

String

ExternalServiceLevel1Code Service level code

paymentTypeInformation.categoryPurpose

Object

CategoryPurpose1Choice Category of the purpose of payment

paymentTypeInformation.categoryPurpose.code

String

ExternalCategoryPurpose1Code Payment purpose category code

paymentTypeInformation.categoryPurpose.proprietary

String

Max35Text Free format for the purpose of the payment purpose

amount

Object

STDO - AmountType3CZ, ESST - AmountType3CZ, XBST - AmountType3Choice

amount.instructedAmount

Object

CurrencyAndAmount Amount and currency in the instruction

amount.instructedAmount.value

Number

Amount Amount of the transfer

amount.instructedAmount.currency

String

CurrencyCode Transfer Currency

requestedExecutionDate

String

ISODate Requested date of payment

standingOrder

Object

Structure describing the parameters of the standing orders

standingOrder.alias

String

Max140Text Description resp. the user-defined standing order payment name

standingOrder.execution

Object

Features of execution a standing order for payment

standingOrder.execution.mode

String

Max35Text The execution mode defines when or how standing order will be cancelled, processed the last time

standingOrder.execution.modeDue

String

Max35Text The execution due mode defines how the date when order should be executed is specified

standingOrder.execution.interval

String

Max10Text Execution interval defines how often order is executed

standingOrder.execution.remitSkipCount

Number

Number, 1 - default, each remitType (e.g. day or month), 2 - each second remitType (e.g. day or month), 3 - and so on. Must be in interval from 1 to 10. If not set, default value is 1.

standingOrder.exceptions

Object

Elements defining exceptions to executing a standing order

standingOrder.exceptions.stoppages

Array

List of months where there is no payment (only applicable with interval IRREGULAR)

standingOrder.exceptions.breaks

Array

Elements defining exceptions to executing a standing order

standingOrder.exceptions.breaks[].validFromDate

String

Start date of one break period

standingOrder.exceptions.breaks[].validToDate

String

End date of one break period

standingOrder.validity

Object

Max250Text Elements restricting the validity of the standing order

standingOrder.validity.lastExecutionDate

String

ISODate Date when the last order will be processed. Null value responds to ending by the user.

exchangeRateInformation

Object

ExchangeRateInformation1 Contractual course

exchangeRateInformation.exchangeRate

Number

BaseOneRate Agreed exchange rate

exchangeRateInformation.rateType

String

ExchangeRate Type of agreed exchange rate

exchangeRateInformation.contractIdentification

String

Max35Text Identify the use of the agreed exchange rate

chargeBearer

String

ChargeBearerType1Code Fee payer

chargesAccount

Object

CashAccount16CZ Account for fees

chargesAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of account number for fees

chargesAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

chargesAccount.currency

String

CurrencyCode ISO 4217 Account currency for fees

ultimateDebtor

Object

PartyIdentification32CZ1 Original payer

ultimateDebtor.name

String

Max70Text The name of the original payer

ultimateDebtor.postalAddress

Object

PostalAddress6CZ Postal address of the original payer

ultimateDebtor.postalAddress.streetName

String

Max70Text Street of original payer

ultimateDebtor.postalAddress.buildingNumber

String

Max16Text The original payer’s house number

ultimateDebtor.postalAddress.postCode

String

Max16Text The postal code of the original payer

ultimateDebtor.postalAddress.townName

String

Max35Text City of the original payer

ultimateDebtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country of the original payer

ultimateDebtor.postalAddress.addressLine[]

Array

Max70Text Unstructured entry of the original payer’s address

ultimateDebtor.identification

Object

Party6Choice Identification of the original payer

ultimateDebtor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the original payer as organization / legal entity. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the original payer as organization / legal entity in the form of BIC or BEI code.

ultimateDebtor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of the original payer as organization / legal entity in unstructured form.

ultimateDebtor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the original payer as organization / legal entity.

ultimateDebtor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as organization / legal entity in free text format.

ultimateDebtor.identification.organisationIdentification.other.issuer

String

Max35Text Document exhibitor for identification the original payer as organization / legal entity.

ultimateDebtor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the original payer as a natural person. either organizationalIdentification or privateIdentification

ultimateDebtor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the original payer as a natural person in unstructured form.

ultimateDebtor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type to identify the original payer as a natural person.

ultimateDebtor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the original payer as a physical person in free text format.

ultimateDebtor.identification.privateIdentification.other.issuer

String

Max35Text Document exhibitor for identification the original payer as a natural person.

debtor

Object

PartyIdentification32CZ2 Payer.

debtor.name

String

Max70Text Payer name

debtor.postalAddress

Object

PostalAddress6CZ Postal address of the payer

debtor.postalAddress.streetName

String

Max70Text The street name used for the postal address of the payer.

debtor.postalAddress.buildingNumber

String

Max16Text The reference number used for the postal address of the payer.

debtor.postalAddress.postCode

String

Max16Text The postal code used for the postal address of the payer.

debtor.postalAddress.townName

String

Max35Text The city name used for the postal address of the payer.

debtor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) The country name used for the postal address of the payer.

debtor.postalAddress.addressLine[]

Array

Max70Text Unstructured payer postal address record.

debtorAccount

Object

CashAccount16CZ Payer’s account

debtorAccount.identification

Object

AccountIdentification4ChoiceCZ Identification of the payer’s account

debtorAccount.identification.iban

String

IBAN2007Identifier Payer account number in IBAN format

debtorAccount.identification.other

Object

GenericAccountIdentification1CZ Another payer account number format

debtorAccount.identification.other.identification

String

Max34Text Payer account number in local BBAN format

debtorAccount.currency

String

CurrencyCode ISO 4217 Payer’s account currency

intermediaryAgent1

Object

BranchAndFinancialInstitutionIdentification4CZ Intermediate 1

intermediaryAgent1.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

intermediaryAgent1.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identify a participant in a clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identification of the clearing system

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ClearingSystemIdentification1Code Code

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

intermediaryAgent1.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

intermediaryAgent1.financialInstitutionIdentification.name

String

Max70Text Name

intermediaryAgent1.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

intermediaryAgent1.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

intermediaryAgent1.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

intermediaryAgent1.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text Zip code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

intermediaryAgent1.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

intermediaryAgent1.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

intermediaryAgent1.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1CZ Other bank identification

intermediaryAgent1.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditorAgent

Object

BranchAndFinancialInstitutionIdentification4CZ Bank of reciever

creditorAgent.financialInstitutionIdentification

Object

FinancialInstitutionIdentification7CZ Identification of the financial institution

creditorAgent.financialInstitutionIdentification.bic

String

BICIdentifier BIC / SWIFT bank code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification

Object

ClearingSystemMemberIdentification2 Identifikace účastníka clearingového systému

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification

Object

ClearingSystemIdentification2Choice Identify a participant in a clearing system

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.code

String

ExternalClearingSystemIdentification1Code Code

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.clearingSystemIdentification.proprietary

String

Max35Text Free format

creditorAgent.financialInstitutionIdentification.clearingSystemMemberIdentification.memberIdentification

String

Max35Text Subscriber Clearing Code

creditorAgent.financialInstitutionIdentification.name

String

Max105Text Name

creditorAgent.financialInstitutionIdentification.postalAddress

Object

PostalAddress6CZ Postal address

creditorAgent.financialInstitutionIdentification.postalAddress.streetName

String

Max70Text Street

creditorAgent.financialInstitutionIdentification.postalAddress.buildingNumber

String

Max16Text Building number

creditorAgent.financialInstitutionIdentification.postalAddress.postCode

String

Max16Text ZIP code

creditorAgent.financialInstitutionIdentification.postalAddress.townName

String

Max35Text City

creditorAgent.financialInstitutionIdentification.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country code

creditorAgent.financialInstitutionIdentification.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAgent.financialInstitutionIdentification.other

Object

GenericFinancialIdentification1C Other bank identification

creditorAgent.financialInstitutionIdentification.other.identification

String

Max35Text Local bank code

creditor

Object

PartyIdentification32CZ2 Payee

creditor.name

String

Max70Text Payee name

creditor.postalAddress

Object

PostalAddress6CZ Postal address

creditor.postalAddress.streetName

String

Max70Text Street

creditor.postalAddress.buildingNumber

String

Max16Text Building number

creditor.postalAddress.postCode

String

Max16Text ZIP code

creditor.postalAddress.townName

String

Max35Text City

creditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

creditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

creditorAccount

Object

CashAccount16CZ Payee account

creditorAccount.identification

Object

AccountIdentification4ChoiceCZ Payee Account Identification

creditorAccount.identification.iban

String

IBAN2007Identifier Account number in IBAN format

creditorAccount.identification.other

Object

GenericAccountIdentification1CZ Another account number format

creditorAccount.identification.other.identification

String

Max34Text Account number in local BBAN format

creditorAccount.currency

String

CurrencyCode ISO4217 Payee account currency

ultimateCreditor

Object

PartyIdentification32CZ1 The final payee

ultimateCreditor.name

String

Max70Text Name of the final payee

ultimateCreditor.postalAddress

Object

PostalAddress6CZ Postal address of the final payee

ultimateCreditor.postalAddress.streetName

String

Max70Text Street

ultimateCreditor.postalAddress.buildingNumber

String

Max16Text Building number

ultimateCreditor.postalAddress.postCode

String

Max16Text ZIP code

ultimateCreditor.postalAddress.townName

String

Max35Text City

ultimateCreditor.postalAddress.country

String

CountryCode, ISO3166 (2 alphanumeric characters code version) Country

ultimateCreditor.postalAddress.addressLine[]

Array

Max70Text Unstructured address entry

ultimateCreditor.identification

Object

Party6Choice Identification of the final payee

ultimateCreditor.identification.organisationIdentification

Object

OrganisationIdentification4CZ Unambiguous identification of the final payee as an organization / legal entity. either organizationalIdentification or privateIdentification

ultimateCreditor.identification.organisationIdentification.bicOrBei

String

BICIdentifier Identification of the final payee as an organization / legal entity in the form of BIC or BEI code.

ultimateCreditor.identification.organisationIdentification.other

Object

GenericOrganisationIdentification1 Other identification of the final payee as organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.identification

String

Max35Text Other identification of parent payee as organization / legal entity in unstructured form.

ultimateCreditor.identification.organisationIdentification.other.schemeName

Object

OrganisationIdentificationSchemeName1CZ Document type for identifying the final payee as an organization / legal entity.

ultimateCreditor.identification.organisationIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as an organization / legal entity in free text format.

ultimateCreditor.identification.organisationIdentification.other.issuer

String

Max35Text Document exhibitor for the final payee identification as an organization / legal entity.

ultimateCreditor.identification.privateIdentification

Object

PersonIdentification5CZ Unambiguous identification of the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other

Object

GenericPersonIdentification1 Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.identification

String

Max35Text Other identification of the final payee as a natural person in unstructured form.

ultimateCreditor.identification.privateIdentification.other.schemeName

Object

PersonIdentificationSchemeName1Choice Document type for identifying the final payee as a natural person.

ultimateCreditor.identification.privateIdentification.other.schemeName.proprietary

String

Max35Text Document type for identifying the final payee as a physical person in free text format.

ultimateCreditor.identification.privateIdentification.other.issuer

String

Max35Text Document exhibitor for the final payee identification as an natural person.

purpose

Object

Purpose2Choice Purpose of payment

purpose.code

String

ExternalPurpose1Code Purpose of payment code

purpose.proprietary

String

Max35Text Free form of payment purpose

instructionForNextAgent

String

Instruction code Instructions for the next bank

remittanceInformation

Object

RemittanceInformation5CZ Payment information

remittanceInformation.unstructured

String

Max140Text Unstructured message for the payee

remittanceInformation.structured

Object

StructuredRemittanceInformation7CZ Structured message for payee - variable, specific, and constant symbol

remittanceInformation.structured.creditorReferenceInformation

Object

CreditorReferenceInformation2CZ Payee reference information

remittanceInformation.structured.creditorReferenceInformation.reference[]

Array

CreditorReferenceInformation2CZ Value of VS, SS, CS - ["VS:varSymb","KS:konstSymb","SS:specSymb"]

instructionStatus

String

Status of entered payment

signInfo

Object

Authorization info structure

signInfo.state

String

Transaction authorization status, one of OPEN, CODE_GENERATED, COMPLETED, SECOND_SIGN_REQUIRED

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /standingorders/16303 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:41:20 CEST
X-Request-ID: 9be11a91-f589-4b7c-9472-3e6536e523c1
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI3NzdhZGNlOC0zZjdlLTQwODctOGZmNi1hOTAyMmU4NDY5MDUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjg3NSwiZXhwIjoxNjkyMDIwNDc1fQ.AsXuc2nbzAMb-CbIIVh7lTeJdvn_3T4Li1iFXJs7qiQ
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 9be11a91-f589-4b7c-9472-3e6536e523c1
Content-Length: 1260

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
    "transactionIdentification" : "16303"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM",
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1500.0,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditor" : { },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123",
      "other" : { }
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  },
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "3f2aa7fc-a205-4b3f-bffc-801a66ff2b2d"
  }
}

Standing order status

A GET request to get standing order status.

Path parameters

Table 16. /standingorders/{transactionIdentification}/status
Parameter Description

transactionIdentification

Requested transaction identification

Response fields

Path Type Description

instructionStatus

String

Status of entered payment

realizedPayments

Array

Array of transaction identificators

realizedPayments[].transactionIdentification

String

Identifier of established transaction

realizedPayments[].date

String

Due date/payment foreign currency in the format ISODate or ISODateTime.

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /standingorders/16307/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:41:50 CEST
X-Request-ID: 9b1ef5a4-b07f-493c-9467-44565dab18ed
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwMDcwYjA3OS00MDZhLTRiMmEtYTY2YS1jNTgxOWY2N2VmNDAiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjkwNSwiZXhwIjoxNjkyMDIwNTA1fQ.lBl2DnSLMqZNXTj1Re2hmi8sLOICQJe5Ki8Zp8SA0hU
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 9b1ef5a4-b07f-493c-9467-44565dab18ed
Content-Length: 62

{
  "instructionStatus" : "ACTC",
  "realizedPayments" : [ ]
}

Example for not existing standing order

GET /standingorders/999999999 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:38:14 CEST
X-Request-ID: 4b342c91-1c33-44ca-89ab-f49739575530
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJlOGU3NWNkMy1jMGM2LTQzZmYtYmMwMy1jNzQ2NDBmZTU3MzMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjY5MCwiZXhwIjoxNjkyMDIwMjkwfQ.T_PCpV8CW_RCXBvoov9-bu3BzMf15AbrvHCF9wAYzcM
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 404 Not Found
Cache-Control: no-store
X-Request-ID: 4b342c91-1c33-44ca-89ab-f49739575530
Content-Type: application/json;charset=UTF-8
Content-Length: 112

{
  "errors" : [ {
    "error" : "TRANSACTION_MISSING",
    "message" : "Standing order does not exists"
  } ]
}

Standing order delete

A DELETE request to delete standing order

Path parameters

Table 17. /standingorders/{transactionIdentification}
Parameter Description

transactionIdentification

Requested transaction identification

Example

DELETE /standingorders/16280 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:38:20 CEST
X-Request-ID: ba8ae503-3722-4b73-b632-df8cbfa03fc5
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJiNTYzOWQ2Zi01NmJlLTRmYmItODQ4NC03MzBmOWM4ZGJkNDYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjY5NSwiZXhwIjoxNjkyMDIwMjk1fQ.9ng974JNt9wJ9-VKQd0l_KST1uiIAj21ei3xnNuC4Hw
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: ba8ae503-3722-4b73-b632-df8cbfa03fc5

Standing order update

A PUT request to change standing order

Additional information

  • to update the existing standing order you need to send not only the changed parameters, but also the existing ones

  • request for update of current standing order creates new standing order with new identification number. After authorization the current standing order is deleted

Path parameters

Table 18. /standingorders/{transactionIdentification}
Parameter Description

transactionIdentification

Requested transaction identification

Example

PUT /standingorders/16285 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:38:57 CEST
X-Request-ID: bfc802cb-a9d4-4a59-8848-d1cd0b9597a6
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzMWMzZGI3ZC1kOTc2LTQwNGUtOTllNy0xODE4MmJjMGY0YzQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjczMSwiZXhwIjoxNjkyMDIwMzMxfQ.PlhxuO4iVqQDZHsvzf61cu5ayU-RAKRAYpYNci24vQc
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 954
Host: localhost:8080

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 10000,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2222-09-08",
  "standingOrder" : {
    "alias" : "TEST_STANDING_ORDER_ALIAS",
    "execution" : {
      "mode" : "UNTIL_CANCELLATION",
      "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
      "interval" : "MONTHLY",
      "remitSkipCount" : 1
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "creditorAccount" : {
    "identification" : {
      "iban" : "CZ6330300000000000000123"
    },
    "currency" : "CZK"
  },
  "remittanceInformation" : {
    "unstructured" : "Test sprava pro prijemce",
    "structured" : {
      "creditorReferenceInformation" : {
        "reference" : [ "VS:1000", "KS:2000", "SS:3000" ]
      }
    }
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: bfc802cb-a9d4-4a59-8848-d1cd0b9597a6
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "16286"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "ec094360-884d-4d38-ad77-e443229da7c2"
  }
}

Standing order signing

Authorization detail (I)

A GET request to get standing order authorization detail

Path parameters

Table 19. /standingorders/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Requested transaction identification

signId

signature id

Response fields

Path Type Description

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /standingorders/16263/sign/85b97326-526a-4242-b099-98300595c319 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:36:29 CEST
X-Request-ID: db76e744-8bfb-47b9-b63e-541715f8fd08
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzZGI5NjBlZC02YTUwLTQ5YjktODY5Yy00MDdkZTQyYTVmMTMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU4MywiZXhwIjoxNjkyMDIwMTgzfQ.AkeeYzr3lweMo4TDFiDiWiG2p4WsSqHGf2QCMpoAdwA
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: db76e744-8bfb-47b9-b63e-541715f8fd08
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "85b97326-526a-4242-b099-98300595c319"
  }
}

Authorization initiation (II)

A POST request to generate signature

Additional information

For authorization initiation use endpoint v2/standingorders/{transactionIdentification}/sign/{signId}.

Path parameters

Table 20. /standingorders/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Requested transaction identification

signId

signature id

Request parameters

Parameter Description

testAuthCode

if true and application runs in non-production environment, then no SMS is send and auth.code value is always 0000

Request fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

redirectUrl

String

URL link or package of federated authorization call back address. This address is used by the federated bank authorization to redirect back to the TPP application after authorization is complete

Response fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

href

Object

Reference to call federated authorization

href.url

String

URL link or package of federated authorization

href.id

String

Possible id for calling federated authorization.

method

String

CMethod to use href link and federated authorization.

code

Object

Structure containing signing data for signing at TPP aplication

code.prefix

String

SMS or Token signing prefix

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

POST /standingorders/16263/sign/85b97326-526a-4242-b099-98300595c319?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:36:30 CEST
X-Request-ID: 105ba114-5fa5-46fe-96b7-d102d6f70d38
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzZGI5NjBlZC02YTUwLTQ5YjktODY5Yy00MDdkZTQyYTVmMTMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU4MywiZXhwIjoxNjkyMDIwMTgzfQ.AkeeYzr3lweMo4TDFiDiWiG2p4WsSqHGf2QCMpoAdwA
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 37

{
  "authorizationType" : "SMS_TPP"
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 105ba114-5fa5-46fe-96b7-d102d6f70d38
Content-Length: 212

{
  "authorizationType" : "SMS_TPP",
  "code" : {
    "prefix" : "HEK"
  },
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "85b97326-526a-4242-b099-98300595c319",
    "scenario" : "SMS_TPP"
  }
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Table 21. /standingorders/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Requested transaction identification

signId

signature id

Request fields

Path Type Description

code

Object

Structure of authorization code

code.code

String

authorization code value - one time password (SMS signing code, Token signing code)

Response fields

Path Type Description

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

PUT /standingorders/16263/sign/85b97326-526a-4242-b099-98300595c319 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:36:30 CEST
X-Request-ID: 40af21f0-ba5a-44c7-a22a-3135f3cb242a
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzZGI5NjBlZC02YTUwLTQ5YjktODY5Yy00MDdkZTQyYTVmMTMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjU4MywiZXhwIjoxNjkyMDIwMTgzfQ.AkeeYzr3lweMo4TDFiDiWiG2p4WsSqHGf2QCMpoAdwA
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 40
Host: localhost:8080

{
  "code" : {
    "code" : "0000"
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 40af21f0-ba5a-44c7-a22a-3135f3cb242a
Content-Length: 133

{
  "signInfo" : {
    "state" : "COMPLETED",
    "signId" : "85b97326-526a-4242-b099-98300595c319",
    "scenario" : "SMS_TPP"
  }
}

New Batch payment

A POST request to enter a batch payment.

Additional information

  • the number of payments in a batch payment is not limited

  • batch payment can include domestic and foreign payments together

Request fields

Path Type Description

exchangeIdentification

String

Required. Max18Text Clear query identification

instructionName

String

Max35Text An entry field for an optional batch name

payments

Array

Required. Max18Text Clear query identification

payments[].signId

String

Required. Max35Text Identifier of the authorization process of a particular transaction

Response fields

Path Type Description

transactionIdentification

String

Max35Text An entry field for an optional batch name

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status

signInfo.signId

String

Max35Text Identifier of the authorization process of a particular transaction

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Batch payment

Request

POST /batchpayments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:31:44 CEST
X-Request-ID: 49e611d0-c765-4f9d-b6c6-242a3d73ed0f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIyMTQ3ZjFmZC0yODQ4LTQzNTktOTNkNy0zOWU0MzFmZWQ0ZDIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjI5OCwiZXhwIjoxNjkyMDE5ODk4fQ.BeMoNvQseGQLl0ywH_swyCjJDAmy73umtuUqYuJUnn4
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 297
Host: localhost:8080

{
  "exchangeIdentification" : "658576010faf0a23dc",
  "instructionName" : "TestBatchPayment",
  "payments" : [ {
    "signId" : "2b77b94b-4579-49f2-8de7-43034fb82b5e"
  }, {
    "signId" : "780e123a-e6c8-4218-aa7a-236b39b7b813"
  }, {
    "signId" : "2429e5b9-198e-4b88-9708-88758231a68d"
  } ]
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 49e611d0-c765-4f9d-b6c6-242a3d73ed0f
Content-Length: 220

{
  "transactionIdentification" : "7cdcfa18-4789-4e15-aa67-63362f27b417",
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "75f5344a-551b-4125-aab2-048f20081540"
  }
}

Batch payment with not existing payment sign id

Request

POST /batchpayments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:29:39 CEST
X-Request-ID: e0653507-9066-42ef-adf4-16eb2c4e2125
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwNGNkZDYxYy0xYzg3LTQwZmYtOTEyNS0yNzExYmI2N2I0YTkiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjE3NSwiZXhwIjoxNjkyMDE5Nzc1fQ.nMgfdGqdnunc0xWE_ksdpImtHms-lo3iW9ZZ44Bt5G8
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 341
Host: localhost:8080

{
  "exchangeIdentification" : "658576010faf0a23dc",
  "instructionName" : "TestBatchPayment",
  "payments" : [ {
    "signId" : "73364923-51ca-4fad-ac1d-8f403bddc287"
  }, {
    "signId" : "382dc37a-310c-4665-b7c5-31c8cd3c07ba"
  }, {
    "signId" : "71e19b16-f2e1-4abe-91e5-ff17e6b9d2b9"
  }, {
    "signId" : "NotExisting-ID-0000"
  } ]
}

Response

HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: e0653507-9066-42ef-adf4-16eb2c4e2125
Content-Type: application/json;charset=UTF-8
Content-Length: 134

{
  "errors" : [ {
    "error" : "INCORRECT_SIGNID",
    "scope" : "payments.signId",
    "message" : "Payment does not exist"
  } ]
}

Batch payment status

A GET request to get batch payment status.

Differences from COBS standard

  • extra field “instructionStatus” for individual payments is returned in response

Path parameters

Table 22. /batchpayments/{transactionIdentification}/status
Parameter Description

transactionIdentification

Requested transaction identification

Response fields

Path Type Description

instructionStatus

String

Status of entered batch payment

payments

Array

Max18Text Clear query identification

payments[].transactionIdentification

String

Max35Text Identifier of established individual transaction

payments[].instructionStatus

String

Status of payment

payments[].signInfo

Object

Status information and id of unauthorized transactions

payments[].signInfo.state

String

Transaction authorization status

payments[].signInfo.signId

String

Max35Text Identifier of the authorization process of a particular transaction

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /batchpayments/0d10232c-f8fd-4822-a119-81f5fd984250/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:33:19 CEST
X-Request-ID: d771e979-ae1a-4f4d-b574-e6532dfc4f7a
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI2YzdjZWNjMi1iMWNjLTQ3YTAtOGFlMS0yYTA5N2I3NGVmYTMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjM5NSwiZXhwIjoxNjkyMDE5OTk1fQ.5kxglHEvue3756CcSTWW36vSISUnfSRwIs9CTKFSNgc
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: d771e979-ae1a-4f4d-b574-e6532dfc4f7a
Content-Length: 644

{
  "instructionStatus" : "ACTC",
  "payments" : [ {
    "transactionIdentification" : "TPSD004569392",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "5e77c2ac-23fa-4b94-a428-a9562ea3d1be"
    }
  }, {
    "transactionIdentification" : "TPSD004569392",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "0916ad57-6446-4fe0-b418-2d7f5b5b0516"
    }
  }, {
    "transactionIdentification" : "TPSD004569392",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "934f6ddc-a8ac-4c16-9fe4-4bc2d1e35b4f"
    }
  } ]
}

Batch payment delete

A DELETE request to delete standing order

Path parameters

Table 23. /batchpayments/{transactionIdentification}
Parameter Description

transactionIdentification

Required. Requested transaction identification

Request parameters

Parameter Description

allInstructions

If this parameter is set to true, it is required to delete this bulk payment, but also all individual bulk instructions

Example

DELETE /batchpayments/4fc85ded-afc8-4c67-bb3c-cd6bc65bee10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:32:32 CEST
X-Request-ID: 16cc4011-0d32-49e4-bd53-f4e15dc760bc
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiI2OTliYzNhNC1iZWJhLTQ4ZmQtOTllMC01NmFhZjEyNDg1MzYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjM0NywiZXhwIjoxNjkyMDE5OTQ3fQ.zv2tonmZwEcAsUZI2MpAciflI54QPEZVz9PnDkkwy38
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 16cc4011-0d32-49e4-bd53-f4e15dc760bc

Example of deleting with instructions

DELETE /batchpayments/a33d11ef-b741-4f8c-a2de-0d3856d7237b?allInstructions=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:30:10 CEST
X-Request-ID: dcc12a4b-26ef-4b1d-833f-cf238a05bfb2
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIzNGJkNDA4MC02MGU4LTQ1NzYtYWMyOC1jMGExZDE4YzE2ZTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjIwNSwiZXhwIjoxNjkyMDE5ODA1fQ.M_jF5MFElP-PkUE5te5hgDDEHuoQJMk7JpjUZW0Ukrs
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: dcc12a4b-26ef-4b1d-833f-cf238a05bfb2

Batch payment signing

Authorization detail (I)

A GET request to get batch payment authorization detail

Path parameters

Table 24. /batchpayments/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Required. Requested transaction identification

signId

Required. Requested signature id

Response fields

Path Type Description

scenarios

Array

A set of possible authorization scenarios, e.g. ['SMS_TPP', 'SMS_FEDERATED']

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

GET /batchpayments/2a3b2d81-08c7-4e2f-829d-f7e422a8a77f/sign/a69e914b-8dac-4767-95e9-75053781955e HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:30:58 CEST
X-Request-ID: 9351637a-b680-4907-8732-c1b200d35ba5
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJmN2I5ZTkyNi02OWZmLTQ2N2EtYTk5My00M2RjM2YwYWQwNjciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjI0OSwiZXhwIjoxNjkyMDE5ODQ5fQ.pN8XXHKbQYkcxS8thm7HHTvee1b7XFsFsqctuewXzhk
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 9351637a-b680-4907-8732-c1b200d35ba5
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "a69e914b-8dac-4767-95e9-75053781955e"
  }
}

Authorization initiation (II)

A POST request to generate signature

Additional information

For authorization initiation use endpoint v2/batchpayments/{transactionIdentification}/sign/{signId}.

Path parameters

Table 25. /batchpayments/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Required. Requested transaction identification

signId

Required. Requested signature id

Request parameters

Parameter Description

testAuthCode

if true and application runs in non-production environment, then no SMS is send and auth.code value is always 0000

Request fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

redirectUrl

String

URL link or package of federated authorization call back address. This address is used by the federated bank authorization to redirect back to the TPP application after authorization is complete

Response fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

href

Object

Reference to call federated authorization

href.url

String

URL link or package of federated authorization

href.id

String

Possible id for calling federated authorization.

method

String

CMethod to use href link and federated authorization.

code

Object

Structure containing signing data for signing at TPP aplication

code.prefix

String

SMS or Token signing prefix

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

POST /batchpayments/2a3b2d81-08c7-4e2f-829d-f7e422a8a77f/sign/a69e914b-8dac-4767-95e9-75053781955e?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:30:59 CEST
X-Request-ID: 12df09fa-2864-4513-b4bd-22f031f2eb56
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJmN2I5ZTkyNi02OWZmLTQ2N2EtYTk5My00M2RjM2YwYWQwNjciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjI0OSwiZXhwIjoxNjkyMDE5ODQ5fQ.pN8XXHKbQYkcxS8thm7HHTvee1b7XFsFsqctuewXzhk
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 37
Host: localhost:8080

{
  "authorizationType" : "SMS_TPP"
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 12df09fa-2864-4513-b4bd-22f031f2eb56
Content-Length: 212

{
  "authorizationType" : "SMS_TPP",
  "code" : {
    "prefix" : "BEM"
  },
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "a69e914b-8dac-4767-95e9-75053781955e",
    "scenario" : "SMS_TPP"
  }
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Table 26. /batchpayments/{transactionIdentification}/sign/{signId}
Parameter Description

transactionIdentification

Required. Requested transaction identification

signId

Required. Requested signature id

Request fields

Path Type Description

code

Object

Structure of authorization code

code.code

String

authorization code value - one time password (SMS signing code, Token signing code)

Response fields

Path Type Description

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example

PUT /batchpayments/2a3b2d81-08c7-4e2f-829d-f7e422a8a77f/sign/a69e914b-8dac-4767-95e9-75053781955e HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:31:01 CEST
X-Request-ID: 1606d23e-e73d-4bf5-a1ae-d314f65ca111
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiJmN2I5ZTkyNi02OWZmLTQ2N2EtYTk5My00M2RjM2YwYWQwNjciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjI0OSwiZXhwIjoxNjkyMDE5ODQ5fQ.pN8XXHKbQYkcxS8thm7HHTvee1b7XFsFsqctuewXzhk
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 40
Host: localhost:8080

{
  "code" : {
    "code" : "0000"
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 1606d23e-e73d-4bf5-a1ae-d314f65ca111
Content-Length: 133

{
  "signInfo" : {
    "state" : "COMPLETED",
    "signId" : "a69e914b-8dac-4767-95e9-75053781955e",
    "scenario" : "SMS_TPP"
  }
}

Oauth2 info

A GET request to get OAuth2 payment confirmation form

Request parameters

Parameter Description

id

if true and application runs in non-production environment, then no SMS is send and auth.code value is always 0000

redirectUrl

if true and application runs in non-production environment, then no SMS is send and auth.code value is always 0000

Request fields

Path Type Description

authorizationType

String

Code of required authorization (from authorization scenarios) - a selected scenario

href

Object

Reference to call federated authorization

href.url

String

URL link or package of federated authorization

href.id

String

Possible id for calling federated authorization.

method

String

CMethod to use href link and federated authorization.

code

Object

Structure containing signing data for signing at TPP aplication

code.prefix

String

SMS or Token signing prefix

signInfo

Object

Status information and id of unauthorized transactions

signInfo.state

String

Transaction authorization status, e.g. OPEN

signInfo.signId

String

Identifier of the authorization process of a particular transaction. Up to 36 chars.

signInfo.scenario

String

Selected authorization scenario

Example

GET /oauth2/sign?id=e4601bea97a6f0bc812978a54c39607314fd4f2ded22ba80d66bd2cf46650bdce89fe87639e97ae0f5bccb1297be834c6031170f114c6fb95fd675cbb53f0cde45ab1e517b880017675dd8d8379bb07b6f2a9d7f96fd7033ea43c6ed044b6754fd6ef3f9687e3e13567da389b11c52bf076cbf7c283f10c913962e30a4a9db04_f4b831a01252ae00&redirectUrl=https%253A%252F%252Ftpp2.cz%252Fsign&redirectUrl=https%3A%2F%2Ftpp2.cz%2Fsign HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:27:44 CEST
X-Request-ID: 892c4bb7-6014-436e-b76f-0958bdd7d5a8
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCAyIC0gTkVNQVpBVCAhISEiLCJqdGkiOiIwMjY2MDJiNy00ODlmLTQ1MTEtODFmNi04MWQ5MzVlOTI0NTgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoxMjk0ODYsImFjY291bnRzIjpbeyJhY2NvdW50Tm8iOiIqIiwicGVybWlzc2lvbiI6IkFDVElWRSJ9XSwiY2xpZW50X2lkIjoiMDY4MDIwZjYtNDYzMS00NzA1LWFhZTgtM2VlNmU5ZmI4NDRiIiwic2NvcGVzIjpbInBpc3AiLCJhaXNwIl0sImlhdCI6MTY5MjAxNjA1NywiZXhwIjoxNjkyMDE5NjU3fQ.lxFyvNxr4047Nna3GtVnMdqxfL-l3oblXsJ9NTPVi48
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 876
Host: localhost:8080

{
  "authorizationType" : "SMS_FEDERATED",
  "href" : {
    "url" : "https://api-test.maxbanka.eu/oauth2/sign?id=e4601bea97a6f0bc812978a54c39607314fd4f2ded22ba80d66bd2cf46650bdce89fe87639e97ae0f5bccb1297be834c6031170f114c6fb95fd675cbb53f0cde45ab1e517b880017675dd8d8379bb07b6f2a9d7f96fd7033ea43c6ed044b6754fd6ef3f9687e3e13567da389b11c52bf076cbf7c283f10c913962e30a4a9db04_f4b831a01252ae00&redirectUrl=https://tpp2.cz/sign",
    "id" : "e4601bea97a6f0bc812978a54c39607314fd4f2ded22ba80d66bd2cf46650bdce89fe87639e97ae0f5bccb1297be834c6031170f114c6fb95fd675cbb53f0cde45ab1e517b880017675dd8d8379bb07b6f2a9d7f96fd7033ea43c6ed044b6754fd6ef3f9687e3e13567da389b11c52bf076cbf7c283f10c913962e30a4a9db04_f4b831a01252ae00"
  },
  "method" : "GET",
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "54187844-2037-4cb8-b953-3671cbf6c1fb",
    "scenario" : "SMS_FEDERATED"
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Language: cs

CISP API

Balance check (CISP)

A POST request to balance check. User token is not required

Request fields

Path Type Description

exchangeIdentification

String

Max35Text Clear query identification, required

card.cardholderName

String

Max45Text Card holder name, optional

card.maskedPan

String

Max30Text Masked card number, optional

debtorAccount.identification.iban

String

IBAN2007Identifier Account number for charges in IBAN format

debtorAccount.currency

String

CurrencyCode, ISO 4217 Payer account currency, optional

authenticationMethod

String

Client verification method, see AuthenticationMethod enum in COBS for possible values, optional

merchant.identification

String

Merchant identification, optional

merchant.type

String

Merchant type, see COBS enum for possible values, optional

merchant.shortName

String

Max35Text Merchant name, optional

merchant.commonName

String

Max70Text Merchant name as stated in the payment receipt, optional

merchant.address

String

Max140Text Merchant address, optional

merchant.countryCode

String

CountryCode, ISO 3166 (2 alphanumeric characters code version) Merchant country, optional

merchant.merchantCategoryCode

String

Min3Max4Text, ISO 18245, Merchant code following the transaction type, optional

transactionDetails.totalAmount

Number

Balance query amount

transactionDetails.currency

String

Balance query currency

Response fields

Path Type Description

responseIdentification

Number

Unique identification of response to query, number

exchangeIdentification

String

Max35Text Clear query identification from request

response

String

APPR - approved, DECL - declined

errors[]

Array

List of errors

errors[].error

String

Error code as defined by COBS

errors[].parameters

Object

Error parameters

errors[].scope

String

Error scope

errors[].message

String

Error detailed message (free text)

Example #1 - error, bad IBAN

POST /accounts/balanceCheck HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:00 CEST
X-Request-ID: 571e9d41-5103-4bfb-979e-dd5040233dde
User-Involved: false
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 619
Host: localhost:8080

{
  "exchangeIdentification" : "BC1692016080960",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZSPATNYIBAN"
    },
    "currency" : "CZK"
  },
  "authenticationMethod" : "NPIN",
  "merchant" : {
    "identification" : "471 16 129",
    "type" : "MERC",
    "shortName" : "NEOLUXOR",
    "commonName" : "Neoluxor s.r.o.",
    "address" : "Hlavní 5, Praha 1",
    "countryCode" : "CZ",
    "merchantCategoryCode" : "5192"
  },
  "transactionDetails" : {
    "currency" : "CZK",
    "totalAmount" : 1000
  }
}
HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: 571e9d41-5103-4bfb-979e-dd5040233dde
Content-Type: application/json;charset=UTF-8
Content-Length: 132

{
  "errors" : [ {
    "error" : "AC02",
    "scope" : "debtorAccount.identification.iban",
    "message" : "IBAN not valid"
  } ]
}

Example #2 - ok, declined, insufficient amount

POST /accounts/balanceCheck HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:01 CEST
X-Request-ID: 8dafedcc-831b-4443-8a62-718c0a5717cc
User-Involved: false
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 634
Host: localhost:8080

{
  "exchangeIdentification" : "BC1692016081024",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "authenticationMethod" : "NPIN",
  "merchant" : {
    "identification" : "471 16 129",
    "type" : "MERC",
    "shortName" : "NEOLUXOR",
    "commonName" : "Neoluxor s.r.o.",
    "address" : "Hlavní 5, Praha 1",
    "countryCode" : "CZ",
    "merchantCategoryCode" : "5192"
  },
  "transactionDetails" : {
    "currency" : "EUR",
    "totalAmount" : 1000000
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 8dafedcc-831b-4443-8a62-718c0a5717cc
Content-Length: 117

{
  "exchangeIdentification" : "BC1692016081024",
  "responseIdentification" : 1692016081296,
  "response" : "DECL"
}

Example #3 - ok, approved

POST /accounts/balanceCheck HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Mon, 14 Aug 2023 14:28:01 CEST
X-Request-ID: 0e6dd978-799b-47d2-acba-393fb9d7dc84
User-Involved: false
API-key: fGji1GWUA4zQKLEEN9utjfVl3PDQdbJhB5bMhNNDrnSoxay23yHcKnbYCWkxnyuI
TPP-Name: TEST TPP 2
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 628
Host: localhost:8080

{
  "exchangeIdentification" : "BC1692016081351",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ2140000000007255060007"
    },
    "currency" : "CZK"
  },
  "authenticationMethod" : "NPIN",
  "merchant" : {
    "identification" : "471 16 129",
    "type" : "MERC",
    "shortName" : "NEOLUXOR",
    "commonName" : "Neoluxor s.r.o.",
    "address" : "Hlavní 5, Praha 1",
    "countryCode" : "CZ",
    "merchantCategoryCode" : "5192"
  },
  "transactionDetails" : {
    "currency" : "CZK",
    "totalAmount" : 1
  }
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 0e6dd978-799b-47d2-acba-393fb9d7dc84
Content-Length: 117

{
  "exchangeIdentification" : "BC1692016081351",
  "responseIdentification" : 1692016081402,
  "response" : "APPR"
}