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

Example:

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

Example:

https://api.maxbanka.eu/accounts
https://api.maxbanka.eu/accounts/1111110020/balance
https://api.maxbanka.eu/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" : [ "aisp", "pisp" ],
  "client_id" : "19b79e13-d843-4dd6-8222-286d064d0507",
  "client_secret" : "zRqqBJPEhYHP7hjaq40L9oykLdJBE6pd2TExZ5LE3VXNwRorS63ayYfPaenceomv",
  "client_secret_expires_at" : 0,
  "api_key" : "2wkJOa8lyVpG32c3eL84VC8dVYYhaeHYv6mWwYOq7lRhRnHBa1iWvuGnlY01fLUE",
  "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/19b79e13-d843-4dd6-8222-286d064d0507 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" : [ "aisp", "pisp" ],
  "client_id" : "19b79e13-d843-4dd6-8222-286d064d0507",
  "client_secret" : "zRqqBJPEhYHP7hjaq40L9oykLdJBE6pd2TExZ5LE3VXNwRorS63ayYfPaenceomv",
  "client_secret_expires_at" : 0,
  "api_key" : "2wkJOa8lyVpG32c3eL84VC8dVYYhaeHYv6mWwYOq7lRhRnHBa1iWvuGnlY01fLUE",
  "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/19b79e13-d843-4dd6-8222-286d064d0507 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" : [ "aisp", "pisp" ],
  "client_id" : "19b79e13-d843-4dd6-8222-286d064d0507",
  "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/19b79e13-d843-4dd6-8222-286d064d0507 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/19b79e13-d843-4dd6-8222-286d064d0507/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" : "19b79e13-d843-4dd6-8222-286d064d0507",
  "client_secret" : "aIOfNpOPdRnD2dZe6g8uPOLgw5rvGzW0jEBPCo4heW307eTMUMPCD6UnFTDN3XBl",
  "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/19b79e13-d843-4dd6-8222-286d064d0507/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" : "19b79e13-d843-4dd6-8222-286d064d0507",
  "api_key" : "jikDdlR5U3DWSU3UxoB3r67P53JOkfhW1FGXD6Ng9cIah870glAj4LvUecuOoD7p"
}

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/19b79e13-d843-4dd6-8222-286d064d0507/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=19b79e13-d843-4dd6-8222-286d064d0507&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=19b79e13-d843-4dd6-8222-286d064d0507&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=PVTILSP7UXK99M8HFG8XIJULRBF7DXNXEAYHQT9MYCH5JZDTF1JWF7UFGP37QSS8&client_id=3e84b08d-a60b-4ff9-aa09-ef917a281454&client_secret=2kTxT7o7jWK4MwCwDHs24qTFczG6MeGy3OIFv3szx2gUGoDJyeyrLwJ6kRyqutQk&redirect_uri=https%3A%2F%2Fpsd2apidokumentace.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: 980

{
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIxMmVmYTY1My1iMGM0LTQ2NWMtOWVjNy1hODc5MWU1NzM3MGQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjcyLCJleHAiOjE3Mjc4NzYyNzJ9.9w_2DAgSzVGhmSPJSJhTibBd5br7VLTQYvDVFQokulc",
  "refresh_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI3ZjRjNzdkZi1iN2U5LTRkZmQtOWYwYi1lYzE2OTI5YmNiYmYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjcyLCJleHAiOjE3NDM0MjQ2NzJ9.q0nesgIe1vcw5mNsFm9Drpz4o3vjgA0qu3p-A_Knikw",
  "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=19b79e13-d843-4dd6-8222-286d064d0507&refresh_token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImEyMTlkNzI5LWZmYTMtNDAyOS1hYjcxLTlmZmFkNDdjMTBmZiIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjI4NDU1LCJhY2NvdW50cyI6W3siYWNjb3VudE5vIjoiKiIsInBlcm1pc3Npb24iOiJBQ1RJVkUifV0sImNsaWVudF9pZCI6IjE5Yjc5ZTEzLWQ4NDMtNGRkNi04MjIyLTI4NmQwNjRkMDUwNyIsInNjb3BlcyI6WyJhaXNwIiwicGlzcCJdLCJpYXQiOjE3Mjc4NzI0MTQsImV4cCI6MTc0MzQyNDQxNH0.4OjyYptuBONKDwd2OVCfCpeeLxXmW-jthBGQRp-k82Q
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Content-Length: 494

{
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImUyNjI5Yzc2LWY4N2UtNDM1YS04NTkxLWY5ODhlODU5OGRjYyIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjI4NDU1LCJhY2NvdW50cyI6W3siYWNjb3VudE5vIjoiKiIsInBlcm1pc3Npb24iOiJBQ1RJVkUifV0sImNsaWVudF9pZCI6IjE5Yjc5ZTEzLWQ4NDMtNGRkNi04MjIyLTI4NmQwNjRkMDUwNyIsInNjb3BlcyI6WyJhaXNwIiwicGlzcCJdLCJpYXQiOjE3Mjc4NzI0MTQsImV4cCI6MTcyNzg3NjAxNH0.RXVA68JTOj3e_qvttZAQETNMfbAftBndLzenH_LLrzo",
  "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.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImUyNjI5Yzc2LWY4N2UtNDM1YS04NTkxLWY5ODhlODU5OGRjYyIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjI4NDU1LCJhY2NvdW50cyI6W3siYWNjb3VudE5vIjoiKiIsInBlcm1pc3Npb24iOiJBQ1RJVkUifV0sImNsaWVudF9pZCI6IjE5Yjc5ZTEzLWQ4NDMtNGRkNi04MjIyLTI4NmQwNjRkMDUwNyIsInNjb3BlcyI6WyJhaXNwIiwicGlzcCJdLCJpYXQiOjE3Mjc4NzI0MTQsImV4cCI6MTcyNzg3NjAxNH0.RXVA68JTOj3e_qvttZAQETNMfbAftBndLzenH_LLrzo
Accept: application/json
Accept-Language: cs
Host: localhost:8080

token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJURVNUIFRQUCIsImp0aSI6ImUyNjI5Yzc2LWY4N2UtNDM1YS04NTkxLWY5ODhlODU5OGRjYyIsInVzZXJJZCI6MSwiY3VzdG9tZXIiOjI4NDU1LCJhY2NvdW50cyI6W3siYWNjb3VudE5vIjoiKiIsInBlcm1pc3Npb24iOiJBQ1RJVkUifV0sImNsaWVudF9pZCI6IjE5Yjc5ZTEzLWQ4NDMtNGRkNi04MjIyLTI4NmQwNjRkMDUwNyIsInNjb3BlcyI6WyJhaXNwIiwicGlzcCJdLCJpYXQiOjE3Mjc4NzI0MTQsImV4cCI6MTcyNzg3NjAxNH0.RXVA68JTOj3e_qvttZAQETNMfbAftBndLzenH_LLrzo
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: Wed, 2 Oct 2024 14:36:10 CEST
X-Request-ID: 67aaa7b7-435a-476a-b2b7-eb739a946e79
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIyNWRkNDIyYS0yZWEwLTQwMGItOTY4Yy1jNzM4OGUxMWNiZmUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTY5LCJleHAiOjE3Mjc4NzYxNjl9.v0Po0gY8OHs0sJNHQ2z_eZJseX5b8dqVFKv0fLF7KfM
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 67aaa7b7-435a-476a-b2b7-eb739a946e79
Content-Length: 1558

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 4,
  "accounts" : [ {
    "id" : "B7D18536-2408-456A-B84F-51A041C2A7D1",
    "identification" : {
      "iban" : "CZ6022500000007255061202",
      "other" : "7255061202"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Spořicí účet v CZK",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
    "identification" : {
      "iban" : "CZ8022500000007255060066",
      "other" : "7255060066"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "97AE2927-F7B8-45C5-ABD7-2D667F08A507",
    "identification" : {
      "iban" : "CZ7722500000007255060023",
      "other" : "7255060023"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "95CACA97-617C-4F9C-BE49-974EF4629990",
    "identification" : {
      "iban" : "CZ3822500000007255061210",
      "other" : "7255061210"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Max spořicí úč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: Wed, 2 Oct 2024 14:36:10 CEST
X-Request-ID: 7facf0ae-434a-418c-a20b-742d304c2980
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIyNWRkNDIyYS0yZWEwLTQwMGItOTY4Yy1jNzM4OGUxMWNiZmUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTY5LCJleHAiOjE3Mjc4NzYxNjl9.v0Po0gY8OHs0sJNHQ2z_eZJseX5b8dqVFKv0fLF7KfM
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 7facf0ae-434a-418c-a20b-742d304c2980
Content-Length: 1558

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 4,
  "accounts" : [ {
    "id" : "B7D18536-2408-456A-B84F-51A041C2A7D1",
    "identification" : {
      "iban" : "CZ6022500000007255061202",
      "other" : "7255061202"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Spořicí účet v CZK",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
    "identification" : {
      "iban" : "CZ8022500000007255060066",
      "other" : "7255060066"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "95CACA97-617C-4F9C-BE49-974EF4629990",
    "identification" : {
      "iban" : "CZ3822500000007255061210",
      "other" : "7255061210"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Max spořicí účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "97AE2927-F7B8-45C5-ABD7-2D667F08A507",
    "identification" : {
      "iban" : "CZ7722500000007255060023",
      "other" : "7255060023"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo úč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: Wed, 2 Oct 2024 14:36:10 CEST
X-Request-ID: 8f0b0fd2-a29f-4ad9-b58c-199e803c44c0
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIyNWRkNDIyYS0yZWEwLTQwMGItOTY4Yy1jNzM4OGUxMWNiZmUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTY5LCJleHAiOjE3Mjc4NzYxNjl9.v0Po0gY8OHs0sJNHQ2z_eZJseX5b8dqVFKv0fLF7KfM
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 8f0b0fd2-a29f-4ad9-b58c-199e803c44c0
Content-Length: 1558

{
  "pageNumber" : 0,
  "pageCount" : 1,
  "totalCount" : 4,
  "accounts" : [ {
    "id" : "97AE2927-F7B8-45C5-ABD7-2D667F08A507",
    "identification" : {
      "iban" : "CZ7722500000007255060023",
      "other" : "7255060023"
    },
    "currency" : "EUR",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
    "identification" : {
      "iban" : "CZ8022500000007255060066",
      "other" : "7255060066"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Neo účet",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "B7D18536-2408-456A-B84F-51A041C2A7D1",
    "identification" : {
      "iban" : "CZ6022500000007255061202",
      "other" : "7255061202"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Spořicí účet v CZK",
    "ownersNames" : [ "ZELENKA JAN" ]
  }, {
    "id" : "95CACA97-617C-4F9C-BE49-974EF4629990",
    "identification" : {
      "iban" : "CZ3822500000007255061210",
      "other" : "7255061210"
    },
    "currency" : "CZK",
    "servicer" : {
      "bankCode" : "2250",
      "countryCode" : "CZ",
      "bic" : "CTASCZ22"
    },
    "productI18N" : "Max spořicí úč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/97AE2927-F7B8-45C5-ABD7-2D667F08A507/balance HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:11 CEST
X-Request-ID: ae623c70-77d0-4a9b-87e3-6fe7e68d143f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIyNWRkNDIyYS0yZWEwLTQwMGItOTY4Yy1jNzM4OGUxMWNiZmUiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTY5LCJleHAiOjE3Mjc4NzYxNjl9.v0Po0gY8OHs0sJNHQ2z_eZJseX5b8dqVFKv0fLF7KfM
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: ae623c70-77d0-4a9b-87e3-6fe7e68d143f
Content-Length: 857

{
  "balances" : [ {
    "type" : {
      "codeOrProprietary" : {
        "code" : "TOTAL_AVAILABLE_BALANCE"
      }
    },
    "amount" : {
      "value" : 200,
      "currency" : "EUR"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2024-10-02T12:36:11.732Z"
    }
  }, {
    "type" : {
      "codeOrProprietary" : {
        "code" : "CURRENT_BALANCE"
      }
    },
    "amount" : {
      "value" : 200,
      "currency" : "EUR"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2024-10-02T12:36:11.732Z"
    }
  }, {
    "type" : {
      "codeOrProprietary" : {
        "code" : "OPENING_BALANCE"
      }
    },
    "amount" : {
      "value" : 200,
      "currency" : "EUR"
    },
    "creditDebitIndicator" : "CRDT",
    "date" : {
      "dateTime" : "2024-10-01T22: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/97AE2927-F7B8-45C5-ABD7-2D667F08A507/transactions?fromDate=2024-04-02&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: Wed, 2 Oct 2024 14:36:08 CEST
X-Request-ID: 954cec68-5e1d-45b9-8da1-0f2cf62d290a
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJkZWMzNmJlMC1lMjIwLTQwOWYtYjQxMi1iOTMzYmI3OTlmOTgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTY3LCJleHAiOjE3Mjc4NzYxNjd9.nyfStX7JeciCkpWOlvjPxBiG9dDtoygze1h_sO67Q8c
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 954cec68-5e1d-45b9-8da1-0f2cf62d290a
Content-Length: 2054

{
  "pageNumber" : 0,
  "pageSize" : 10,
  "transactions" : [ {
    "entryReference" : "2427504076330000-TIBM002208171",
    "amount" : {
      "value" : 200.0,
      "currency" : "EUR"
    },
    "creditDebitIndicator" : "CRDT",
    "reversalIndicator" : false,
    "status" : "BOOK",
    "bookingDate" : {
      "date" : "2024-10-01"
    },
    "valueDate" : {
      "date" : "2024-10-01"
    },
    "bankTransactionCode" : {
      "proprietary" : {
        "code" : 90000701000,
        "issuer" : "CBA"
      }
    },
    "entryDetails" : {
      "transactionDetails" : {
        "references" : {
          "messageIdentification" : "2427504076330000",
          "accountServicerReference" : "001ZEXA242750070"
        },
        "amountDetails" : {
          "instructedAmount" : {
            "amount" : {
              "value" : 200.0,
              "currency" : "EUR"
            }
          },
          "counterValueAmount" : {
            "amount" : {
              "value" : 200.0,
              "currency" : "EUR"
            },
            "currencyExchange" : {
              "sourceCurrency" : "EUR",
              "targetCurrency" : "EUR",
              "exchangeRate" : 25.714
            }
          }
        },
        "charges" : {
          "bearer" : "DEBT"
        },
        "relatedParties" : {
          "debtor" : {
            "name" : "ZELENKA JAN"
          },
          "debtorAccount" : {
            "identification" : {
              "other" : {
                "identification" : "7255060066"
              }
            }
          }
        },
        "relatedAgents" : {
          "debtorAgent" : {
            "financialInstitutionIdentification" : {
              "bic" : "CTASCZ20",
              "clearingSystemMemberIdentification" : {
                "memberIdentification" : "2250"
              }
            }
          }
        },
        "additionalTransactionInformation" : "Příchozí vnitrobankovní platba | Eingehende Zahlung im Rahmen der Bank | Incoming intrabank payment"
      }
    }
  } ]
}

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: Wed, 2 Oct 2024 14:36:14 CEST
X-Request-ID: 63d0131d-d130-4641-89e0-4013f8562cd1
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI0ZDliZDU3Zi0zYjljLTRjNjAtOGExNS01YjZmMzVlODg4OTEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTczLCJleHAiOjE3Mjc4NzYxNzN9.2ZHTqeNJl1bdUDUBXDiVxlW7RumpcN9kUnXsRbdkQxY
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 63d0131d-d130-4641-89e0-4013f8562cd1
Content-Length: 1470

{
  "pageNumber" : 0,
  "pageCount" : 35,
  "nextPage" : 1,
  "pageSize" : 2,
  "totalCount" : 70,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "transactionIdentification" : "52735"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "Test podpisu MAPP",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_DAY_OF_MONTH",
        "interval" : "DAILY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "B7D18536-2408-456A-B84F-51A041C2A7D1",
      "identification" : {
        "iban" : "CZ6022500000007255061202"
      },
      "currency" : "CZK"
    }
  }, {
    "standingOrderIdentification" : {
      "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
      "transactionIdentification" : "52754"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "TEST_STANDING_ORDER_ALIAS",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
      "identification" : {
        "iban" : "CZ8022500000007255060066"
      },
      "currency" : "CZK"
    }
  } ]
}

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: Wed, 2 Oct 2024 14:36:12 CEST
X-Request-ID: 74a5e87f-75ee-40ce-b7db-50a0908b3c17
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIxOTJhZTM4OC1jMTg5LTRkZDQtODQyZi02YTAxN2Y3ZmZkOTIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTcyLCJleHAiOjE3Mjc4NzYxNzJ9.pFfAqQD0k0bNulr2sQ6KyXfhtXbINdhsm9ge6IGb9UQ
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 74a5e87f-75ee-40ce-b7db-50a0908b3c17
Content-Length: 1554

{
  "pageNumber" : 2,
  "pageCount" : 35,
  "nextPage" : 3,
  "pageSize" : 2,
  "totalCount" : 70,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
      "transactionIdentification" : "52904"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "TEST_STANDING_ORDER_ALIAS",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
      "identification" : {
        "iban" : "CZ8022500000007255060066"
      },
      "currency" : "CZK"
    }
  }, {
    "standingOrderIdentification" : {
      "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
      "transactionIdentification" : "52954"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "TEST_STANDING_ORDER_ALIAS",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
      "identification" : {
        "iban" : "CZ8022500000007255060066"
      },
      "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: Wed, 2 Oct 2024 14:36:15 CEST
X-Request-ID: 47104cbc-c1f0-4277-84d4-d5a535568e3e
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJlNmFmYmU5ZS1kOWYxLTQ2ODUtYWE2YS1kZjBiM2Q2M2FlZTkiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTc1LCJleHAiOjE3Mjc4NzYxNzV9.h3lqntcK3J4Y08Ku_dCmQurG21mRZfG1M-NKi8xXhSk
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 47104cbc-c1f0-4277-84d4-d5a535568e3e
Content-Length: 1560

{
  "pageNumber" : 0,
  "pageCount" : 35,
  "nextPage" : 1,
  "pageSize" : 2,
  "totalCount" : 70,
  "standingOrders" : [ {
    "standingOrderIdentification" : {
      "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
      "transactionIdentification" : "52756"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1500.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "TEST_STANDING_ORDER_ALIAS",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
      "identification" : {
        "iban" : "CZ8022500000007255060066"
      },
      "currency" : "CZK"
    }
  }, {
    "standingOrderIdentification" : {
      "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
      "transactionIdentification" : "52775"
    },
    "amount" : {
      "instructedAmount" : {
        "value" : 1500.0,
        "currency" : "CZK"
      }
    },
    "standingOrder" : {
      "alias" : "TEST_STANDING_ORDER_ALIAS",
      "execution" : {
        "mode" : "UNTIL_CANCELLATION",
        "modeDue" : "DUE_OR_BEFORE_DAY_OF_MONTH",
        "interval" : "MONTHLY",
        "remitSkipCount" : 1
      }
    },
    "debtorAccount" : {
      "id" : "C2A36CC7-2A23-4AE3-A328-D3A3C744658A",
      "identification" : {
        "iban" : "CZ8022500000007255060066"
      },
      "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: Wed, 2 Oct 2024 14:33:18 CEST
X-Request-ID: 5b183ff1-d4cb-4b5f-81f6-318733001977
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJiYjI0ZTdiZS0zOThiLTRiZmQtYjZkNS00ZWI2Y2ViZjlkOTEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzk3LCJleHAiOjE3Mjc4NzU5OTd9.YWQEpErzQvZmz2E-13vh5C56b6xVjUEKbXSDzJR1L4s
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 628
Host: localhost:8080

{
  "exchangeIdentification" : "BC1727872398872",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 5b183ff1-d4cb-4b5f-81f6-318733001977
Content-Length: 117

{
  "exchangeIdentification" : "BC1727872398872",
  "responseIdentification" : 1727872399395,
  "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: Wed, 2 Oct 2024 14:33:28 CEST
X-Request-ID: 6170c296-dcc5-4c93-b1b3-f5fe70c300e0
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhMTNmN2FkYi1iNGI3LTRmMzctODY2Ny0xMzI3OGE0YTRhZjAiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDA4LCJleHAiOjE3Mjc4NzYwMDh9.G_wUlJmyXtRfpsLXT7TMTeY5TNC3jvsfXNl4biwAPWI
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 720
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872408905"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 6170c296-dcc5-4c93-b1b3-f5fe70c300e0
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSM002208560"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "97ea20ff-4dbf-449c-90d5-83fa4f139cf6"
  },
  "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: Wed, 2 Oct 2024 14:33:02 CEST
X-Request-ID: f7421d28-eca8-441c-aff8-7f1232ef1499
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIzZWMxNDMxNi0zZjE2LTQwNzMtOTc0Zi01ODdjOTQwNGM0YzQiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzgwLCJleHAiOjE3Mjc4NzU5ODB9.9augh7xy6-0Z9mD29THe8O-g8LZC2HLkroucS81ECWM
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 719
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872382589"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "XXX"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: f7421d28-eca8-441c-aff8-7f1232ef1499
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: Wed, 2 Oct 2024 14:33:27 CEST
X-Request-ID: ad8c8608-4d66-4210-9031-6b3fa277879d
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhMjI4NjRkNS02Y2VkLTRiMWEtYjViNi01YWMzMTc3ZmVhMjEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDA2LCJleHAiOjE3Mjc4NzYwMDZ9.LiH8HLK2kTkjghR3bPotxPEp1UoRb1yzc_rybf3Krv4
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 641
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872406710"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1245.44,
      "currency" : "CZK"
    }
  },
  "requestedExecutionDate" : "2024-10-03",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: ad8c8608-4d66-4210-9031-6b3fa277879d
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSM002208558"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "b6af29c6-950d-4e76-8d75-08fee80d1713"
  },
  "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: Wed, 2 Oct 2024 14:33:21 CEST
X-Request-ID: 34fe8612-1856-4163-8128-d966c150e33c
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIyYTNlMGNmNy1mYjA4LTQ1NWQtOTFhZS02NDIxNjFkNjNlMTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDAxLCJleHAiOjE3Mjc4NzYwMDF9.EMzQraPzvtRLCVdzyHJhK9VVbaaEaWNa456F-o2rRp8
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1958
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872401300",
    "endToEndIdentification" : "NOTPROVIDED"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "HIGH"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1.45,
      "currency" : "EUR"
    }
  },
  "requestedExecutionDate" : "2024-10-03",
  "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" : "CZ7722500000007255060023"
    },
    "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: 34fe8612-1856-4163-8128-d966c150e33c
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSM002208556"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "ESCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "878ca6dc-783a-4ce8-be61-e553ddae666d"
  },
  "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: Wed, 2 Oct 2024 14:33:30 CEST
X-Request-ID: 48672c8b-48a0-43de-b70e-d8fc1965f7bb
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJmOTM0MDI4Zi03YWI0LTQzZWQtYjBmMC02N2ZmMTJkZGE0MTYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDEwLCJleHAiOjE3Mjc4NzYwMTB9.CkLAObKxd6OrcEbDjh7WBq5GfzAVXiSFpk7StkEEY2Q
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 994
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872410318"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 1.44,
      "currency" : "USD"
    }
  },
  "requestedExecutionDate" : "2024-10-03",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 48672c8b-48a0-43de-b70e-d8fc1965f7bb
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSM002208561"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "24609f8c-e3c1-4879-b63f-5ad4a012067e"
  },
  "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: Wed, 2 Oct 2024 14:33:20 CEST
X-Request-ID: 05d5de88-5bc9-4574-bba5-81b14394510f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI5NGM0Y2FhMC01ODQyLTQwNjgtYjBiMC0zMmViMDBiZWYwMzgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzk5LCJleHAiOjE3Mjc4NzU5OTl9.OnV7LqRc4W0ybfTuP9SFH9U8EK5EyXjuvQwhuxSmHbY
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 1162
Host: localhost:8080

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872399905"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM"
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 0.44,
      "currency" : "GBP"
    }
  },
  "requestedExecutionDate" : "2024-10-03",
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 05d5de88-5bc9-4574-bba5-81b14394510f
Content-Length: 352

{
  "paymentIdentification" : {
    "transactionIdentification" : "TPSM002208555"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "34f45e1a-c475-4567-82e1-362f91fc744b"
  },
  "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/TPSM002208560/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:29 CEST
X-Request-ID: 1f1fa2a0-852e-4213-8a46-6777e2e04829
User-Involved: false
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 1f1fa2a0-852e-4213-8a46-6777e2e04829
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/TPSM002208560 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:29 CEST
X-Request-ID: c49b0f18-7174-4fb6-b7a5-80ff8fc62766
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhMTNmN2FkYi1iNGI3LTRmMzctODY2Ny0xMzI3OGE0YTRhZjAiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDA4LCJleHAiOjE3Mjc4NzYwMDh9.G_wUlJmyXtRfpsLXT7TMTeY5TNC3jvsfXNl4biwAPWI
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: c49b0f18-7174-4fb6-b7a5-80ff8fc62766
Content-Length: 1001

{
  "paymentIdentification" : {
    "instructionIdentification" : "1727872408905",
    "transactionIdentification" : "TPSM002208560"
  },
  "paymentTypeInformation" : {
    "instructionPriority" : "NORM",
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "amount" : {
    "instructedAmount" : {
      "value" : 100,
      "currency" : "CZK"
    }
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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" : "97ea20ff-4dbf-449c-90d5-83fa4f139cf6"
  },
  "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/TPSM002208560 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:29 CEST
X-Request-ID: c13b7b67-2fbc-4068-b2ce-1b161f698835
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhMTNmN2FkYi1iNGI3LTRmMzctODY2Ny0xMzI3OGE0YTRhZjAiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDA4LCJleHAiOjE3Mjc4NzYwMDh9.G_wUlJmyXtRfpsLXT7TMTeY5TNC3jvsfXNl4biwAPWI
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: c13b7b67-2fbc-4068-b2ce-1b161f698835

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/TPSM002208554/sign/f0251c57-4951-4516-a195-28b26cb8c5ee HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:16 CEST
X-Request-ID: 366f9a1a-f64e-4d1b-8460-95413d8f79d9
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJjOGJhMGRmOS00M2M5LTQ3YWQtYmJiNy1mYTM4MDBlMTg4MWIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzk0LCJleHAiOjE3Mjc4NzU5OTR9.Ov3tEe3V1sPR8yst5kgOcsF-XYkxw5frGoYmZWwd5c8
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 366f9a1a-f64e-4d1b-8460-95413d8f79d9
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "f0251c57-4951-4516-a195-28b26cb8c5ee"
  }
}

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

hash

String

Checksum hash from batch transaction

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/TPSM002208554/sign/f0251c57-4951-4516-a195-28b26cb8c5ee?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:16 CEST
X-Request-ID: 14c1a0e1-576d-4323-8dec-807ef4793a67
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJjOGJhMGRmOS00M2M5LTQ3YWQtYmJiNy1mYTM4MDBlMTg4MWIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzk0LCJleHAiOjE3Mjc4NzU5OTR9.Ov3tEe3V1sPR8yst5kgOcsF-XYkxw5frGoYmZWwd5c8
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 94

{
  "authorizationType" : "SMS_FEDERATED",
  "redirectUrl" : "https://psd2apidokumentace.cz"
}
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 14c1a0e1-576d-4323-8dec-807ef4793a67
Content-Length: 883

{
  "authorizationType" : "SMS_FEDERATED",
  "href" : {
    "url" : "https://api-test5.dom01.ad/oauth2/sign?id=10386eff529955c23268d2f47b6d023478230980c5d9b4f135fd006865a9165c8bc4ac50b4500831991ec4a65813c6704386a2110490ce0c2bda9f9da74c6ea9ea8467c15b2bf1f33c453dcb22ec79e30264a0dba14ffe9ceb0066ef58f72ed7034ce461a08f1e54d1d7cd2da7fc19c60af1ed20e42efaa9553b7d60a1cedf3a_b0613aa4626d815d&redirectUrl=https://psd2apidokumentace.cz",
    "id" : "10386eff529955c23268d2f47b6d023478230980c5d9b4f135fd006865a9165c8bc4ac50b4500831991ec4a65813c6704386a2110490ce0c2bda9f9da74c6ea9ea8467c15b2bf1f33c453dcb22ec79e30264a0dba14ffe9ceb0066ef58f72ed7034ce461a08f1e54d1d7cd2da7fc19c60af1ed20e42efaa9553b7d60a1cedf3a_b0613aa4626d815d"
  },
  "method" : "GET",
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "f0251c57-4951-4516-a195-28b26cb8c5ee",
    "scenario" : "SMS_FEDERATED"
  }
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Unresolved directive in PISP.adoc - include::/var/lib/jenkins/workspace/FIS_REST_DOCUMENTATION_PSD2/app/target/generated-snippets/api/payments_sign_generate_confirm_tpp_01/path-parameters.adoc[]

Request fields

Unresolved directive in PISP.adoc - include::/var/lib/jenkins/workspace/FIS_REST_DOCUMENTATION_PSD2/app/target/generated-snippets/api/payments_sign_generate_confirm_tpp_01/request-fields.adoc[]

Response fields

Unresolved directive in PISP.adoc - include::/var/lib/jenkins/workspace/FIS_REST_DOCUMENTATION_PSD2/app/target/generated-snippets/api/payments_sign_generate_confirm_tpp_01/response-fields.adoc[]

Example

Unresolved directive in PISP.adoc - include::/var/lib/jenkins/workspace/FIS_REST_DOCUMENTATION_PSD2/app/target/generated-snippets/api/payments_sign_generate_confirm_tpp_01/http-request.adoc[]

Unresolved directive in PISP.adoc - include::/var/lib/jenkins/workspace/FIS_REST_DOCUMENTATION_PSD2/app/target/generated-snippets/api/payments_sign_generate_confirm_tpp_01/http-response.adoc[]

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: Wed, 2 Oct 2024 14:36:45 CEST
X-Request-ID: ad820a8c-6511-42c6-8787-10365a516721
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI5Y2I2N2M0OC1lZGUwLTRkMGItOWU2YS04MTRkYmQ5ZGY3MTAiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjA1LCJleHAiOjE3Mjc4NzYyMDV9.2I9tIcvCQdsMWED_wvdLXyM6HfLt9VKYAFtD-9pt-Q8
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: ad820a8c-6511-42c6-8787-10365a516721
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "53283"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "5790b8ef-d70b-4bdc-9c64-fbb41bd4adc4"
  }
}

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: Wed, 2 Oct 2024 14:36:33 CEST
X-Request-ID: 160ac6f9-6a36-4871-8807-61726edb163b
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI4YTZiNWY0MS0zZDdlLTQwOGQtODdlYS01MjVjNDQxMGYzYTYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTkyLCJleHAiOjE3Mjc4NzYxOTJ9.BrsIA_N2YPIc1MwsF9YmYZZCde0wtDodOTrL1Sr0wo0
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 160ac6f9-6a36-4871-8807-61726edb163b
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "53280"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "XBCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "ab3f0442-649a-4259-a586-23f9a597af89"
  }
}

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: Wed, 2 Oct 2024 14:36:34 CEST
X-Request-ID: 9ec7939f-8fb7-4154-a065-74de59e3ce66
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJkMTVkODc2ZS1jZDFiLTRmZmMtOGFiNi05ZTlmZDU5Y2RjZWIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTk0LCJleHAiOjE3Mjc4NzYxOTR9.eh6GCBlGRq4yq-WPsIvC4UHGejxwPVAXlb53y6Yk9NY
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 9ec7939f-8fb7-4154-a065-74de59e3ce66
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: Wed, 2 Oct 2024 14:37:37 CEST
X-Request-ID: 54a09316-38fc-4de4-8926-4427a2982269
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJkZGQyOTRiMS1jMjM2LTRhYWUtODdhMC1jYWE3NzE3NGVmOWYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjU3LCJleHAiOjE3Mjc4NzYyNTd9.-IoNGNhpga5OWdngwH8hsM7_f8hHKpXrk6spFUe9xdk
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 54a09316-38fc-4de4-8926-4427a2982269
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: Wed, 2 Oct 2024 14:36:53 CEST
X-Request-ID: 3e9015d0-7ea9-4a24-9f76-e4c1f867f018
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIxYTQyODQxYy0yNDljLTQ2ZDMtYTU4My02MzE4MTZiMzJiYzMiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjEyLCJleHAiOjE3Mjc4NzYyMTJ9.ZRGEx0z3W_t4s7Ma6NTHdviJ6SiT1mRoSxDpwYlaT7w
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 3e9015d0-7ea9-4a24-9f76-e4c1f867f018
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: Wed, 2 Oct 2024 14:37:28 CEST
X-Request-ID: 966445b3-33a3-4620-96ca-06b3ed8feb44
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI2YjdhMDFlNy04NWRkLTRmM2QtYjVhMi1jYTBiNzU3Mzg0MmIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjQ3LCJleHAiOjE3Mjc4NzYyNDd9.WFRscIyzcbQO8aY-7w6U1epWW7EHq1GF7UX_RGkV_kk
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 966445b3-33a3-4620-96ca-06b3ed8feb44
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 14. /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/53305 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:37:25 CEST
X-Request-ID: bd0e5664-ce85-49a1-ba70-f17dbdba1cf4
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJiNDUxMDVhYi04ZTc1LTRjNDItYTA0Ni00NTBkMTdmNjY2ZTgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjQ0LCJleHAiOjE3Mjc4NzYyNDR9.6Zu10mo8ZvbsiQO4kSi-zflT2hV3K9-ZDw-SJZK2f1I
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: bd0e5664-ce85-49a1-ba70-f17dbdba1cf4
Content-Length: 1260

{
  "standingOrderIdentification" : {
    "instructionIdentification" : "TEST_STANDING_ORDER_PSD2",
    "transactionIdentification" : "53305"
  },
  "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" : "CZ8022500000007255060066"
    },
    "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" : "edb2bc3e-b385-4810-a373-edb6ec2e0111"
  }
}

Standing order status

A GET request to get standing order status.

Path parameters

Table 15. /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/53309/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:37:32 CEST
X-Request-ID: 93008d60-cc8f-4b67-bf9f-d4ecf9a00ee6
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJmMGNmYzFiMi1iNDRiLTRlZGItOTJlMy03YzM2MDE1OGM1M2YiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjUyLCJleHAiOjE3Mjc4NzYyNTJ9.YfU7Glf61UJbFg4jJ4er2clP5isbVygb1tjlA-BBjwc
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 93008d60-cc8f-4b67-bf9f-d4ecf9a00ee6
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: Wed, 2 Oct 2024 14:36:43 CEST
X-Request-ID: f8ad6c7e-b375-4793-b7f5-a11b32d718d8
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJkMmMxZmNhMC01NDM3LTQ0NGItYjU3OC1mNTYzNGQ3MGZiYmYiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjAzLCJleHAiOjE3Mjc4NzYyMDN9.20y8t-ybFxvnZUZzlLrbupiUCDhzobJy-JLHPNNyv3s
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Host: localhost:8080
HTTP/1.1 404 Not Found
Cache-Control: no-store
X-Request-ID: f8ad6c7e-b375-4793-b7f5-a11b32d718d8
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 16. /standingorders/{transactionIdentification}
Parameter Description

transactionIdentification

Requested transaction identification

Example

DELETE /standingorders/53282 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:44 CEST
X-Request-ID: d5497d75-8852-4a4a-8675-0c8977407165
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJlYmM3YmMyZi02YjU2LTQ0YzItOTJlZS1iNjM1NGMzOTMxNDgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjA0LCJleHAiOjE3Mjc4NzYyMDR9.-JyV6lXCX7NF0tCnONjWLZpuaNaTUL82d_a7uMdV1-o
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: d5497d75-8852-4a4a-8675-0c8977407165

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 17. /standingorders/{transactionIdentification}
Parameter Description

transactionIdentification

Requested transaction identification

Example

PUT /standingorders/53287 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:52 CEST
X-Request-ID: 7ab58b62-3151-4c0c-9c24-cab37620df38
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI3MTJjYWYzMC1kZGU3LTQ1ZWItYjY2Yy02NDFlYjY5MTY2NTgiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNjExLCJleHAiOjE3Mjc4NzYyMTF9.baK71p0Fq30JJEzCruO2sDX9jyLoJDQAhC7oU2kXriU
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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" : "CZ8022500000007255060066"
    },
    "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: 7ab58b62-3151-4c0c-9c24-cab37620df38
Content-Length: 318

{
  "standingOrderIdentification" : {
    "transactionIdentification" : "53288"
  },
  "paymentTypeInformation" : {
    "serviceLevel" : {
      "code" : "DMCT"
    }
  },
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "2e856941-7958-4d44-b669-27b54450acc9"
  }
}

Standing order signing

Authorization detail (I)

A GET request to get standing order authorization detail

Path parameters

Table 18. /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/53265/sign/0a480715-6b37-4b8c-b736-5409ee1fcdc6 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:22 CEST
X-Request-ID: f572823b-5034-45f7-a29e-61c7fcca169e
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhZWNmMDk2ZS1hYWRlLTRhNDItYjFiYi0wNzdiMjg0YjM3YWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTgxLCJleHAiOjE3Mjc4NzYxODF9.dCNuWuaVVj44XDEwBr_SdwvSzaYXG02xwKfhyErAc6Y
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: f572823b-5034-45f7-a29e-61c7fcca169e
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "0a480715-6b37-4b8c-b736-5409ee1fcdc6"
  }
}

Authorization initiation (II)

A POST request to generate signature

Additional information

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

Path parameters

Table 19. /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

hash

String

Checksum hash from batch transaction

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/53265/sign/0a480715-6b37-4b8c-b736-5409ee1fcdc6?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:22 CEST
X-Request-ID: f88b83b7-fa11-4098-a971-be8b55464af1
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhZWNmMDk2ZS1hYWRlLTRhNDItYjFiYi0wNzdiMjg0YjM3YWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTgxLCJleHAiOjE3Mjc4NzYxODF9.dCNuWuaVVj44XDEwBr_SdwvSzaYXG02xwKfhyErAc6Y
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: f88b83b7-fa11-4098-a971-be8b55464af1
Content-Length: 212

{
  "authorizationType" : "SMS_TPP",
  "code" : {
    "prefix" : "OVN"
  },
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "0a480715-6b37-4b8c-b736-5409ee1fcdc6",
    "scenario" : "SMS_TPP"
  }
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Table 20. /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)

hash

String

Checksum hash from batch transaction

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/53265/sign/0a480715-6b37-4b8c-b736-5409ee1fcdc6 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:36:22 CEST
X-Request-ID: cd8455f9-ca16-4a6f-979a-28d317b53672
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhZWNmMDk2ZS1hYWRlLTRhNDItYjFiYi0wNzdiMjg0YjM3YWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTgxLCJleHAiOjE3Mjc4NzYxODF9.dCNuWuaVVj44XDEwBr_SdwvSzaYXG02xwKfhyErAc6Y
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: cd8455f9-ca16-4a6f-979a-28d317b53672
Content-Length: 133

{
  "signInfo" : {
    "state" : "COMPLETED",
    "signId" : "0a480715-6b37-4b8c-b736-5409ee1fcdc6",
    "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: Wed, 2 Oct 2024 14:34:50 CEST
X-Request-ID: 010584c4-198a-43e7-aa51-2eb2138286e3
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJhNWE0N2UwNi1kMzdjLTQ3OWUtYmFiZi0zZmI4ZDM5YWYyM2UiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDkwLCJleHAiOjE3Mjc4NzYwOTB9.flnaO3CX5e7yR7Nrp-lhycZi37Py1DSQYiy2c0z3pdA
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 297
Host: localhost:8080

{
  "exchangeIdentification" : "658576010faf0a23dc",
  "instructionName" : "TestBatchPayment",
  "payments" : [ {
    "signId" : "e6949f16-53c3-4cd7-b878-20c74631a969"
  }, {
    "signId" : "99f017dc-c143-4013-916d-ebf4c55ffb16"
  }, {
    "signId" : "563c5c22-20b0-4620-ac4e-423b200816a1"
  } ]
}

Response

HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json
X-Request-ID: 010584c4-198a-43e7-aa51-2eb2138286e3
Content-Length: 220

{
  "transactionIdentification" : "b07e5ad1-0b2f-4323-9c65-10af28b281f2",
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "da6a6ae8-f058-4b16-9812-c553cba4cc87"
  }
}

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: Wed, 2 Oct 2024 14:33:54 CEST
X-Request-ID: 8410da12-5fb6-40f9-8c76-521cf9fd0b12
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJkOTM5M2U0ZS0yOWMxLTRjNmMtODdhYi05M2NhNzdjOWM0OTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDM0LCJleHAiOjE3Mjc4NzYwMzR9.ZGjvA20AddoaD_g1e3_8E5Yn13Pu_GxxpTBYeXe6hH8
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 341
Host: localhost:8080

{
  "exchangeIdentification" : "658576010faf0a23dc",
  "instructionName" : "TestBatchPayment",
  "payments" : [ {
    "signId" : "40066fb4-b577-4c05-a7ac-30e978b34761"
  }, {
    "signId" : "5dff1462-b83a-42f9-b2ba-ca5a5b55986c"
  }, {
    "signId" : "4c0c5ec1-6272-49f7-bbb3-e6e809438cd7"
  }, {
    "signId" : "NotExisting-ID-0000"
  } ]
}

Response

HTTP/1.1 400 Bad Request
Cache-Control: no-store
X-Request-ID: 8410da12-5fb6-40f9-8c76-521cf9fd0b12
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 21. /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/8411bc63-2415-45f6-a2d3-0cd14103c231/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:35:40 CEST
X-Request-ID: c5c7e127-1560-4682-a446-58d72d785250
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJjZTE3NDI5MS01ZGQ1LTQ1OTItYTA2ZC0yMmEwYWZkMmVkMjEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTM5LCJleHAiOjE3Mjc4NzYxMzl9.AvKDkw-KX_4StM3Myqp7qfP3BYBeMmt9PgEgMHEik0g
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: c5c7e127-1560-4682-a446-58d72d785250
Content-Length: 644

{
  "instructionStatus" : "ACTC",
  "payments" : [ {
    "transactionIdentification" : "TPSM002208601",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "79c57c73-784e-4338-b96d-ea3a012f53f9"
    }
  }, {
    "transactionIdentification" : "TPSM002208602",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "d0c333ee-b12e-43d8-9cc0-350d5e795d63"
    }
  }, {
    "transactionIdentification" : "TPSM002208603",
    "instructionStatus" : "ACTC",
    "signInfo" : {
      "state" : "OPEN",
      "signId" : "82d76cdf-071b-4ca7-a251-6163abf9dcb2"
    }
  } ]
}

Batch payment delete

A DELETE request to delete standing order

Path parameters

Table 22. /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/01e0d4ba-d4e1-417d-9efd-e2cec156d63b HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:35:08 CEST
X-Request-ID: df734767-c4ad-4722-abae-7ad3912b4e3a
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIwNWQ3ZWU4Yy0xN2Y3LTRlMGQtYTJlZi05YjIwYzI1NmUyYjIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNTA4LCJleHAiOjE3Mjc4NzYxMDh9.D18O1ntDEeONwMjufBBvBTPiEOe1X2wxXfw4ywBgv0s
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: df734767-c4ad-4722-abae-7ad3912b4e3a

Example of deleting with instructions

DELETE /batchpayments/7691d0cc-a017-48d1-809d-e4c6dea32ac8?allInstructions=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:34:06 CEST
X-Request-ID: 3dee5665-8520-4ccc-995f-5a930701abe9
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiJiMjEwNDUwYS01YWY2LTQ0ZTMtYTM3OS1lMTcwNzZjMmFhMTciLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDQ2LCJleHAiOjE3Mjc4NzYwNDZ9.jrwP9sTZDzlPzVJX3-yHniIICHbx0xagKb7Biw5gCyE
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 3dee5665-8520-4ccc-995f-5a930701abe9

Batch payment signing

Authorization detail (I)

A GET request to get batch payment authorization detail

Path parameters

Table 23. /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/2cf589f4-8f3a-48c0-b507-3d2743679960/sign/1f11c741-eb24-4093-90d7-3718ba5727de HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:34:32 CEST
X-Request-ID: a0bed471-c8da-44e3-b3c0-9fda77e1b6aa
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI0NmQxNjdlYi02NjNjLTRjMmMtYTI4My02MmIxZDU2MzNlYWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDcxLCJleHAiOjE3Mjc4NzYwNzF9.5zH4PCCJ9_iza4tBoip_cU6MQLAl9g33iQqnUlv5p14
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: a0bed471-c8da-44e3-b3c0-9fda77e1b6aa
Content-Length: 148

{
  "scenarios" : [ "SMS_TPP", "SMS_FEDERATED" ],
  "signInfo" : {
    "state" : "OPEN",
    "signId" : "1f11c741-eb24-4093-90d7-3718ba5727de"
  }
}

Authorization initiation (II)

A POST request to generate signature

Additional information

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

Path parameters

Table 24. /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

hash

String

Checksum hash from batch transaction

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/2cf589f4-8f3a-48c0-b507-3d2743679960/sign/1f11c741-eb24-4093-90d7-3718ba5727de?testAuthCode=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:34:32 CEST
X-Request-ID: b687cfe5-5438-441a-a135-78d0b5f5d7c3
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI0NmQxNjdlYi02NjNjLTRjMmMtYTI4My02MmIxZDU2MzNlYWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDcxLCJleHAiOjE3Mjc4NzYwNzF9.5zH4PCCJ9_iza4tBoip_cU6MQLAl9g33iQqnUlv5p14
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: b687cfe5-5438-441a-a135-78d0b5f5d7c3
Content-Length: 235

{
  "authorizationType" : "SMS_TPP",
  "code" : {
    "prefix" : "FGD"
  },
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "1f11c741-eb24-4093-90d7-3718ba5727de",
    "scenario" : "SMS_TPP"
  },
  "hash" : "U8SUXTP5"
}

Authorization initiation (III)

A PUT request to confirm signature

Path parameters

Table 25. /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)

hash

String

Checksum hash from batch transaction

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/2cf589f4-8f3a-48c0-b507-3d2743679960/sign/1f11c741-eb24-4093-90d7-3718ba5727de HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:34:33 CEST
X-Request-ID: 57e5e119-2f4e-4010-b9e4-e114d5e86c70
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiI0NmQxNjdlYi02NjNjLTRjMmMtYTI4My02MmIxZDU2MzNlYWEiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyNDcxLCJleHAiOjE3Mjc4NzYwNzF9.5zH4PCCJ9_iza4tBoip_cU6MQLAl9g33iQqnUlv5p14
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
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: 57e5e119-2f4e-4010-b9e4-e114d5e86c70
Content-Length: 133

{
  "signInfo" : {
    "state" : "COMPLETED",
    "signId" : "1f11c741-eb24-4093-90d7-3718ba5727de",
    "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

hash

String

Checksum hash from batch transaction

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=dbeebbdced0b060f25f442d78782d65d05ca98f2ab9ff1de0de9f6247e3700f2fffbc2a2878ce5023bc0c6b5b3143ca43d92fa6c9c9d5261e5ad1653a870a56aa12f23fe674470bde039972acba4d984c517b3ad234004d369cb8abb2be603fd65a10a9ade501028bd8ba689f8c6f835b999e8082bb1e76a184ccb7f9bfb03de_e9cf26883b6e695f&redirectUrl=https%253A%252F%252Fpsd2apidokumentace.cz&redirectUrl=https%3A%2F%2Fpsd2apidokumentace.cz HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Type: application/json; charset=utf-8
Accept-Language: cs
Date: Wed, 2 Oct 2024 14:33:13 CEST
X-Request-ID: 46c6ec9b-927d-4921-9d84-6b6f524c2c5f
User-Involved: true
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBcGxpa2FjZSAtIFBTRDJBUEkgRE9LVU1FTlRBQ0UiLCJqdGkiOiIwZDliNzRlYi0xZWE3LTQ1NDYtOWNlNi0xYmVkM2ZiMDc2MWIiLCJ1c2VySWQiOjEsImN1c3RvbWVyIjoyODQ1NSwiYWNjb3VudHMiOlt7ImFjY291bnRObyI6IioiLCJwZXJtaXNzaW9uIjoiQUNUSVZFIn1dLCJjbGllbnRfaWQiOiIzZTg0YjA4ZC1hNjBiLTRmZjktYWEwOS1lZjkxN2EyODE0NTQiLCJzY29wZXMiOlsiYWlzcCIsInBpc3AiXSwiaWF0IjoxNzI3ODcyMzg4LCJleHAiOjE3Mjc4NzU5ODh9.tWMMbxLI5bWFleqvbqFYMdgscIghgY0qwCyMKrWDOS0
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 883
Host: localhost:8080

{
  "authorizationType" : "SMS_FEDERATED",
  "href" : {
    "url" : "https://api-test5.dom01.ad/oauth2/sign?id=dbeebbdced0b060f25f442d78782d65d05ca98f2ab9ff1de0de9f6247e3700f2fffbc2a2878ce5023bc0c6b5b3143ca43d92fa6c9c9d5261e5ad1653a870a56aa12f23fe674470bde039972acba4d984c517b3ad234004d369cb8abb2be603fd65a10a9ade501028bd8ba689f8c6f835b999e8082bb1e76a184ccb7f9bfb03de_e9cf26883b6e695f&redirectUrl=https://psd2apidokumentace.cz",
    "id" : "dbeebbdced0b060f25f442d78782d65d05ca98f2ab9ff1de0de9f6247e3700f2fffbc2a2878ce5023bc0c6b5b3143ca43d92fa6c9c9d5261e5ad1653a870a56aa12f23fe674470bde039972acba4d984c517b3ad234004d369cb8abb2be603fd65a10a9ade501028bd8ba689f8c6f835b999e8082bb1e76a184ccb7f9bfb03de_e9cf26883b6e695f"
  },
  "method" : "GET",
  "signInfo" : {
    "state" : "CODE_GENERATED",
    "signId" : "337e0e91-f418-4880-8a98-4a8f8488b531",
    "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: Wed, 2 Oct 2024 14:33:17 CEST
X-Request-ID: 5e042bdb-c876-4b14-ad16-688de8198714
User-Involved: false
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 619
Host: localhost:8080

{
  "exchangeIdentification" : "BC1727872397586",
  "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: 5e042bdb-c876-4b14-ad16-688de8198714
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: Wed, 2 Oct 2024 14:33:17 CEST
X-Request-ID: 8512a42d-a7c1-4f97-9ff9-e182ddaab8a0
User-Involved: false
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 634
Host: localhost:8080

{
  "exchangeIdentification" : "BC1727872397706",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 8512a42d-a7c1-4f97-9ff9-e182ddaab8a0
Content-Length: 117

{
  "exchangeIdentification" : "BC1727872397706",
  "responseIdentification" : 1727872398426,
  "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: Wed, 2 Oct 2024 14:33:18 CEST
X-Request-ID: 5b6e7429-f2ee-429f-b932-35ccac87633a
User-Involved: false
API-key: gHB1rYARCiWI69exnTCL3uHVOhxY2w5mmuamjQHJfmpqrI9JmxPP9AWskgnnvchW
TPP-Name: Aplikace - PSD2API DOKUMENTACE
TPP-Identification: TPP legal identity
Accept: application/json
Content-Length: 628
Host: localhost:8080

{
  "exchangeIdentification" : "BC1727872398495",
  "card" : {
    "cardholderName" : "Jan Zelenka",
    "maskedPan" : "1234********6789"
  },
  "debtorAccount" : {
    "identification" : {
      "iban" : "CZ8022500000007255060066"
    },
    "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: 5b6e7429-f2ee-429f-b932-35ccac87633a
Content-Length: 117

{
  "exchangeIdentification" : "BC1727872398495",
  "responseIdentification" : 1727872398588,
  "response" : "APPR"
}