Last active
May 24, 2024 08:01
-
-
Save amilos/1ce55dbdfa336eee1de74d3e800496c1 to your computer and use it in GitHub Desktop.
Berlin Group PSD2 API specified in Openapi v3 format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.1 | |
info: | |
title: BG PSD2 API | |
version: "1.2" | |
description: | | |
# Summary | |
The **NextGenPSD2** *Framework Version 1.2* offers a modern, open, harmonised and interoperable set of | |
Application Programming Interfaces (APIs) as the safest and most efficient way to provide data securely. | |
The NextGenPSD2 Framework reduces XS2A complexity and costs, addresses the problem of multiple competing standards | |
in Europe and, aligned with the goals of the Euro Retail Payments Board, | |
enables European banking customers to benefit from innovative products and services ('Banking as a Service') | |
by granting TPPs safe and secure (authenticated and authorised) access to their bank accounts and financial data. | |
The possible Approaches are: | |
* Redirect SCA Approach | |
* OAuth SCA Approach | |
* Decoupled SCA Approach | |
* Embedded SCA Approach without SCA method | |
* Embedded SCA Approach with only one SCA method available | |
* Embedded SCA Approach with Selection of a SCA method | |
Not every message defined in this API definition is necessary for all approaches. | |
Futhermore this API definition does not differ between methods which are mandatory, conditional, or optional | |
Therfore for a particular implementation of a Berlin Group PSD2 compliant API it is only necessary to support | |
a certain subset of the methods defined in this API definition. | |
**Please have a look at the implementation guidelines if you are not sure | |
which message has to be used for the approach you are going to use.** | |
## Some General Remarks Related to this version of the OpenAPI Specification: | |
* **This API definition is based on the Implementation Guidelines of the Berlin Group PSD2 API.** | |
It is not an replacement in any sense. | |
The main specification is (at the moment) allways the Implementation Guidelines of the Berlin Group PSD2 API. | |
* **This API definition contains the REST-API for requests from the PISP to the ASPSP.** | |
* **This API definition contains the messages for all different approaches defined in the Implementation Guidelines.** | |
* According to the OpenAPI-Specification [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md] | |
"If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored." | |
The element "Accept" will not be defined in this file at any place. | |
The elements "Content-Type" and "Authorization" are implicitly defined by the OpenApi tags "content" and "security". | |
* There are several predefined types which might occur in payment initiation messages, | |
but are not used in the standard JSON messages in the Implementation Guidelines. | |
Therefore they are not used in the corresponding messages in this file either. | |
We added them for the convinience of the user. | |
If there is a payment product, which need these field, one can easily use the predefined types. | |
But the ASPSP need not to accept them in general. | |
* **We ommit the definition of all standard HTTP header elements (mandatory/optional/conditional) | |
except they are mention in the Implementation Guidelines.** | |
Therefore the implementer might add the in his own realisation of a PSD2 comlient API in addition to the elements define in this file. | |
## General Remarks on Data Types | |
The Berlin Group definition of UTF-8 strings in context of the PSD2 API have to support at least the following characters | |
a b c d e f g h i j k l m n o p q r s t u v w x y z | |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | |
0 1 2 3 4 5 6 7 8 9 | |
/ - ? : ( ) . , ' + | |
Space | |
license: | |
name: Creative Commons Attribution 4.0 International Public License | |
url: https://creativecommons.org/licenses/by/4.0/ | |
#termsOfService: URL for Terms of Service of the API | |
contact: | |
name: The Berlin Group - A European Standards Initiative | |
url: https://www.berlin-group.org/ | |
email: [email protected] | |
externalDocs: | |
description: | | |
Full Documentation of NextGenPSD2 Access to Account Interoperability Framework | |
(General Introduction Paper, Operational Rules, Implementation Guidelines) | |
url: https://www.berlin-group.org/nextgenpsd2-downloads | |
servers: | |
- url: https://api.testbank.com/psd2 | |
description: PSD2 server | |
- url: https://test-api.testbank.com/psd2 | |
description: Optional PSD2 test server | |
paths: | |
##################################################### | |
# Payment Information Service | |
##################################################### | |
/v1/{payment-service}/{payment-product}: | |
post: | |
summary: Payment initiation request | |
description: | | |
This method is used to initiate a payment at the ASPSP. | |
## Variants of Payment Initiation Requests | |
This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path. | |
There are the following **payment products**: | |
- Payment products with payment information in *JSON* format: | |
- ***sepa-credit-transfers*** | |
- ***instant-sepa-credit-transfers*** | |
- ***target-2-payments*** | |
- ***cross-border-credit-transfers*** | |
- Payment products with payment information in *pain.001* XML format: | |
- ***pain.001-sepa-credit-transfers*** | |
- ***pain.001-instant-sepa-credit-transfers*** | |
- ***pain.001-target-2-payments*** | |
- ***pain.001-cross-border-credit-transfers*** | |
Furthermore the request body depends on the **payment-service** | |
* ***payments***: A single payment initiation request. | |
* ***bulk-payments***: A collection of several payment iniatiation requests. | |
In case of a *pain.001* message there are more than one payments contained in the *pain.001 message. | |
In case of a *JSON* there are several JSON payment blocks contained in a joining list. | |
* ***periodic-payments***: | |
Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} | |
with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. | |
This is the first step in the API to initiate the related recurring/periodic payment. | |
## Single and mulitilevel SCA Processes | |
The Payment Initiation Requests are independent from the need of one ore multilevel | |
SCA processing, i.e. independent from the number of authorisations needed for the execution of payments. | |
But the response messages are specific to either one SCA processing or multilevel SCA processing. | |
For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, | |
i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the | |
response message of a Payment Initation Request for a payment, where multiple authorisations are needed. | |
Also if any data is needed for the next action, like selecting an SCA method is not supported in the response, | |
since all starts of the multiple authorisations are fully equal. | |
In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link. | |
operationId: initiatePayment | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentProduct" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
- $ref: "#/components/parameters/consentId_HEADER_optional" | |
- $ref: "#/components/parameters/PSU-IP-Address_mandatory" | |
- $ref: "#/components/parameters/TPP-Redirect-Preferred" | |
- $ref: "#/components/parameters/TPP-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Nok-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
$ref: "#/components/requestBodies/paymentInitiation" | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_PaymentInitiation" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}: | |
get: | |
summary: Get Payment Information | |
description: Returns the content of a payment object | |
operationId: getPaymentInformation | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_PaymentInitiationInformation" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
delete: | |
summary: Payment Cancellation Request | |
description: | | |
This method initiates the cancellation of a payment. | |
Depending on the payment-service, the payment-product and the ASPSP's implementation, | |
this TPP call might be sufficient to cancel a payment. | |
If an authorisation of the payment cancellation is mandated by the ASPSP, | |
a corresponding hyperlink will be contained in the response message. | |
Cancels the addressed payment with resource identification paymentId if applicable to the payment-service, payment-product and received in product related timelines (e.g. before end of business day for scheduled payments of the last business day before the scheduled execution day). | |
The response to this DELETE command will tell the TPP whether the | |
* access method was rejected | |
* access method was successful, or | |
* access method is generally applicable, but further authorisation processes are needed. | |
operationId: cancelPayment | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_PaymentInitiationCancel" | |
#If the DELETE is sufficient for cancelling the payment | |
'202': | |
$ref: "#/components/responses/RECEIVED_202_PaymentInitiationCancel" | |
#If the DELETE is not sufficient for cancelling the payment since an authorisation of the cancellation by the PSU is needed. | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}/status: | |
get: | |
summary: Payment initiation status request | |
description: Check the transaction status of a payment initiation. | |
operationId: getPaymentInitiationStatus | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_PaymentInitiationStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}/authorisations: | |
post: | |
summary: Start the authorisation process for a payment initiation | |
description: | | |
Create an authorisation sub-resource and start the authorisation process. | |
The message might in addition transmit authentication and authorisation related data. | |
This method is iterated n times for a n times SCA authorisation in a | |
corporate context, each creating an own authorisation sub-endpoint for | |
the corresponding PSU authorising the transaction. | |
The ASPSP might make the usage of this access method unnecessary in case | |
of only one SCA process needed, since the related authorisation resource | |
might be automatically created by the ASPSP after the submission of the | |
payment data with the first POST payments/{payment-product} call. | |
The start authorisation process is a process which is needed for creating a new authorisation | |
or cancellation sub-resource. | |
This applies in the following scenarios: | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment | |
Initiation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be | |
uploaded by using the extended forms. | |
* 'startAuthorisationWithPsuIdentfication', | |
* 'startAuthorisationWithPsuAuthentication' | |
* 'startAuthorisationWithAuthentciationMethodSelection' | |
* The related payment initiation cannot yet be executed since a multilevel SCA is mandated. | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding | |
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded | |
by using the extended forms as indicated above. | |
* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for | |
executing the cancellation. | |
* The signing basket needs to be authorised yet. | |
operationId: startPaymentAuthorisation | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_StartScaProcess" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
get: | |
summary: Get Payment Initiation Authorisation Sub-Resources Request | |
description: | | |
Read a list of all authorisation subresources IDs which have been created. | |
This function returns an array of hyperlinks to all generated authorisation sub-resources. | |
operationId: getPaymentInitiationAuthorisation | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_Authorisations" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}/authorisations/{authorisationId}: | |
get: | |
summary: Read the SCA Status of the payment authorisation | |
description: | | |
This method returns the SCA status of a payment initiation's authorisation sub-resource. | |
operationId: getPaymentInitiationScaStatus | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
- $ref: "#/components/parameters/authorisationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ScaStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
put: | |
summary: Update PSU data for payment initiation | |
description: | | |
This methods updates PSU data on the authorisation resource if needed. | |
It may authorise a payment within the Embedded SCA Approach where needed. | |
Independently from the SCA Approach it supports e.g. the selection of | |
the authentication method and a non-SCA PSU authentication. | |
There are several possible Update PSU Data requests in the context of payment initiation services needed, | |
which depends on the SCA approach: | |
* Redirect SCA Approach: | |
A specific Update PSU Data Request is applicable for | |
* the selection of authentication methods, before choosing the actual SCA approach. | |
* Decoupled SCA Approach: | |
A specific Update PSU Data Request is only applicable for | |
* adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or | |
* the selection of authentication methods. | |
* Embedded SCA Approach: | |
The Update PSU Data Request might be used | |
* to add credentials as a first factor authentication data of the PSU and | |
* to select the authentication method and | |
* transaction authorisation. | |
The SCA Approach might depend on the chosen SCA method. | |
For that reason, the following possible Update PSU Data request can apply to all SCA approaches: | |
* Select an SCA method in case of several SCA methods are available for the customer. | |
There are the following request types on this access path: | |
* Update PSU Identification | |
* Update PSU Authentication | |
* Select PSU Autorization Method | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
* Transaction Authorisation | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
operationId: updatePaymentPsuData | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
- $ref: "#/components/parameters/authorisationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements # Not always allowed depending on the kind of update which is ask for | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- {} #Update PSU Identification | |
- $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication | |
- $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method | |
- $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation | |
examples: | |
"Update PSU Identification (Decoupled Approach)": | |
value: {} | |
"Update PSU Authentication (Embedded Approach)": | |
$ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" | |
"Select PSU Authentication Method (Embedded Approach)": | |
$ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" | |
"Transaction Authorisation (Embedded Approach)": | |
$ref: "#/components/examples/transactionAuthorisationExample_Embedded" | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_UpdatePsuData" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}/cancellation-authorisations: | |
post: | |
summary: Start the authorisation process for the cancellation of the addressed payment | |
description: | | |
Creates an authorisation sub-resource and start the authorisation process of the cancellation of the addressed payment. | |
The message might in addition transmit authentication and authorisation related data. | |
This method is iterated n times for a n times SCA authorisation in a | |
corporate context, each creating an own authorisation sub-endpoint for | |
the corresponding PSU authorising the cancellation-authorisation. | |
The ASPSP might make the usage of this access method unnecessary in case | |
of only one SCA process needed, since the related authorisation resource | |
might be automatically created by the ASPSP after the submission of the | |
payment data with the first POST payments/{payment-product} call. | |
The start authorisation process is a process which is needed for creating a new authorisation | |
or cancellation sub-resource. | |
This applies in the following scenarios: | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment | |
Initiation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be | |
uploaded by using the extended forms. | |
* 'startAuthorisationWithPsuIdentfication', | |
* 'startAuthorisationWithPsuAuthentication' | |
* 'startAuthorisationWithAuthentciationMethodSelection' | |
* The related payment initiation cannot yet be executed since a multilevel SCA is mandated. | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding | |
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded | |
by using the extended forms as indicated above. | |
* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for | |
executing the cancellation. | |
* The signing basket needs to be authorised yet. | |
operationId: startPaymentInitiationCancellationAuthorisation | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_StartScaProcess" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
get: | |
summary: Will deliver an array of resource identifications to all generated cancellation authorisation sub-resources. | |
description: | | |
Retrieve a list of all created cancellation authorisation sub-resources. | |
operationId: getPaymentInitiationCancellationAuthorisationInformation | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_CancellationList" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/{payment-service}/{paymentId}/cancellation-authorisations/{cancellationId}: | |
get: | |
summary: Read the SCA status of the payment cancellation's authorisation. | |
description: | | |
This method returns the SCA status of a payment initiation's authorisation sub-resource. | |
operationId: getPaymentCancellationScaStatus | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
- $ref: "#/components/parameters/cancellationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ScaStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
put: | |
summary: Update PSU Data for payment initiation cancellation | |
description: | | |
This method updates PSU data on the cancellation authorisation resource if needed. | |
It may authorise a cancellation of the payment within the Embedded SCA Approach where needed. | |
Independently from the SCA Approach it supports e.g. the selection of | |
the authentication method and a non-SCA PSU authentication. | |
This methods updates PSU data on the cancellation authorisation resource if needed. | |
There are several possible Update PSU Data requests in the context of a cancellation authorisation within the payment initiation services needed, | |
which depends on the SCA approach: | |
* Redirect SCA Approach: | |
A specific Update PSU Data Request is applicable for | |
* the selection of authentication methods, before choosing the actual SCA approach. | |
* Decoupled SCA Approach: | |
A specific Update PSU Data Request is only applicable for | |
* adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or | |
* the selection of authentication methods. | |
* Embedded SCA Approach: | |
The Update PSU Data Request might be used | |
* to add credentials as a first factor authentication data of the PSU and | |
* to select the authentication method and | |
* transaction authorisation. | |
The SCA Approach might depend on the chosen SCA method. | |
For that reason, the following possible Update PSU Data request can apply to all SCA approaches: | |
* Select an SCA method in case of several SCA methods are available for the customer. | |
There are the following request types on this access path: | |
* Update PSU Identification | |
* Update PSU Authentication | |
* Select PSU Autorization Method | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
* Transaction Authorisation | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
operationId: updatePaymentCancellationPsuData | |
tags: | |
- Payment Initiation Service (PIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
- $ref: "#/components/parameters/cancellationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements # Not always allowed depending on the kind of update which is ask for | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- {} #Update PSU Identification | |
- $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication | |
- $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method | |
- $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation | |
examples: | |
"Update PSU Identification (Embedded Approach)": | |
value: {} | |
"Update PSU Authentication (Embedded Approach)": | |
$ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" | |
"Select PSU Authentication Method (Embedded Approach)": | |
$ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" | |
"Transaction Authorisation (Embedded Approach)": | |
$ref: "#/components/examples/transactionAuthorisationExample_Embedded" | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_UpdatePsuData" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
##################################################### | |
# Account Information Service | |
##################################################### | |
##################################################### | |
# Accounts | |
##################################################### | |
/v1/accounts: | |
get: | |
summary: Read Account List | |
description: | | |
Read the identifiers of the available payment account together with | |
booking balance information, depending on the consent granted. | |
It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. | |
The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, | |
respectively the OAuth2 access token. | |
Returns all identifiers of the accounts, to which an account access has been granted to through | |
the /consents endpoint by the PSU. | |
In addition, relevant information about the accounts and hyperlinks to corresponding account | |
information resources are provided if a related consent has been already granted. | |
Remark: Note that the /consents endpoint optionally offers to grant an access on all available | |
payment accounts of a PSU. | |
In this case, this endpoint will deliver the information about all available payment accounts | |
of the PSU at this ASPSP. | |
operationId: getAccountList | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path # NO PATH PARAMETER | |
#query | |
- $ref: "#/components/parameters/withBalanceQuery" | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/consentId_HEADER_mandatory" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_AccountList" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/accounts/{account-id}: | |
get: | |
summary: Read Account Details | |
description: | | |
Reads details about an account, with balances where required. | |
It is assumed that a consent of the PSU to | |
this access is already given and stored on the ASPSP system. | |
The addressed details of this account depends then on the stored consent addressed by consentId, | |
respectively the OAuth2 access token. | |
**NOTE:** The account-id can represent a multicurrency account. | |
In this case the currency code is set to "XXX". | |
Give detailed information about the addressed account. | |
Give detailed information about the addressed account together with balance information | |
operationId: readAccountDetails | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/accountId" | |
#query | |
- $ref: "#/components/parameters/withBalanceQuery" | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/consentId_HEADER_mandatory" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_AccountDetails" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/accounts/{account-id}/balances: | |
get: | |
summary: Read Balance | |
description: | | |
Reads account data from a given account addressed by "account-id". | |
**Remark:** This account-id can be a tokenised identification due to data protection reason since the path | |
information might be logged on intermediary servers within the ASPSP sphere. | |
This account-id then can be retrieved by the "GET Account List" call. | |
The account-id is constant at least throughout the lifecycle of a given consent. | |
operationId: getBalances | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/accountId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/consentId_HEADER_mandatory" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_Balances" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/accounts/{account-id}/transactions/: | |
get: | |
summary: Read Transaction List | |
description: | | |
Read transaction reports or transaction lists of a given account ddressed by "account-id", depending on the steering parameter | |
"bookingStatus" together with balances. | |
For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". | |
The ASPSP might add balance information, if transaction lists without balances are not supported. | |
operationId: getTransactionList | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/accountId" | |
#query | |
- $ref: "#/components/parameters/dateFrom" | |
- $ref: "#/components/parameters/dateTo" | |
- $ref: "#/components/parameters/entryReferenceFrom" | |
- $ref: "#/components/parameters/bookingStatus" | |
- $ref: "#/components/parameters/deltaList" | |
- $ref: "#/components/parameters/withBalanceQuery" | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/consentId_HEADER_mandatory" | |
#- $ref: "#/components/parameters/Accept" #Can not defined in Open API. See general comments in the description attached to the top level of the file. | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_Transactions" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/accounts/{account-id}/transactions/{resourceId}: | |
get: | |
summary: Read Transaction Details | |
description: | | |
Reads transaction details from a given transaction addressed by "resourceId" on a given account addressed by "account-id". | |
This call is only available on transactions as reported in a JSON format. | |
**Remark:** Please note that the PATH might be already given in detail by the corresponding entry of the response of the | |
"Read Transaction List" call within the _links subfield. | |
operationId: getTransactionDetails | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/accountId" | |
- $ref: "#/components/parameters/resourceId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/consentId_HEADER_mandatory" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_TransactionDetails" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
##################################################### | |
# Card Accounts | |
##################################################### | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# /card-accounts: | |
# | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# get: | |
# # Remark for Future: This endpoint will deliver credit card account related account information. It will be sub-structured analogously to the /accounts interface with similar sub-endpoints. Further details will be published with the next version of the specification. | |
# Remark: Note that the {card-account-id} parameters can be tokenised by the ASPSP such that the actual account numbers like IBANs or PANs are not part of the path definitions of the API for data protection reasons. This tokenisation is managed by the ASPSP | |
##################################################### | |
# Consents | |
##################################################### | |
/v1/consents: | |
post: | |
summary: Create consent | |
description: | | |
This method create a consent resource, defining access rights to dedicated accounts of | |
a given PSU-ID. These accounts are addressed explicitly in the method as | |
parameters as a core function. | |
**Side Effects** | |
When this Consent Request is a request where the "recurringIndicator" equals "true", | |
and if it exists already a former consent for recurring access on account information | |
for the addressed PSU, then the former consent automatically expires as soon as the new | |
consent request is authorised by the PSU. | |
Optional Extension: | |
As an option, an ASPSP might optionally accept a specific access right on the access on all psd2 related services for all available accounts. | |
As another option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. | |
The relation to accounts is then handled afterwards between PSU and ASPSP. | |
This option is supported only within the Decoupled, OAuth2 or Re-direct SCA Approach. | |
As a last option, an ASPSP might in addition accept a command with access rights | |
* to see the list of available payment accounts or | |
* to see the list of available payment accounts with balances. | |
operationId: createConsent | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path # NO PATH PARAMETER | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
- $ref: "#/components/parameters/TPP-Redirect-Preferred" | |
- $ref: "#/components/parameters/TPP-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Nok-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
$ref: "#/components/requestBodies/consents" | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_Consents" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/consents/{consentId}: | |
get: | |
summary: Get Consent Request | |
description: | | |
Returns the content of an account information consent object. | |
This is returning the data for the TPP especially in cases, | |
where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach. | |
operationId: getConsentInformation | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ConsentInformation" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
delete: | |
summary: Delete Consent | |
description: The TPP can delete an account information consent object if needed. | |
operationId: deleteConsent | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'204': | |
$ref: "#/components/responses/NO_CONTENT_204_Consents" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/consents/{consentId}/status: | |
get: | |
summary: Consent status request | |
description: Read the status of an account information consent resource. | |
operationId: getConsentStatus | |
tags: | |
- Account Information Service (AIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ConsentsStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/consents/{consentId}/authorisations: | |
parameters: | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
post: | |
summary: Start the authorisation process for a consent | |
description: | | |
Create an authorisation sub-resource and start the authorisation process of a consent. | |
The message might in addition transmit authentication and authorisation related data. | |
his method is iterated n times for a n times SCA authorisation in a | |
corporate context, each creating an own authorisation sub-endpoint for | |
the corresponding PSU authorising the consent. | |
The ASPSP might make the usage of this access method unnecessary, | |
since the related authorisation resource will be automatically created by | |
the ASPSP after the submission of the consent data with the first POST consents call. | |
The start authorisation process is a process which is needed for creating a new authorisation | |
or cancellation sub-resource. | |
This applies in the following scenarios: | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment | |
Initiation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be | |
uploaded by using the extended forms. | |
* 'startAuthorisationWithPsuIdentfication', | |
* 'startAuthorisationWithPsuAuthentication' | |
* 'startAuthorisationWithAuthentciationMethodSelection' | |
* The related payment initiation cannot yet be executed since a multilevel SCA is mandated. | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding | |
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded | |
by using the extended forms as indicated above. | |
* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for | |
executing the cancellation. | |
* The signing basket needs to be authorised yet. | |
operationId: startConsentAuthorisation | |
tags: | |
- Account Information Service (AIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_StartScaProcess" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
get: | |
summary: Get Consent Authorisation Sub-Resources Request | |
description: | | |
Return a list of all authorisation subresources IDs which have been created. | |
This function returns an array of hyperlinks to all generated authorisation sub-resources. | |
operationId: getPaymentInitiationAuthorisation | |
tags: | |
- Payment Initiation Service (PIS) | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_Authorisations" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/consents/{consentId}/authorisations/{authorisationId}: | |
get: | |
summary: Read the SCA status of the consent authorisation. | |
description: | | |
This method returns the SCA status of a consent initiation's authorisation sub-resource. | |
operationId: getConsentScaStatus | |
tags: | |
- Account Information Service (AIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
- $ref: "#/components/parameters/authorisationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ScaStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
put: | |
summary: Update PSU Data for consents | |
description: | | |
This method update PSU data on the consents resource if needed. | |
It may authorise a consent within the Embedded SCA Approach where needed. | |
Independently from the SCA Approach it supports e.g. the selection of | |
the authentication method and a non-SCA PSU authentication. | |
This methods updates PSU data on the cancellation authorisation resource if needed. | |
There are several possible Update PSU Data requests in the context of a consent request if needed, | |
which depends on the SCA approach: | |
* Redirect SCA Approach: | |
A specific Update PSU Data Request is applicable for | |
* the selection of authentication methods, before choosing the actual SCA approach. | |
* Decoupled SCA Approach: | |
A specific Update PSU Data Request is only applicable for | |
* adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or | |
* the selection of authentication methods. | |
* Embedded SCA Approach: | |
The Update PSU Data Request might be used | |
* to add credentials as a first factor authentication data of the PSU and | |
* to select the authentication method and | |
* transaction authorisation. | |
The SCA Approach might depend on the chosen SCA method. | |
For that reason, the following possible Update PSU Data request can apply to all SCA approaches: | |
* Select an SCA method in case of several SCA methods are available for the customer. | |
There are the following request types on this access path: | |
* Update PSU Identification | |
* Update PSU Authentication | |
* Select PSU Autorization Method | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
* Transaction Authorisation | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
operationId: updateConsentsPsuData | |
tags: | |
- Account Information Service (AIS) | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#query # NO QUERY PARAMETER | |
#header | |
#path | |
- $ref: "#/components/parameters/consentId_PATH" | |
- $ref: "#/components/parameters/authorisationId" | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements # Not always allowed depending on the kind of update which is ask for | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- {} #Update PSU Identification | |
- $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication | |
- $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method | |
- $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation | |
examples: | |
"Update PSU Identification/Additional SCA Process (Embedded Approach)": | |
value: {} | |
"Update PSU Authentication (Embedded Approach)": | |
$ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" | |
"Select PSU Authentication Method (Embedded Approach)": | |
$ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" | |
"Transaction Authorisation (Embedded Approach)": | |
$ref: "#/components/examples/transactionAuthorisationExample_Embedded" | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_UpdatePsuData" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
##################################################### | |
# Funds Confirmation Service | |
##################################################### | |
/v1/funds-confirmations: | |
post: | |
summary: Confirmation of Funds Request | |
description: | |
Creates a confirmation of funds request at the ASPSP. | |
Checks whether a specific amount is available at point of time | |
of the request on an account linked to a given tuple card issuer(TPP)/card number, | |
or addressed by IBAN and TPP respectively | |
operationId: checkAvailabilityOfFunds | |
tags: | |
- Confirmation of Funds Service | |
parameters: | |
#path # NO PATH PARAMETER | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
requestBody: | |
$ref: "#/components/requestBodies/confirmationOfFunds" | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ConfirmationOfFunds" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
##################################################### | |
# Card Account Information Service | |
##################################################### | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# /card-accounts: | |
# get: | |
# summary: | |
# description: | | |
# This endpoint will deliver credit card account related account information. | |
# It will be sub-structured analogously to the /accounts interface with similar sub-endpoints. | |
# Further details will be published with the next version of the specification. | |
##################################################### | |
# Signing Basket | |
##################################################### | |
/v1/signing-baskets: | |
post: | |
summary: Create a signing basket resource | |
description: | | |
Create a signing basket resource for authorising several transactions with one SCA method. | |
The resource identifications of these transactions are contained in the payload of this access method | |
operationId: createSigningBasket | |
tags: | |
- Signing Baskets | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path # NO PATH PARAMETER | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
- $ref: "#/components/parameters/consentId_HEADER_optional" | |
- $ref: "#/components/parameters/PSU-IP-Address_mandatory" | |
- $ref: "#/components/parameters/TPP-Redirect-Preferred" | |
- $ref: "#/components/parameters/TPP-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Nok-Redirect-URI" | |
- $ref: "#/components/parameters/TPP-Explicit-Authorisation-Preferred" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
$ref: "#/components/requestBodies/signingBasket" | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_SigningBasket" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/signing-baskets/{basketId}: | |
get: | |
summary: Returns the content of an signing basket object. | |
description: | |
Returns the content of an signing basket object. | |
operationId: getSigningBasket | |
tags: | |
- Signing Baskets | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path # NO PATH PARAMETER | |
- $ref: "#/components/parameters/basketId_PATH" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_GetSigningBasket" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/signing-baskets/{basketId}/authorisations: | |
parameters: | |
#path | |
- $ref: "#/components/parameters/basketId_PATH" | |
post: | |
summary: Start the authorisation process for a signing basket | |
description: | | |
Create an authorisation sub-resource and start the authorisation process of a signing basket. | |
The message might in addition transmit authentication and authorisation related data. | |
This method is iterated n times for a n times SCA authorisation in a | |
corporate context, each creating an own authorisation sub-endpoint for | |
the corresponding PSU authorising the signing-baskets. | |
The ASPSP might make the usage of this access method unnecessary in case | |
of only one SCA process needed, since the related authorisation resource | |
might be automatically created by the ASPSP after the submission of the | |
payment data with the first POST signing basket call. | |
The start authorisation process is a process which is needed for creating a new authorisation | |
or cancellation sub-resource. | |
This applies in the following scenarios: | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment | |
Initiation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be | |
uploaded by using the extended forms. | |
* 'startAuthorisationWithPsuIdentfication', | |
* 'startAuthorisationWithPsuAuthentication' | |
* 'startAuthorisationWithAuthentciationMethodSelection' | |
* The related payment initiation cannot yet be executed since a multilevel SCA is mandated. | |
* The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding | |
Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. | |
The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded | |
by using the extended forms as indicated above. | |
* The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for | |
executing the cancellation. | |
* The signing basket needs to be authorised yet. | |
operationId: startSigningBasketAuthorisation | |
tags: | |
- Signing Baskets | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'201': | |
$ref: "#/components/responses/CREATED_201_StartScaProcess" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
get: | |
summary: Get Signing Basket Authorisation Sub-Resources Request | |
description: | | |
Read a list of all authorisation subresources IDs which have been created. | |
This function returns an array of hyperlinks to all generated authorisation sub-resources. | |
operationId: getPaymentInitiationAuthorisation | |
tags: | |
- Signing Baskets | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/paymentService" | |
- $ref: "#/components/parameters/paymentId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_Authorisations" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
/v1/signing-baskets/{basketId}/authorisations/{authorisationId}: | |
put: | |
summary: Update PSU Data for signing basket | |
description: | | |
This method update PSU data on the signing basket resource if needed. | |
It may authorise a igning basket within the Embedded SCA Approach where needed. | |
Independently from the SCA Approach it supports e.g. the selection of | |
the authentication method and a non-SCA PSU authentication. | |
This methods updates PSU data on the cancellation authorisation resource if needed. | |
There are several possible Update PSU Data requests in the context of a consent request if needed, | |
which depends on the SCA approach: | |
* Redirect SCA Approach: | |
A specific Update PSU Data Request is applicable for | |
* the selection of authentication methods, before choosing the actual SCA approach. | |
* Decoupled SCA Approach: | |
A specific Update PSU Data Request is only applicable for | |
* adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or | |
* the selection of authentication methods. | |
* Embedded SCA Approach: | |
The Update PSU Data Request might be used | |
* to add credentials as a first factor authentication data of the PSU and | |
* to select the authentication method and | |
* transaction authorisation. | |
The SCA Approach might depend on the chosen SCA method. | |
For that reason, the following possible Update PSU Data request can apply to all SCA approaches: | |
* Select an SCA method in case of several SCA methods are available for the customer. | |
There are the following request types on this access path: | |
* Update PSU Identification | |
* Update PSU Authentication | |
* Select PSU Autorization Method | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
* Transaction Authorisation | |
WARNING: This method need a reduced header, | |
therefore many optional elements are not present. | |
Maybe in a later version the access path will change. | |
operationId: updateSigningBasketPsuData | |
tags: | |
- Signing Baskets | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/basketId_PATH" | |
- $ref: "#/components/parameters/authorisationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#method specific header elements # Not always allowed depending on the kind of update which is ask for | |
- $ref: "#/components/parameters/PSU-ID" | |
- $ref: "#/components/parameters/PSU-ID-Type" | |
- $ref: "#/components/parameters/PSU-Corporate-ID" | |
- $ref: "#/components/parameters/PSU-Corporate-ID-Type" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
requestBody: | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- {} #Update PSU Identification | |
- $ref: "#/components/schemas/updatePsuAuthentication" #Update PSU Authentication | |
- $ref: "#/components/schemas/selectPsuAuthenticationMethod" #Select PSU Authentication Method | |
- $ref: "#/components/schemas/transactionAuthorisation" #Transaction Authorisation | |
examples: | |
"Update PSU Identification (Embedded Approach)": | |
value: {} | |
"Update PSU Authentication (Embedded Approach)": | |
$ref: "#/components/examples/updatePsuAuthenticationExample_Embedded" | |
"Select PSU Authentication Method (Embedded Approach)": | |
$ref: "#/components/examples/selectPsuAuthenticationMethodExample_Embedded" | |
"Transaction Authorisation (Embedded Approach)": | |
$ref: "#/components/examples/transactionAuthorisationExample_Embedded" | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_UpdatePsuData" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
get: | |
summary: Read the SCA status of the signing basket authorisation | |
description: | | |
This method returns the SCA status of a signing basket's authorisation sub-resource. | |
operationId: getSigningBasketScaStatus | |
tags: | |
- Signing Baskets | |
- Common AIS and PIS Services | |
security: | |
##################################################### | |
# REMARKS ON SECURITY IN THIS OPENAPI FILE | |
#In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
- {} | |
- BearerAuthOAuth: [] | |
parameters: | |
#path | |
- $ref: "#/components/parameters/basketId_PATH" | |
- $ref: "#/components/parameters/authorisationId" | |
#query # NO QUERY PARAMETER | |
#header | |
#common header parameter | |
- $ref: "#/components/parameters/X-Request-ID" | |
#header to support the signature function | |
- $ref: "#/components/parameters/Digest" | |
- $ref: "#/components/parameters/Signature" | |
- $ref: "#/components/parameters/TPP-Signature-Certificate" | |
#optional additional PSU Information in header | |
- $ref: "#/components/parameters/PSU-IP-Address_optional" | |
- $ref: "#/components/parameters/PSU-IP-Port" | |
- $ref: "#/components/parameters/PSU-Accept" | |
- $ref: "#/components/parameters/PSU-Accept-Charset" | |
- $ref: "#/components/parameters/PSU-Accept-Encoding" | |
- $ref: "#/components/parameters/PSU-Accept-Language" | |
- $ref: "#/components/parameters/PSU-User-Agent" | |
- $ref: "#/components/parameters/PSU-Http-Method" | |
- $ref: "#/components/parameters/PSU-Device-ID" | |
- $ref: "#/components/parameters/PSU-Geo-Location" | |
#NO REQUEST BODY | |
responses: | |
'200': | |
$ref: "#/components/responses/OK_200_ScaStatus" | |
'400': | |
$ref: "#/components/responses/BAD_REQUEST_400" | |
'401': | |
$ref: "#/components/responses/UNAUTHORIZED_401" | |
'403': | |
$ref: "#/components/responses/FORBIDDEN_403" | |
'404': | |
$ref: "#/components/responses/NOT_FOUND_404" | |
'405': | |
$ref: "#/components/responses/METHOD_NOT_ALLOWED_405" | |
'406': | |
$ref: "#/components/responses/NOT_ACCEPTABLE_406" | |
'408': | |
$ref: "#/components/responses/REQUEST_TIMEOUT_408" | |
'415': | |
$ref: "#/components/responses/UNSUPPORTED_MEDIA_TYPE_415" | |
'429': | |
$ref: "#/components/responses/TOO_MANY_REQUESTS_429" | |
'500': | |
$ref: "#/components/responses/INTERNAL_SERVER_ERROR_500" | |
'503': | |
$ref: "#/components/responses/SERVICE_UNAVAILABLE_503" | |
components: | |
##################################################### | |
# Predefined Components | |
##################################################### | |
securitySchemes: | |
##################################################### | |
# Predefined Security Schemes: | |
# | |
# In this file only the basic security element to transport | |
# the bearer token of an an OAuth2 process, which has to | |
# be included inthe HTTP header ist described. | |
# | |
# WARNING: | |
# If you want to use this file for a productive implementation, | |
# it is recommandes to adjust the security schemes according to | |
# your system enviroments and security policies. | |
##################################################### | |
BearerAuthOAuth: | |
description: | | |
Bearer Token. | |
Is contained only, if an OAuth2 based authentication was performed in a pre-step or | |
an OAuth2 based SCA was performed in an preceding AIS service in the same session. | |
type: http | |
scheme: bearer | |
schemas: | |
##################################################### | |
# Predefined Schemas | |
##################################################### | |
paymentId: | |
description: | |
Resource identification of the generated payment initiation resource. | |
type: string | |
example: "1234-wertiq-983" | |
paymentIdList: | |
description: A list of paymentIds | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentId" | |
basketId: | |
description: | |
Resource identification of the generated signing basket resource. | |
type: string | |
example: "1234-basket-567" | |
authorisationId: | |
description: Resource identification of the related SCA | |
type: string | |
example: "123auth456" | |
authenticationMethodId: | |
description: | | |
An identification provided by the ASPSP for the later identification of the authentication method selection. | |
type: string | |
maxLength: 35 | |
example: "myAuthenticationID" | |
accountId: | |
description: This identification is denoting the addressed account, where the transaction has been performed. | |
type: string | |
example: "qwer3456tzui7890" | |
consentId: | |
description: | | |
ID of the corresponding consent object as returned by an Account Information Consent Request. | |
type: string | |
consentIdList: | |
description: A list of consentIds | |
type: array | |
items: | |
$ref: "#/components/schemas/consentId" | |
resourceId: | |
description: | | |
This identification is given by the attribute resourceId of the corresponding entry of a transaction list. | |
type: string | |
example: "3dc3d5b3-7023-4848-9853-f5400a64e80f" | |
cancellationId: | |
description: Identification for cancellation resource | |
type: string | |
example: "123auth456" | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# cardTransactionId: | |
# description: Unique end to end identity. | |
# type: string | |
# maxLength: 35 | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# terminalId: | |
# description: Terminal ID | |
# type: string | |
# maxLength: 35 | |
entryReference: | |
description: | | |
Is the identification of the transaction as used e.g. for reference for deltafunction on application level. | |
type: string | |
maxLength: 35 | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# merchantCategoryCode: | |
# description: Merchant category code | |
# type: string | |
transactionStatus: | |
description: | | |
The transaction status is filled with codes of the ISO 20022 data table: | |
- 'ACCP': 'AcceptedCustomerProfile' - | |
Preceding check of technical validation was successful. | |
Customer profile check was also successful. | |
- 'ACSC': 'AcceptedSettlementCompleted' - | |
Settlement on the debtor’s account has been completed. | |
**Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. | |
**Warning:** this status is provided for transaction status reasons, not for financial information. | |
It can only be used after bilateral agreement. | |
- 'ACSP': 'AcceptedSettlementInProcess' - | |
All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution. | |
- 'ACTC': 'AcceptedTechnicalValidation' - | |
Authentication and syntactical and semantical validation are successful. | |
- 'ACWC': 'AcceptedWithChange' - | |
Instruction is accepted but a change will be made, such as date or remittance not sent. | |
- 'ACWP': 'AcceptedWithoutPosting' - | |
Payment instruction included in the credit transfer is accepted without being posted to the creditor customer’s account. | |
- 'RCVD': 'Received' - | |
Payment initiation has been received by the receiving agent. | |
- 'PDNG': 'Pending' - | |
Payment initiation or individual transaction included in the payment initiation is pending. | |
Further checks and status update will be performed. | |
- 'RJCT': 'Rejected' - | |
Payment initiation or individual transaction included in the payment initiation has been rejected. | |
- 'CANC': 'Cancelled' | |
Payment initiation has been cancelled before execution | |
**Remark:** *Change Request to ISO20022 is still needed.* | |
type: string | |
enum: | |
- "ACCP" | |
- "ACSC" | |
- "ACSP" | |
- "ACTC" | |
- "ACWC" | |
- "ACWP" | |
- "RCVD" | |
- "PDNG" | |
- "RJCT" | |
- "CANC" | |
example: "ACCP" | |
scaStatus: | |
description: | | |
This data element is containing information about the status of the SCA method applied. | |
The following codes are defined for this data type. | |
* 'received': | |
An authorisation or cancellation-authorisation resource has been created successfully. | |
* 'psuIdentified': | |
The PSU related to the authorisation or cancellation-authorisation resource has been identified. | |
* 'psuAuthenticated': | |
The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token. | |
* 'scaMethodSelected': | |
The PSU/TPP has selected the related SCA routine. | |
If the SCA method is chosen implicitly since only one SCA method is available, | |
then this is the first status to be reported instead of 'received'. | |
* 'started': | |
The addressed SCA routine has been started. | |
* 'finalised': | |
The SCA routine has been finalised successfully. | |
* 'failed': | |
The SCA routine failed | |
* 'exempted': | |
SCA was exempted for the related transaction, the related authorisation is successful. | |
type: string | |
enum: | |
- "received" | |
- "psuIdentified" | |
- "psuAuthenticated" | |
- "scaMethodSelected" | |
- "started" | |
- "finalised" | |
- "failed" | |
- "exempted" | |
example: "psuAuthenticated" | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# cardTransactionStatus: #TODO CARD-ACCOUNTS No final definition of cardTransactionStatus in spec contained. Has to be added later. | |
# description: | | |
# No final detaileddefinition in spec contained | |
# "booked", | |
# "pending"### | |
# structure: two lists | |
# type: object | |
# properties: | |
# booked: | |
# type: array | |
# items: | |
# type: string | |
# pending: | |
# type: array | |
# items: | |
# type: string | |
scaAuthenticationData: | |
description: | | |
SCA authentication data, depending on the chosen authentication method. | |
If the data is binary, then it is base64 encoded. | |
type: string | |
consentStatus: | |
description: | | |
This is the overall lifecycle status of the consent. | |
Valid values are: | |
- 'received': The consent data have been received and are technically correct. | |
The data is not authorised yet. | |
- 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place. | |
- 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object. | |
- 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP. | |
- 'expired': The consent expired. | |
- 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource. | |
The ASPSP might add further codes. These codes then shall be contained in the ASPSP's documentation of the XS2A interface | |
and has to be added to this API definition as well. | |
type: string | |
enum: | |
- "received" | |
- "rejected" | |
- "valid" | |
- "revokedByPsu" | |
- "expired" | |
- "terminatedByTpp" | |
transactionFeeIndicator: | |
description: | | |
If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in | |
their public price list or as agreed between ASPSP and PSU. | |
If equals 'false', the transaction will not involve additional specific transaction costs to the PSU. | |
type: boolean | |
recurringIndicator: | |
description: | | |
"true", if the consent is for recurring access to the account data. | |
"false", if the consent is for one access to the account data. | |
type: boolean | |
example: false | |
combinedServiceIndicator: | |
description: | | |
If "true" indicates that a payment initiation service will be addressed in the same "session". | |
type: boolean | |
example: false | |
batchBookingPreferred: | |
description: | | |
If this element equals 'true', the PSU prefers only one booking entry. | |
If this element equals 'false', the PSU prefers individual booking of all contained individual transactions. | |
The ASPSP will follow this preference according to contracts agreed on with the PSU. | |
type: boolean | |
example: false | |
scaMethods: | |
description: | | |
This data element might be contained, if SCA is required and if the PSU has a choice between different | |
authentication methods. | |
Depending on the risk management of the ASPSP this choice might be offered before or after the PSU | |
has been identified with the first relevant factor, or if an access token is transported. | |
If this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' | |
contained in the response body. | |
These methods shall be presented towards the PSU for selection by the TPP. | |
type: array | |
items: | |
$ref: "#/components/schemas/authenticationObject" | |
chosenScaMethod: | |
# description: | | |
# This data element is only contained in the response if the APSPS has chosen the Embedded SCA Approach, | |
# if the PSU is already identified e.g. with the first relevant factor or alternatively an access token, | |
# if SCA is required and if the authentication method is implicitly selected. | |
$ref: "#/components/schemas/authenticationObject" | |
authenticationType: | |
description: | | |
Type of the authentication method. | |
More authentication types might be added during implementation projects and documented in the ASPSP documentation. | |
- 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel. | |
- 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. an TOP derived from an EMV cryptogram. | |
To contact the card, the PSU normally needs a (handheld) device. | |
With this device, the PSU either reads the challenging data through a visual interface like flickering or | |
the PSU types in the challenge through the device key pad. | |
The device then derives an OTP from the challenge data and displays the OTP to the PSU. | |
- 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data | |
which can be read in by a consumer device or specific mobile app. | |
The device resp. the specific app than derives an OTP from the visual challenge data and displays | |
the OTP to the PSU. | |
- 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU. | |
type: string | |
enum: | |
- "SMS_OTP" | |
- "CHIP_OTP" | |
- "PHOTO_OTP" | |
- "PUSH_OTP" | |
authenticationObject: | |
description: | | |
Authentication Object | |
type: object | |
required: | |
- authenticationType | |
- authenticationMethodId | |
properties: | |
authenticationType: | |
$ref: "#/components/schemas/authenticationType" | |
authenticationVersion: | |
description: | | |
Depending on the "authenticationType". | |
This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. | |
This version can be referred to in the ASPSP?s documentation. | |
type: string | |
authenticationMethodId: | |
$ref: "#/components/schemas/authenticationMethodId" | |
name: | |
description: | | |
This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. | |
Alternatively this could be a description provided by the ASPSP like "SMS OTP on phone +49160 xxxxx 28". | |
This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available. | |
type: string | |
example: "SMS OTP on phone +49160 xxxxx 28" | |
explanation: | |
description: | | |
Detailed information about the SCA method for the PSU. | |
type: string | |
example: Detailed information about the SCA method for the PSU. | |
signingBasket: | |
description: | | |
JSON Body of a establish signing basket request | |
type: object | |
required: | |
- paymentIds | |
- consentIds | |
properties: | |
paymentIds: | |
$ref: "#/components/schemas/paymentIdList" | |
consentIds: | |
$ref: "#/components/schemas/consentIdList" | |
challengeData: | |
description: | | |
It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. | |
In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link. | |
type: object | |
properties: | |
image: | |
type: string | |
format: byte | |
description: | | |
PNG data (max. 512 kilobyte) to be displayed to the PSU, | |
Base64 encoding, cp. [RFC4648]. | |
This attribute is used only, when PHOTO_OTP or CHIP_OTP | |
is the selected SCA method. | |
data: | |
type: string | |
description: String challenge data | |
imageLink: | |
type: string | |
format: url | |
description: A link where the ASPSP will provides the challenge image for the TPP. | |
otpMaxLength: | |
type: integer | |
description: The maximal length for the OTP to be typed in by the PSU. | |
otpFormat: | |
type: string | |
description: The format type of the OTP to be typed in. The admitted values are "characters" or "integer". | |
enum: | |
- "characters" | |
- "integer" | |
additionalInformation: | |
type: string | |
description: | | |
Additional explanation for the PSU to explain | |
e.g. fallback mechanism for the chosen SCA method. | |
The TPP is obliged to show this to the PSU. | |
hrefType: | |
description: Link to a resource | |
type: string | |
example: "/v1/payments/sepa-credit-transfers/1234-wertiq-983" | |
messageCodeTextUnspecific: | |
type: string | |
enum: | |
- "CERTIFICATE_INVALID" | |
- "CERTIFICATE_EXPIRED" | |
- "CERTIFICATE_BLOCKED" | |
- "CERTIFICATE_REVOKED" | |
- "CERTIFICATE_MISSING" | |
- "SIGNATURE_INVALID" | |
- "SIGNATURE_MISSING" | |
- "FORMAT_ERROR" | |
- "PARAMETER_NOT_SUPPORTED" | |
- "PSU_CREDENTIALS_INVALID" | |
- "SERVICE_INVALID" | |
- "SERVICE_BLOCKED" | |
- "CORPORATE_ID_INVALID" | |
- "CONSENT_UNKNOWN" | |
- "CONSENT_INVALID" | |
- "CONSENT_EXPIRED" | |
- "TOKEN_UNKNOWN" | |
- "TOKEN_INVALID" | |
- "TOKEN_EXPIRED" | |
- "RESOURCE_UNKNOWN" | |
- "RESOURCE_EXPIRED" | |
- "TIMESTAMP_INVALID" | |
- "PERIOD_INVALID" | |
- "SCA_METHOD_UNKNOWN" | |
messageCodeTextPisSpecific: | |
type: string | |
enum: | |
- "PRODUCT_INVALID" | |
- "PRODUCT_UNKNOWN" | |
- "PAYMENT_FAILED" | |
- "REQUIRED_KID_MISSING" | |
- "EXECUTION_DATE_INVALID" | |
messageCodeTextAisSpecific: | |
type: string | |
enum: | |
- "CONSENT_INVALID" | |
- "SESSIONS_NOT_SUPPORTED" | |
- "ACCESS_EXCEEDED" | |
- "REQUESTED_FORMATS_INVALID" | |
messageCodeTextPiisSpecific: | |
type: string | |
enum: | |
- "CARD_INVALID" | |
- "NO_PIIS_ACTIVATION" | |
authorisationsList: | |
description: An array of all authorisationIds | |
type: array | |
items: | |
$ref: "#/components/schemas/authorisationId" | |
authorisations: | |
description: An array of all authorisationIds | |
type: object | |
required: | |
- authorisationIds | |
properties: | |
authorisationIds: | |
$ref: "#/components/schemas/authorisationsList" | |
accountReferenceIban: | |
type: object | |
description: | | |
Reference to an account by the Primary Account Number (PAN) of a card, | |
can be tokenised by the ASPSP due to PCI DSS requirements. | |
required: | |
- iban | |
properties: | |
iban: | |
$ref: "#/components/schemas/iban" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
accountReferenceBban: | |
type: object | |
description: | | |
Reference to an Account. | |
This data elements is used for payment accounts which have no IBAN. | |
required: | |
- bban | |
properties: | |
bban: | |
$ref: "#/components/schemas/bban" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
accountReferencePan: | |
type: object | |
description: | | |
Reference to an account by the Primary Account Number (PAN) of a card, | |
can be tokenised by the ASPSP due to PCI DSS requirements. | |
required: | |
- pan | |
properties: | |
pan: | |
$ref: "#/components/schemas/pan" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
accountReferenceMaskedPan: | |
type: object | |
description: | | |
Reference to an account by the Primary Account Number (PAN) of a card in a masked form. | |
required: | |
- maskedPan | |
properties: | |
maskedPan: | |
$ref: "#/components/schemas/maskedPan" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
accountReferenceMsisdn: | |
type: object | |
description: | | |
An alias to access a payment account via a registered mobile phone number. | |
required: | |
- msisdn | |
properties: | |
msisdn: | |
$ref: "#/components/schemas/msisdn" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
balanceType: | |
description: | | |
The following balance types are defined: | |
- "closingBooked": | |
Balance of the account at the end of the pre-agreed account reporting period. | |
It is the sum of the opening booked balance at the beginning of the period and all entries booked | |
to the account during the pre-agreed account reporting period. | |
For card-accounts, this is composed of | |
- invoiced, but not yet paid entries | |
- "expected": | |
Balance composed of booked entries and pending items known at the time of calculation, | |
which projects the end of day balance if everything is booked on the account and no other entry is posted. | |
For card accounts, this is composed of | |
- invoiced, but not yet paid entries, | |
- not yet invoiced but already booked entries and | |
- pending items (not yet booked) | |
- "authorised": | |
The expected balance together with the value of a pre-approved credit line the ASPSP makes permanently available to the user. | |
For card-accounts: | |
"money to spend with the value of a pre-approved credit limit on the card account" | |
- "openingBooked": | |
Book balance of the account at the beginning of the account reporting period. | |
It always equals the closing book balance from the previous report. | |
- "interimAvailable": | |
Available balance calculated in the course of the account �servicer�s business day, | |
at the time specified, and subject to further changes during the business day. | |
The interim balance is calculated on the basis of booked credit and debit items during the calculation | |
time/period specified. | |
For card-accounts, this is composed of | |
- invoiced, but not yet paid entries, | |
- not yet invoiced but already booked entries | |
- "forwardAvailable": | |
Forward available balance of money that is at the disposal of the account owner on the date specified. | |
- "nonInvoiced": | |
Only for card accounts, to be checked yet. #TODO CARD-ACCOUNTS nonInvoiced New in spec. detailes needed | |
- "available": #TODO MISSING IN SPEC: 'available' New in spec. Detailes needed. | |
type: string | |
enum: | |
- "closingBooked" | |
- "expected" | |
- "authorised" | |
- "openingBooked" | |
- "interimAvailable" | |
- "forwardAvailable" | |
- "nonInvoiced" | |
- "available" | |
accountAccess: | |
description: | | |
Requested access services for a consent. | |
type: object | |
properties: | |
accounts: | |
description: | | |
Is asking for detailed account information. | |
If the array is empty, the TPP is asking for an accessible account list. | |
This may be restricted in a PSU/ASPSP authorization dialogue. | |
If the array is empty, also the arrays for balances or transactions shall be empty, if used. | |
type: array | |
items: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
balances: | |
description: | | |
Is asking for balances of the addressed accounts. | |
If the array is empty, the TPP is asking for the balances of all accessible account lists. | |
This may be restricted in a PSU/ASPSP authorization dialogue. | |
If the array is empty, also the arrays for accounts or transactions shall be empty, if used. | |
type: array | |
items: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
transactions: | |
description: | | |
Is asking for transactions of the addressed accounts. | |
If the array is empty, the TPP is asking for the transactions of all accessible account lists. | |
This may be restricted in a PSU/ASPSP authorization dialogue. | |
If the array is empty, also the arrays for accounts or balances shall be empty, if used. | |
type: array | |
items: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
availableAccounts: | |
description: | | |
Optional if supported by API provider. | |
Only the values "allAccounts" or "allAccountsWithBalances" is admitted. | |
type: string | |
enum: | |
- "allAccounts" | |
- "allAccountsWithBalances" | |
allPsd2: | |
description: | | |
Optional if supported by API provider. | |
Only the value "allAccounts" is admitted. | |
type: string | |
enum: | |
- "allAccounts" | |
cashAccountType: | |
description: | | |
ExternalCashAccountType1Code from ISO 20022. | |
type: string | |
accountStatus: | |
description: | | |
Account status. The value is one of the following: | |
- "enabled": account is available | |
- "deleted": account is terminated | |
- "blocked": account is blocked e.g. for legal reasons | |
If this field is not used, than the account is available in the sense of this specification. | |
type: string | |
enum: | |
- "enabled" | |
- "deleted" | |
- "blocked" | |
accountDetails: | |
description: | | |
The ASPSP shall give at least one of the account reference identifiers: | |
- iban | |
- bban | |
- pan | |
- maskedPan | |
- msisdn | |
If the account is a multicurrency account currency code in "currency" is set to "XXX". | |
type: object | |
properties: | |
resourceId: | |
description: This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. | |
type: string | |
maxLength: 35 | |
iban: | |
$ref: "#/components/schemas/iban" | |
bban: | |
$ref: "#/components/schemas/bban" | |
msisdn: | |
$ref: "#/components/schemas/msisdn" | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
name: | |
description: Name of the account given by the bank or the PSU in online-banking. | |
type: string | |
maxLength: 35 | |
product: | |
description: Product name of the bank for this account, proprietary definition. | |
type: string | |
maxLength: 35 | |
cashAccountType: | |
$ref: "#/components/schemas/cashAccountType" | |
status: | |
$ref: "#/components/schemas/accountStatus" | |
bic: | |
$ref: "#/components/schemas/bicfi" | |
linkedAccounts: | |
description: Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on. | |
type: string | |
maxLength: 70 | |
usage: | |
description: | | |
Specifies the usage of the account | |
* PRIV: private personal account | |
* ORGA: professional account | |
type: string | |
maxLength: 140 | |
enum: | |
- "PRIV" | |
- "ORGA" | |
details: | |
description: | | |
Specifications that might be provided by the ASPSP | |
- characteristics of the account | |
- characteristics of the relevant card | |
type: string | |
maxLength: 140 | |
balances: | |
$ref: "#/components/schemas/balanceList" | |
_links: | |
$ref: "#/components/schemas/_linksAccountDetails" | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# cardAccountDetails: | |
# description: | | |
# The ASPSP shall give at least one of the account reference identifiers: | |
# - pan | |
# - maskedPan | |
# type: object | |
# properties: | |
# resourceId: | |
# description: This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint. | |
# type: string | |
# maxLength: 35 | |
# pan: | |
# $ref: "#/components/schemas/pan" | |
# maskedPan: | |
# $ref: "#/components/schemas/maskedPan" | |
# currency: | |
# $ref: "#/components/schemas/currencyCode" | |
# name: | |
# description: Name of the account given by the bank or the PSU in online-banking. | |
# type: string | |
# maxLength: 35 | |
# product: | |
# description: Product name of the bank for this account, proprietary definition. | |
# type: string | |
# maxLength: 35 | |
# cardAccountType: | |
# $ref: "#/components/schemas/cashAccountType" | |
# status: | |
# $ref: "#/components/schemas/accountStatus" | |
# linkedAccounts: | |
# description: Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on. | |
# type: string | |
# maxLength: 70 | |
# usage: | |
# description: | | |
# Specifies the usage of the account | |
# * PRIV: private personal account | |
# * ORGA: professional account | |
# type: string | |
# maxLength: 140 | |
# enum: | |
# - "PRIV" | |
# - "ORGA" | |
# details: | |
# description: | | |
# Specifications that might be provided by the ASPSP | |
# - characteristics of the account | |
# - characteristics of the relevant card | |
# type: string | |
# maxLength: 140 | |
# creditLimit: | |
# $ref: "#/components/schemas/amount" | |
# balances: | |
# $ref: "#/components/schemas/balanceList" | |
# _links: | |
# $ref: "#/components/schemas/_linksAccountDetails" | |
accountList: | |
description: | | |
List of accounts with details. | |
type: object | |
required: | |
- accounts | |
properties: | |
accounts: | |
type: array | |
items: | |
$ref: "#/components/schemas/accountDetails" | |
accountReport: | |
description: JSON based account report. | |
type: object | |
required: | |
- booked | |
- _links | |
properties: | |
booked: | |
$ref: "#/components/schemas/transactionList" | |
pending: | |
$ref: "#/components/schemas/transactionList" | |
_links: | |
$ref: "#/components/schemas/_linksAccountReport" | |
transactionList: | |
description: Array of transaction details | |
type: array | |
items: | |
$ref: "#/components/schemas/transactionDetails" | |
transactionDetails: | |
description: Transaction details | |
type: object | |
required: | |
- transactionAmount | |
properties: | |
transactionId: | |
description: | | |
the Transaction Id can be used as access-ID in the API, where more details on an transaction is offered. | |
If this data attribute is provided this shows that the AIS can get access on more details about this | |
transaction using the GET Transaction Details Request | |
type: string | |
entryReference: | |
description: | | |
Is the identification of the transaction as used e.g. for reference for deltafunction on application level. | |
The same identification as for example used within camt.05x messages. | |
type: string | |
maxLength: 35 | |
endToEndId: | |
description: Unique end to end identity. | |
type: string | |
maxLength: 35 | |
mandateId: | |
description: Identification of Mandates, e.g. a SEPA Mandate ID. | |
type: string | |
maxLength: 35 | |
checkId: | |
description: Identification of a Cheque. | |
type: string | |
maxLength: 35 | |
creditorId: | |
description: Identification of Creditors, e.g. a SEPA Creditor ID. | |
type: string | |
maxLength: 35 | |
bookingDate: | |
$ref: "#/components/schemas/bookingDate" | |
valueDate: | |
description: The Date at which assets become available to the account owner in case of a credit. | |
type: string | |
format: date | |
transactionAmount: | |
$ref: "#/components/schemas/amount" | |
exchangeRate: | |
$ref: "#/components/schemas/exchangeRateList" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
ultimateCreditor: | |
$ref: "#/components/schemas/ultimateCreditor" | |
debtorName: | |
$ref: "#/components/schemas/debtorName" | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
ultimateDebtor: | |
$ref: "#/components/schemas/ultimateDebtor" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
remittanceInformationStructured: | |
description: | | |
Reference as contained in the structured remittance reference structure (without the surrounding XML structure). | |
Different from other places the content is containt in plain form not in form of a structered field. | |
type: string | |
maxLength: 140 | |
purposeCode: | |
$ref: "#/components/schemas/purposeCode" | |
bankTransactionCode: | |
$ref: "#/components/schemas/bankTransactionCode" | |
proprietaryBankTransactionCode: | |
$ref: "#/components/schemas/proprietaryBankTransactionCode" | |
_links: | |
$ref: "#/components/schemas/_linksTransactionDetails" | |
#TODO INCLUDED FOR LATER USE WITH CARD-ACCOUNTS | |
# cardTransaction: | |
# description: TODO CARD-ACCOUNTS Description cardTransaction | |
# type: object | |
# required: | |
# - transactionAmount | |
# properties: | |
# entryReference: | |
# $ref: "#/components/schemas/entryReference" | |
# cardTransactionId: | |
# $ref: "#/components/schemas/cardTransactionId" | |
# terminalId: | |
# $ref: "#/components/schemas/terminalId" | |
# transactionDate: | |
# $ref: "#/components/schemas/transactionDate" | |
# bookingDate: | |
# $ref: "#/components/schemas/bookingDate" | |
# transactionAmount: | |
# $ref: "#/components/schemas/amount" | |
# exchangeRate: | |
# $ref: "#/components/schemas/exchangeRateList" | |
# instructedAmount: | |
# $ref: "#/components/schemas/amount" | |
# markupFee: | |
# $ref: "#/components/schemas/amount" #TODO CARD-ACCOUNTS Check Type. NO Type for markupFee in Spec. defined | |
# cardAcceptorId: | |
# type: string | |
# maxLength: 35 | |
# cardAcceptorAddress: | |
# $ref: "#/components/schemas/address" | |
# merchantCategoryCode: | |
# $ref: "#/components/schemas/merchantCategoryCode" | |
# maskedPAN: | |
# $ref: "#/components/schemas/maskedPan" | |
# PAN: | |
# $ref: "#/components/schemas/pan" | |
# transactionDetails: | |
# type: string | |
# maxLength: 140 | |
# #TODO CARD-ACCOUNTS Check At other places there is a complex type. | |
# status: | |
# $ref: "#/components/schemas/cardTransactionStatus" | |
# #TODO CARD-ACCOUNTS No final definition of cardTransactionStatus in spec contained | |
# invoiced: | |
# type: boolean | |
# proprietaryBankTransactionCode: | |
# $ref: "#/components/schemas/proprietaryBankTransactionCode" | |
exchangeRateList: | |
description: Array of exchange rates | |
type: array | |
items: | |
$ref: "#/components/schemas/exchangeRate" | |
exchangeRate: | |
description: Exchange Rate | |
type: object | |
required: | |
- currencyFrom | |
- rateFrom | |
- currencyTo | |
- rateTo | |
- rateDate | |
properties: | |
currencyFrom: | |
$ref: "#/components/schemas/currencyCode" | |
rateFrom: | |
type: string | |
currencyTo: | |
$ref: "#/components/schemas/currencyCode" | |
rateTo: | |
type: string | |
rateDate: | |
type: string | |
format: date | |
rateContract: | |
type: string | |
balance: | |
description: | | |
A single balance element | |
type: | |
object | |
required: | |
- balanceAmount | |
- balanceType | |
properties: | |
balanceAmount: | |
$ref: "#/components/schemas/amount" | |
balanceType: | |
$ref: "#/components/schemas/balanceType" | |
lastChangeDateTime: | |
description: | | |
This data element might be used to indicate e.g. with the expected or booked balance that no action is known | |
on the account, which is not yet booked. | |
type: string | |
format: date-time | |
referenceDate: | |
description: Reference date of the balance | |
type: string | |
format: date | |
lastCommittedTransaction: | |
description: | | |
"entryReference" of the last commited transaction to support the TPP in identifying whether all | |
PSU transactions are already known. | |
type: string | |
maxLength: 35 | |
balanceList: | |
description: | | |
A list of balances regarding this account, e.g. the current balance, the last booked balance. | |
The list migght be restricted to the current ballance. | |
type: array | |
items: | |
$ref: "#/components/schemas/balance" | |
cancellationList: | |
description: An array of all cancellationIds connected to this resource. | |
type: array | |
items: | |
$ref: "#/components/schemas/cancellationId" | |
bicfi: | |
description: | | |
BICFI | |
type: string | |
pattern: "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" | |
example: "AAAADEBBXXX" | |
pan: | |
description: | | |
Primary Account Number according to ISO/IEC 7812. | |
type: string | |
maxLength: 35 | |
#According to ISO the following should be valid. | |
#maxLength: 19 | |
#minLength: 8 | |
#pattern: "[0-9]{8,19}" | |
example: "5409050000000000" | |
maskedPan: | |
description: | | |
Masked Primary Account Number | |
type: string | |
maxLength: 35 | |
example: "123456xxxxxx1234" | |
bban: | |
description: | | |
Basic Bank Account Number (BBAN) Identifier | |
This data element can be used in the body of the Consent Request | |
Message for retrieving Account access Consent from this Account. This | |
data elements is used for payment Accounts which have no IBAN. | |
ISO20022: Basic Bank Account Number (BBAN). | |
Identifier used nationally by financial institutions, i.e., in individual countries, | |
generally as part of a National Account Numbering Scheme(s), | |
which uniquely identifies the account of a customer. | |
type: string | |
pattern: "[a-zA-Z0-9]{1,30}" | |
example: "BARC12345612345678" | |
msisdn: | |
type: string | |
maxLength: 35 | |
description: Mobile phone number. | |
example: "+49 170 1234567" | |
iban: | |
type: string | |
description: IBAN of an account | |
pattern: "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}" | |
example: "FR7612345987650123456789014" | |
address: | |
type: object | |
required: | |
- country | |
properties: | |
street: | |
type: string | |
maxLength: 70 | |
buildingNumber: | |
type: string | |
city: | |
type: string | |
postalCode: | |
type: string | |
country: | |
$ref: "#/components/schemas/countryCode" | |
example: | |
{ | |
street: "rue blue", | |
buildingnNumber: "89", | |
city: "Paris", | |
postalCode: "75000", | |
country: "FR" | |
} | |
countryCode: | |
description: ISO 3166 ALPHA2 country code | |
type: string | |
pattern: "[A-Z]{2}" | |
example: "SE" | |
amount: | |
type: object | |
required: | |
- currency | |
- amount | |
properties: | |
currency: | |
$ref: "#/components/schemas/currencyCode" | |
amount: | |
$ref: "#/components/schemas/amountValue" | |
example: | |
{ | |
"currency": "EUR", | |
"amount": "123" | |
} | |
currencyCode: | |
description: | | |
ISO 4217 Alpha 3 currency code | |
type: string | |
pattern: "[A-Z]{3}" | |
example: "EUR" | |
amountValue: | |
description: | | |
The amount given with fractional digits, where fractions must be compliant to the currency definition. | |
Up to 14 significant figures. Negative amounts are signed by minus. | |
The decimal separator is a dot. | |
**Example:** | |
Valid representations for EUR with up to two decimals are: | |
* 1056 | |
* 5768.2 | |
* -1.50 | |
* 5877.78 | |
type: string | |
pattern: "-?[0-9]{1,14}(\\.[0-9]{1,3})?" | |
example: "5877.78" | |
remittanceInformationStructured: | |
description: | | |
Structured remittance information | |
type: object | |
required: | |
- reference | |
properties: | |
reference: | |
type: string | |
maxLength: 35 | |
referenceType: | |
type: string | |
maxLength: 35 | |
referenceIssuer: | |
type: string | |
maxLength: 35 | |
remittanceInformationUnstructured: | |
description: | | |
Unstructured remittance information | |
type: string | |
maxLength: 140 | |
example: "Ref Number Merchant" | |
##################################################### | |
# Predefined Text Formats | |
##################################################### | |
purposeCode: | |
description: | | |
ExternalPurpose1Code from ISO 20022. | |
Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018. | |
type: string | |
enum: | |
- "BKDF" | |
- "BKFE" | |
- "BKFM" | |
- "BKIP" | |
- "BKPP" | |
- "CBLK" | |
- "CDCB" | |
- "CDCD" | |
- "CDCS" | |
- "CDDP" | |
- "CDOC" | |
- "CDQC" | |
- "ETUP" | |
- "FCOL" | |
- "MTUP" | |
- "ACCT" | |
- "CASH" | |
- "COLL" | |
- "CSDB" | |
- "DEPT" | |
- "INTC" | |
- "LIMA" | |
- "NETT" | |
- "BFWD" | |
- "CCIR" | |
- "CCPC" | |
- "CCPM" | |
- "CCSM" | |
- "CRDS" | |
- "CRPR" | |
- "CRSP" | |
- "CRTL" | |
- "EQPT" | |
- "EQUS" | |
- "EXPT" | |
- "EXTD" | |
- "FIXI" | |
- "FWBC" | |
- "FWCC" | |
- "FWSB" | |
- "FWSC" | |
- "MARG" | |
- "MBSB" | |
- "MBSC" | |
- "MGCC" | |
- "MGSC" | |
- "OCCC" | |
- "OPBC" | |
- "OPCC" | |
- "OPSB" | |
- "OPSC" | |
- "OPTN" | |
- "OTCD" | |
- "REPO" | |
- "RPBC" | |
- "RPCC" | |
- "RPSB" | |
- "RPSC" | |
- "RVPO" | |
- "SBSC" | |
- "SCIE" | |
- "SCIR" | |
- "SCRP" | |
- "SHBC" | |
- "SHCC" | |
- "SHSL" | |
- "SLEB" | |
- "SLOA" | |
- "SWBC" | |
- "SWCC" | |
- "SWPT" | |
- "SWSB" | |
- "SWSC" | |
- "TBAS" | |
- "TBBC" | |
- "TBCC" | |
- "TRCP" | |
- "AGRT" | |
- "AREN" | |
- "BEXP" | |
- "BOCE" | |
- "COMC" | |
- "CPYR" | |
- "GDDS" | |
- "GDSV" | |
- "GSCB" | |
- "LICF" | |
- "MP2B" | |
- "POPE" | |
- "ROYA" | |
- "SCVE" | |
- "SERV" | |
- "SUBS" | |
- "SUPP" | |
- "TRAD" | |
- "CHAR" | |
- "COMT" | |
- "MP2P" | |
- "ECPG" | |
- "ECPR" | |
- "ECPU" | |
- "EPAY" | |
- "CLPR" | |
- "COMP" | |
- "DBTC" | |
- "GOVI" | |
- "HLRP" | |
- "HLST" | |
- "INPC" | |
- "INPR" | |
- "INSC" | |
- "INSU" | |
- "INTE" | |
- "LBRI" | |
- "LIFI" | |
- "LOAN" | |
- "LOAR" | |
- "PENO" | |
- "PPTI" | |
- "RELG" | |
- "RINP" | |
- "TRFD" | |
- "FORW" | |
- "FXNT" | |
- "ADMG" | |
- "ADVA" | |
- "BCDM" | |
- "BCFG" | |
- "BLDM" | |
- "BNET" | |
- "CBFF" | |
- "CBFR" | |
- "CCRD" | |
- "CDBL" | |
- "CFEE" | |
- "CGDD" | |
- "CORT" | |
- "COST" | |
- "CPKC" | |
- "DCRD" | |
- "DSMT" | |
- "DVPM" | |
- "EDUC" | |
- "FACT" | |
- "FAND" | |
- "FCPM" | |
- "FEES" | |
- "GOVT" | |
- "ICCP" | |
- "IDCP" | |
- "IHRP" | |
- "INSM" | |
- "IVPT" | |
- "MCDM" | |
- "MCFG" | |
- "MSVC" | |
- "NOWS" | |
- "OCDM" | |
- "OCFG" | |
- "OFEE" | |
- "OTHR" | |
- "PADD" | |
- "PTSP" | |
- "RCKE" | |
- "RCPT" | |
- "REBT" | |
- "REFU" | |
- "RENT" | |
- "REOD" | |
- "RIMB" | |
- "RPNT" | |
- "RRBN" | |
- "RVPM" | |
- "SLPI" | |
- "SPLT" | |
- "STDY" | |
- "TBAN" | |
- "TBIL" | |
- "TCSC" | |
- "TELI" | |
- "TMPG" | |
- "TPRI" | |
- "TPRP" | |
- "TRNC" | |
- "TRVC" | |
- "WEBI" | |
- "ANNI" | |
- "CAFI" | |
- "CFDI" | |
- "CMDT" | |
- "DERI" | |
- "DIVD" | |
- "FREX" | |
- "HEDG" | |
- "INVS" | |
- "PRME" | |
- "SAVG" | |
- "SECU" | |
- "SEPI" | |
- "TREA" | |
- "UNIT" | |
- "FNET" | |
- "FUTR" | |
- "ANTS" | |
- "CVCF" | |
- "DMEQ" | |
- "DNTS" | |
- "HLTC" | |
- "HLTI" | |
- "HSPC" | |
- "ICRF" | |
- "LTCF" | |
- "MAFC" | |
- "MARF" | |
- "MDCS" | |
- "VIEW" | |
- "CDEP" | |
- "SWFP" | |
- "SWPP" | |
- "SWRS" | |
- "SWUF" | |
- "ADCS" | |
- "AEMP" | |
- "ALLW" | |
- "ALMY" | |
- "BBSC" | |
- "BECH" | |
- "BENE" | |
- "BONU" | |
- "CCHD" | |
- "COMM" | |
- "CSLP" | |
- "GFRP" | |
- "GVEA" | |
- "GVEB" | |
- "GVEC" | |
- "GVED" | |
- "GWLT" | |
- "HREC" | |
- "PAYR" | |
- "PEFC" | |
- "PENS" | |
- "PRCP" | |
- "RHBS" | |
- "SALA" | |
- "SSBE" | |
- "LBIN" | |
- "LCOL" | |
- "LFEE" | |
- "LMEQ" | |
- "LMFI" | |
- "LMRK" | |
- "LREB" | |
- "LREV" | |
- "LSFL" | |
- "ESTX" | |
- "FWLV" | |
- "GSTX" | |
- "HSTX" | |
- "INTX" | |
- "NITX" | |
- "PTXP" | |
- "RDTX" | |
- "TAXS" | |
- "VATX" | |
- "WHLD" | |
- "TAXR" | |
- "B112" | |
- "BR12" | |
- "TLRF" | |
- "TLRR" | |
- "AIRB" | |
- "BUSB" | |
- "FERB" | |
- "RLWY" | |
- "TRPT" | |
- "CBTV" | |
- "ELEC" | |
- "ENRG" | |
- "GASB" | |
- "NWCH" | |
- "NWCM" | |
- "OTLC" | |
- "PHON" | |
- "UBIL" | |
- "WTER" | |
bankTransactionCode: | |
description: | | |
Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. | |
This code type is concatenating the three ISO20022 Codes | |
* Domain Code, | |
* Family Code, and | |
* SubFamiliy Code | |
by hyphens, resulting in “DomainCode”-“FamilyCode”-“SubFamilyCode”. | |
type: string | |
example: "PMNT-RCDT-ESCT" | |
proprietaryBankTransactionCode: | |
description: | | |
Proprietary bank transaction code as used within a community or within an ASPSP e.g. | |
for MT94x based transaction reports. | |
type: string | |
maxLength: 35 | |
frequencyCode: | |
description: | | |
The following codes from the "EventFrequency7Code" of ISO 20022 are supported. | |
- "Daily" | |
- "Weekly" | |
- "EveryTwoWeeks" | |
- "Monthly" | |
- "EveryTwoMonths" | |
- "Quarterly" | |
- "SemiAnnual" | |
- "Annual" | |
type: string | |
enum: | |
- "Daily" | |
- "Weekly" | |
- "EveryTwoWeeks" | |
- "Monthly" | |
- "EveryTwoMonths" | |
- "Quarterly" | |
- "SemiAnnual" | |
- "Annual" | |
frequencyPerDay: | |
description: | | |
This field indicates the requested maximum frequency for an access per day. | |
For a one-off access, this attribute is set to "1". | |
type: integer | |
example: 4 | |
dayOfExecution: | |
description: | | |
Day of execution as string in the form DD. | |
Thes string consists always of two characters. | |
31 is ultimo of the month. | |
type: string | |
enum: | |
- "01" | |
- "02" | |
- "03" | |
- "04" | |
- "05" | |
- "06" | |
- "07" | |
- "08" | |
- "09" | |
- "10" | |
- "11" | |
- "12" | |
- "13" | |
- "14" | |
- "15" | |
- "16" | |
- "17" | |
- "18" | |
- "19" | |
- "20" | |
- "21" | |
- "22" | |
- "23" | |
- "24" | |
- "25" | |
- "26" | |
- "27" | |
- "28" | |
- "29" | |
- "30" | |
- "31" | |
executionRule: | |
description: | | |
"following" or "preceeding" supported as values. | |
This data attribute defines the behavior when recurring payment dates falls on a weekend or bank holiday. | |
The payment is then executed either the "preceeding" or "following" working day. | |
ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting | |
this execution rule. | |
type: string | |
enum: | |
- "following" | |
- "preceeding" | |
psuData: | |
description: PSU Data for Update PSU Authentication. | |
type: object | |
required: | |
- password | |
properties: | |
password: | |
description: Password | |
type: string | |
psuMessageText: | |
description: Text to be displayed to the PSU | |
type: string | |
maxLength: 512 | |
creditorName: | |
description: Creditor Name | |
type: string | |
maxLength: 70 | |
example: "Creditor Name" | |
debtorName: | |
description: Debtor Name | |
type: string | |
maxLength: 70 | |
example: "Debtor Name" | |
ultimateDebtor: | |
description: Ultimate Debtor | |
type: string | |
maxLength: 70 | |
example: "Ultimate Debtor" | |
ultimateCreditor: | |
description: Ultimate Creditor | |
type: string | |
maxLength: 70 | |
example: "Ultimate Creditor" | |
##################################################### | |
# Predefined Date and Time Related Formats | |
##################################################### | |
transactionDate: | |
description: Date of the actual card transaction | |
type: string | |
format: date | |
startDate: | |
description: | | |
The first applicable day of execution starting from this date is the first payment. | |
type: string | |
format: date | |
endDate: | |
description: | | |
The last applicable day of execution | |
If not given, it is an infinite standing order. | |
type: string | |
format: date | |
bookingDate: | |
description: | | |
The Date when an entry is posted to an account on the ASPSPs books. | |
type: string | |
format: date | |
validUntil: | |
description: | | |
This parameter is requesting a valid until date for the requested consent. | |
The content is the local ASPSP date in ISO-Date Format, e.g. 2017-10-30. | |
If a maximal available date is requested, a date in far future is to be used: "9999-12-31". | |
The consent object to be retrieved by the GET Consent Request will contain the adjusted date. | |
type: string | |
format: date | |
example: "2020-12-31" | |
lastActionDate: | |
description: | | |
This date is containing the date of the last action on the consent object either through | |
the XS2A interface or the PSU/ASPSP interface having an impact on the status. | |
type: string | |
format: date | |
example: "2018-07-01" | |
##################################################### | |
# Content of Request Bodies | |
##################################################### | |
##################################################### | |
# Content of Request Bodies - JSON | |
##################################################### | |
paymentInitiationSct_json: | |
description: | | |
Body for a SCT payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: | |
# type: string | |
# format: date | |
# requestedExecutionTime: | |
# type: string | |
# format: date-time | |
paymentInitiationSctInst_json: | |
description: | | |
Body for a SCT INST payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
paymentInitiationTarget2_json: | |
description: | | |
Body for a TARGET-2 payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
paymentInitiationCrossBorder_json: | |
description: | | |
JSON body for a cross-border payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
# endToEndIdentification: # N.A. | |
# type: string | |
# maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
paymentInitiationSctBulkElement_json: | |
description: | | |
Body for a bulk SCT payment initation. | |
type: object | |
required: | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
paymentInitiationSctInstBulkElement_json: | |
description: | | |
Body for a SCT INST payment initation. | |
type: object | |
required: | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
paymentInitiationTarget2BulkElement_json: | |
description: | | |
Body for a bulk TARGET-2 payment initation. | |
type: object | |
required: | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
paymentInitiationCrossBorderBulkElement_json: | |
description: | | |
JSON body for a cross-border payment initation. | |
type: object | |
required: | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
# endToEndIdentification: # N.A. | |
# type: string | |
# maxLength: 35 | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
periodicPaymentInitiationSct_json: | |
description: | | |
JSON Body for a periodic SCT payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
periodicPaymentInitiationSctInst_json: | |
description: | | |
JSON Body for a periodic SCT INST payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
periodicPaymentInitiationTarget2_json: | |
description: | | |
JSON Body for a periodic target-2 payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
periodicPaymentInitiationCrossBorder_json: | |
description: | | |
JSON body for a periodic cross-border payment initation. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
# endToEndIdentification: # N.A. | |
# type: string | |
# maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
bulkPaymentInitiationSct_json: | |
description: | | |
JSON Body for a bulk SCT payment initation. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for SCT payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationSctBulkElement_json" | |
bulkPaymentInitiationSctInst_json: | |
description: | | |
JSON Body for a bulk SCT INST payment initation. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for SCT INST payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationSctInstBulkElement_json" | |
bulkPaymentInitiationTarget2_json: | |
description: | | |
JSON Body for a bulk TARGET-2 payment initation. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for TARGET-2 payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationTarget2BulkElement_json" | |
bulkPaymentInitiationCrossBorder_json: | |
description: | | |
JSON body for a bulk cross-border payment initation. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A List of JSON bodies for cross-border payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationCrossBorderBulkElement_json" | |
confirmationOfFunds: | |
description: | | |
JSON Request body for the "Confirmation of Funds Service" | |
<table> | |
<tr> | |
<td>cardNumber</td> | |
<td>String </td> | |
<td>Optional</td> | |
<td>Card Number of the card issued by the PIISP. Should be delivered if available.</td> | |
</tr> | |
<tr> | |
<td>account</td> | |
<td> Account Reference</td> | |
<td>Mandatory</td> | |
<td>PSU's account number.</td> | |
</tr> | |
<tr> | |
<td>payee</td> | |
<td>Max70Text</td> | |
<td>Optional</td> | |
<td>The merchant where the card is accepted as an information to the PSU.</td> | |
</tr> | |
<tr> | |
<td>instructedAmount</td> | |
<td>Amount</td> | |
<td>Mandatory</td> | |
<td>Transaction amount to be checked within the funds check mechanism.</td> | |
</tr> | |
</table> | |
type: object | |
required: | |
- account | |
- instructedAmount | |
properties: | |
cardNumber: | |
description: | | |
Card Number of the card issued by the PIISP. | |
Should be delivered if available. | |
type: string | |
account: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payee: | |
description: Name payee | |
type: string | |
maxLength: 70 | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
consents: | |
description: | | |
Content of the body of a consent request. | |
type: object | |
required: | |
- access | |
- recurringIndicator | |
- validUntil | |
- frequencyPerDay | |
- combinedServiceIndicator | |
properties: | |
access: | |
$ref: "#/components/schemas/accountAccess" | |
recurringIndicator: | |
$ref: "#/components/schemas/recurringIndicator" | |
validUntil: | |
$ref: "#/components/schemas/validUntil" | |
frequencyPerDay: | |
$ref: "#/components/schemas/frequencyPerDay" | |
combinedServiceIndicator: | |
description: | | |
If "true" indicates that a payment initiation service will be addressed in the same "session". | |
type: boolean | |
example: false | |
updatePsuAuthentication: | |
description: | | |
Content of the body of a Update PSU Authentication Request | |
Password subfield is used. | |
type: object | |
required: | |
- psuData | |
properties: | |
psuData: | |
$ref: "#/components/schemas/psuData" | |
selectPsuAuthenticationMethod: | |
description: | | |
Content of the body of a Select PSU Authentication Method Request | |
type: object | |
required: | |
- authenticationMethodId | |
properties: | |
authenticationMethodId: | |
$ref: "#/components/schemas/authenticationMethodId" | |
transactionAuthorisation: | |
description: | | |
Content of the body of a Transaction Authorisation Request | |
type: object | |
required: | |
- scaAuthenticationData | |
properties: | |
scaAuthenticationData: | |
$ref: "#/components/schemas/scaAuthenticationData" | |
##################################################### | |
# Content of Request Bodies - XML | |
##################################################### | |
##################################################### | |
# Content of Request Bodies - Single Part | |
##################################################### | |
paymentInitiationSct_pain.001: #The same schemas are use for single an bulk payment in case of a pain.001 | |
description: | | |
A pain.001 structure corresponding to the SCT schema | |
urn:iso:std:iso:20022:tech:xsd:pain.001.001.03 | |
type: string | |
example: | |
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"> | |
<CstmrCdtTrfInitn> | |
<GrpHdr> | |
<MsgId>MIPI-123456789RI-123456789</MsgId> | |
<CreDtTm>2017-02-14T20:23:34.000Z</CreDtTm> | |
<NbOfTxs>1</NbOfTxs> | |
<CtrlSum>123</CtrlSum> | |
<InitgPty> | |
<Nm>PaymentInitiator</Nm> | |
<Id><OrgId><Othr><Id>DE10000000012</Id> | |
<SchmeNm><Prptry>PISP</Prptry></SchmeNm></Othr></OrgId></Id> | |
</InitgPty> | |
</GrpHdr> | |
<PmtInf> | |
<PmtInfId>BIPI-123456789RI-123456789</PmtInfId> | |
<PmtMtd>TRF</PmtMtd> | |
<NbOfTxs>1</NbOfTxs> | |
<CtrlSum>123</CtrlSum> | |
<PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl></PmtTpInf> | |
<ReqdExctnDt>2017-02-15</ReqdExctnDt> | |
<Dbtr><Nm>PSU Name</Nm></Dbtr> | |
<DbtrAcct><Id><IBAN>DE87200500001234567890</IBAN></Id></DbtrAcct> | |
<ChrgBr>SLEV</ChrgBr> | |
<CdtTrfTxInf> | |
<PmtId><EndToEndId>RI-123456789</EndToEndId></PmtId> | |
<Amt><InstdAmt Ccy="EUR">123</InstdAmt></Amt> | |
<Cdtr><Nm>Merchant123</Nm></Cdtr> | |
<CdtrAcct><Id><IBAN> DE23100120020123456789</IBAN></Id></CdtrAcct> | |
<RmtInf><Ustrd>Ref Number Merchant-123456</Ustrd></RmtInf> | |
</CdtTrfTxInf> | |
</PmtInf> | |
</CstmrCdtTrfInitn> | |
</Document> | |
paymentInitiationSctInst_pain.001: #The same schemas are use for single an bulk payment in case of a pain.001 | |
description: | | |
A pain.001 structure corresponding to the SCT INST schema. | |
type: string | |
#example: #TODO Add example for SCT INST pain.001 | |
paymentInitiationTarget2_pain.001: #The same schemas are use for single an bulk payment in case of a pain.001 | |
description: | | |
A pain.001 structure corresponding to the target-2 schema | |
For TARGET-2 payments only community wide pain.001 schemes do exist. | |
type: string | |
paymentInitiationCrossBorder_pain.001: #The same schemas are use for single an bulk payment in case of a pain.001 | |
description: | | |
A pain.001 structure corresponding to the cross-border schema | |
For cross-border payments only community wide pain.001 schemes do exist. | |
type: string | |
##################################################### | |
# Content of Request Bodies - XML -Multipart | |
##################################################### | |
periodicPaymentInitiationMultipartBody: | |
description: | | |
The multipart message definition for the initiation of a periodic payment initiation | |
where the information of the payment is contained in an pain.001 message (Part 1) and | |
the additional informations related to the periodic payment is an additional JSON message (Part 2). | |
type: object | |
properties: | |
xml_sct: #PART 1 | |
oneOf: #The same schemas are used for single and bulk payment in case of a pain.001 | |
- $ref: "#/components/schemas/paymentInitiationSct_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationSctInst_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationTarget2_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationCrossBorder_pain.001" | |
json_standingorderType: #PART 2 | |
$ref: "#/components/schemas/periodicPaymentInitiation_xml-Part2-standingorderType_json" | |
periodicPaymentInitiation_xml-Part2-standingorderType_json: | |
description: | | |
The body part 2 of a periodic payment initation request containes the execution related informations | |
of the periodic payment. | |
type: object | |
required: | |
- startDate | |
- frequency | |
properties: | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
##################################################### | |
# Content of Response Bodies | |
##################################################### | |
paymentInitiationStatusResponse-200_json: | |
description: Body of the response for a successful payment initiation status request in case of an JSON based endpoint. | |
type: object | |
required: | |
- transactionStatus | |
properties: | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentInitiationStatusResponse-200_xml: | |
description: | | |
Body of the response for a successful payment initiation status request in case of an XML based endpoint. | |
The status is returned as a pain.002 structure. | |
urn:iso:std:iso:20022:tech:xsd:pain.002.001.03 | |
The chosen XML schema of the Status Request is following the XML schema definitions of the original pain.001 schema. | |
type: string | |
paymentInitationRequestResponse-201: | |
description: Body of the response for a successful payment initiation request. | |
type: object | |
required: | |
- transactionStatus | |
- paymentId | |
- _links | |
properties: | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentId: | |
$ref: "#/components/schemas/paymentId" | |
transactionFees: | |
# description: Can be used by the ASPSP to transport transaction fees relevant for the underlying payments. | |
$ref: "#/components/schemas/amount" | |
transactionFeeIndicator: | |
$ref: "#/components/schemas/transactionFeeIndicator" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksPaymentInitiation" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
tppMessages: | |
$ref: "#/components/schemas/tppMessages" | |
paymentInitationRequestMultiLevelScaResponse-201: | |
description: Body of the response for a successful payment initiation request. | |
type: object | |
required: | |
- transactionStatus | |
- paymentId | |
- _links | |
properties: | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentId: | |
$ref: "#/components/schemas/paymentId" | |
transactionFees: | |
# description: Can be used by the ASPSP to transport transaction fees relevant for the underlying payments. | |
$ref: "#/components/schemas/amount" | |
transactionFeeIndicator: | |
$ref: "#/components/schemas/transactionFeeIndicator" | |
_links: | |
$ref: "#/components/schemas/_linksPaymentInitiationMultiLevelSca" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
tppMessages: | |
$ref: "#/components/schemas/tppMessages" | |
paymentInitiationCancelResponse-200_202: | |
description: Body of the response for a successful cancel payment request. | |
type: object | |
required: | |
- transactionStatus | |
properties: | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksPaymentInitiationCancel" | |
paymentInitiationSctWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding SCT payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentInitiationSctInstWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding SCT INST payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentInitiationTarget2WithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding TARGET-2 payment initation JSON body together with an | |
optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
paymentInitiationCrossBorderWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding cross-border payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
properties: | |
# endToEndIdentification: # N.A. | |
# type: string | |
# maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
periodicPaymentInitiationSctWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding periodic SCT payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: | |
# type: string | |
# format: date | |
# requestedExecutionTime: | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
periodicPaymentInitiationSctInstWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding periodic SCT INST payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
$ref: "#/components/schemas/remittanceInformationUnstructured" | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
periodicPaymentInitiationTarget2WithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding periodic TARGET-2 payment initation JSON body together with | |
an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
endToEndIdentification: | |
type: string | |
maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
periodicPaymentInitiationCrossBorderWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding periodic cross-border payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- debtorAccount | |
- instructedAmount | |
- creditorAccount | |
- creditorName | |
- startDate | |
- frequency | |
properties: | |
# endToEndIdentification: # N.A. | |
# type: string | |
# maxLength: 35 | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
# ultimateDebtor: # N.A. | |
# $ref: "#/components/schemas/ultimateDebtor" | |
instructedAmount: | |
$ref: "#/components/schemas/amount" | |
creditorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
creditorAgent: | |
$ref: "#/components/schemas/bicfi" | |
creditorName: | |
$ref: "#/components/schemas/creditorName" | |
creditorAddress: | |
$ref: "#/components/schemas/address" | |
# ultimateCreditor: # N.A. | |
# $ref: "#/components/schemas/ultimateCreditor" | |
# purposeCode: # N.A. | |
# $ref: "#/components/schemas/purposeCode" | |
remittanceInformationUnstructured: | |
type: string | |
maxLength: 140 | |
# remittanceInformationStructured: # N.A. | |
# $ref: "#/components/schemas/remittanceInformationStructured" | |
# requestedExecutionDate: # N.A. | |
# type: string | |
# format: date | |
# requestedExecutionTime: # N.A. | |
# type: string | |
# format: date-time | |
#Additional Information for periodic payments | |
startDate: | |
$ref: "#/components/schemas/startDate" | |
endDate: | |
$ref: "#/components/schemas/endDate" | |
executionRule: | |
$ref: "#/components/schemas/executionRule" | |
frequency: | |
$ref: "#/components/schemas/frequencyCode" | |
dayOfExecution: | |
$ref: "#/components/schemas/dayOfExecution" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
bulkPaymentInitiationSctWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding bulk SCT payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for SCT payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationSct_json" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
bulkPaymentInitiationSctInstWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding bulk SCT INST payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for SCT INST payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationSctInst_json" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
bulkPaymentInitiationTarget2WithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding bulk TARGET-2 payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for TARGET-2 payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationTarget2_json" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
bulkPaymentInitiationCrossBorderWithStatusResponse: | |
description: | | |
JSON response body consistion of the corresponding bulk cross-border payment initation JSON body together with an optional transaction status field. | |
type: object | |
required: | |
- payments | |
- debtorAccount | |
properties: | |
batchBookingPreferred: | |
$ref: "#/components/schemas/batchBookingPreferred" | |
requestedExecutionDate: | |
type: string | |
format: date | |
debtorAccount: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
payments: | |
description: A list of JSON bodies for cross-border payments. | |
type: array | |
items: | |
$ref: "#/components/schemas/paymentInitiationCrossBorder_json" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
scaStatusResponse: | |
description: Body of the JSON response with SCA Status | |
type: object | |
properties: | |
scaStatus: | |
$ref: "#/components/schemas/scaStatus" | |
startScaprocessResponse: | |
description: Body of the JSON response for a Start SCA authorisation request. | |
type: object | |
required: | |
- scaStatus | |
- _links | |
properties: | |
scaStatus: | |
$ref: "#/components/schemas/scaStatus" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksStartScaProcess" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
updatePsuIdenticationResponse: | |
description: Body of the JSON response for a successful update PSU Identification request. | |
type: object | |
required: | |
- _links | |
- scaStatus | |
properties: | |
_links: | |
$ref: "#/components/schemas/_linksUpdatePsuIdentification" | |
scaStatus: | |
$ref: "#/components/schemas/scaStatus" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
updatePsuAuthenticationResponse: | |
description: Body of the JSON response for a successful update PSU Authentication request. | |
type: object | |
required: | |
- scaStatus | |
properties: | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
_links: | |
$ref: "#/components/schemas/_linksUpdatePsuAuthentication" | |
scaStatus: | |
$ref: "#/components/schemas/scaStatus" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
selectPsuAuthenticationMethodResponse: | |
description: Body of the JSON response for a successful select PSU Authentication Method request. | |
type: object | |
required: | |
- scaStatus | |
properties: | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksSelectPsuAuthenticationMethod" | |
scaStatus: | |
$ref: "#/components/schemas/scaStatus" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
signingBasketResponse-200: | |
description: | | |
Body of the JSON response for a successful get signing basket request. | |
* 'payments': payment initiations which shall be authorised through this signing basket. | |
* 'consents': consent objects which shall be authorised through this signing basket. | |
* 'transactionStatus': Only the codes RCVD, ACTC, RJCT are used. | |
type: object | |
required: | |
- transactionStatus | |
properties: | |
payments: | |
$ref: "#/components/schemas/paymentIdList" | |
consents: | |
$ref: "#/components/schemas/consentIdList" | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
signingBasketResponse-201: | |
description: Body of the JSON response for a successful create signing basket request. | |
type: object | |
required: | |
- transactionStatus | |
- basketId | |
- _links | |
properties: | |
transactionStatus: | |
$ref: "#/components/schemas/transactionStatus" | |
basketId: | |
$ref: "#/components/schemas/basketId" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksSigningBasket" | |
psuMessage: | |
$ref: "#/components/schemas/psuMessageText" | |
tppMessages: | |
$ref: "#/components/schemas/tppMessages" | |
consentsResponse-201: | |
description: Body of the JSON response for a successful conset request. | |
type: object | |
required: | |
- consentStatus | |
- consentId | |
- _links | |
properties: | |
consentStatus: | |
$ref: "#/components/schemas/consentStatus" | |
consentId: | |
$ref: "#/components/schemas/consentId" | |
scaMethods: | |
$ref: "#/components/schemas/scaMethods" | |
chosenScaMethod: | |
$ref: "#/components/schemas/chosenScaMethod" | |
challengeData: | |
$ref: "#/components/schemas/challengeData" | |
_links: | |
$ref: "#/components/schemas/_linksConsents" | |
message: | |
description: Text to be displayed to the PSU, e.g. in a Decoupled SCA Approach. | |
type: string | |
maxLength: 512 | |
consentStatusResponse-200: | |
description: Body of the JSON response for a successful get status request for a consent. | |
type: object | |
required: | |
- consentStatus | |
properties: | |
consentStatus: | |
$ref: "#/components/schemas/consentStatus" | |
consentInformationResponse-200_json: | |
description: Body of the JSON response for a successfull get consent request. | |
type: object | |
required: | |
- access | |
- recurringIndicator | |
- validUntil | |
- frequencyPerDay | |
- lastActionDate | |
- consentStatus | |
properties: | |
access: | |
$ref: "#/components/schemas/accountAccess" | |
recurringIndicator: | |
$ref: "#/components/schemas/recurringIndicator" | |
validUntil: | |
$ref: "#/components/schemas/validUntil" | |
frequencyPerDay: | |
$ref: "#/components/schemas/frequencyPerDay" | |
lastActionDate: | |
$ref: "#/components/schemas/lastActionDate" | |
consentStatus: | |
$ref: "#/components/schemas/consentStatus" | |
readBalanceResponse-200: | |
description: Body of the response for a successful read balance request. | |
type: object | |
required: | |
- balances | |
properties: | |
account: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
balances: | |
$ref: "#/components/schemas/balanceList" | |
transactionsResponse-200_json: | |
description: Body of the JSON response for a successful read transaction list request. | |
type: object | |
properties: | |
account: | |
oneOf: | |
- $ref: "#/components/schemas/accountReferenceIban" | |
- $ref: "#/components/schemas/accountReferenceBban" | |
- $ref: "#/components/schemas/accountReferencePan" | |
- $ref: "#/components/schemas/accountReferenceMaskedPan" | |
- $ref: "#/components/schemas/accountReferenceMsisdn" | |
transactions: | |
$ref: "#/components/schemas/accountReport" | |
balances: | |
$ref: "#/components/schemas/balanceList" | |
_links: | |
$ref: "#/components/schemas/_linksDownload" | |
camt.052: | |
description: | | |
camt.052 XML message | |
type: string | |
camt.053: | |
description: | | |
camt.053 XML message | |
type: string | |
camt.054: | |
description: | | |
camt.054 XML message | |
type: string | |
mt940: | |
description: | | |
Data MT940 format in a text structure. | |
type: string | |
mt942: | |
description: | | |
Data MT942 format in a text structure. | |
type: string | |
##################################################### | |
# _links | |
##################################################### | |
_linksPaymentInitiation: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. | |
The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when | |
processing the request. | |
**Remark:** All links can be relative or full links, to be decided by the ASPSP. | |
Type of links admitted in this response, (further links might be added for ASPSP defined extensions): | |
* 'scaRedirect': | |
In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser. | |
* 'scaOAuth': | |
In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation | |
Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. | |
* 'startAuthorisation': | |
In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated | |
(no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). | |
* 'startAuthorisationWithPsuIdentification': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated while | |
uploading the PSU identification data. | |
* 'startAuthorisationWithPsuAuthentication': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated while | |
uploading the PSU authentication data. | |
* 'startAuthorisationWithAuthenticationMethodSelection': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated while | |
selecting the authentication method. | |
This link is contained under exactly the same conditions as the data element "scaMethods" | |
* 'startAuthorisationWithTransactionAuthorisation': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated while | |
authorising the transaction e.g. by uploading an OTP received by SMS. | |
* 'self': | |
The link to the payment initiation resource created by this request. | |
This link can be used to retrieve the resource data. | |
* 'status': | |
The link to retrieve the transaction status of the payment initiation. | |
* 'scaStatus': | |
The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
This link is only contained, if an authorisation sub-resource has been already created. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
scaRedirect: | |
$ref: "#/components/schemas/hrefType" | |
scaOAuth: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithAuthenticationMethodSelection: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithTransactionAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
self: | |
$ref: "#/components/schemas/hrefType" | |
status: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
example: | |
{ | |
"scaRedirect": {"href": "https://www.testbank.com/asdfasdfasdf"}, | |
"self": {"href": "/v1/payments/sepa-credit-transfers/1234-wertiq-983"} | |
} | |
_linksPaymentInitiationMultiLevelSca: | |
description: | | |
Type of links admitted in this response, (further links might be added for ASPSP defined extensions): | |
* 'startAuthorisation': | |
In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded). | |
* 'startAuthorisationWithPsuIdentification': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data. | |
* 'startAuthorisationWithPsuAuthentication': | |
The link to the authorisation end-point, where an authorisation sub-resource has to be generated while uploading the PSU authentication data. | |
* 'self': | |
The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data. | |
* 'status': | |
The link to retrieve the transaction status of the payment initiation. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
startAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
self: | |
$ref: "#/components/schemas/hrefType" | |
status: | |
$ref: "#/components/schemas/hrefType" | |
_linksPaymentInitiationCancel: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the | |
dynamical decisions of the ASPSP when processing the request. | |
Remark: All links can be relative or full links, to be decided by the ASPSP. | |
Type of links admitted in this response, (further links might be added for ASPSP defined extensions): | |
* 'startAuthorisation': | |
In case, where just the authorisation process of the cancellation needs to be started, | |
but no additional data needs to be updated for time being (no authentication method to be selected, | |
no PSU identification nor PSU authentication data to be uploaded). | |
* 'startAuthorisationWithPsuIdentification': | |
In case where a PSU Identification needs to be updated when starting the cancellation authorisation: | |
The link to the cancellation-authorisations end-point, where the cancellation sub-resource has to be | |
generated while uploading the PSU identification data. | |
* 'startAuthorisationWithPsuAuthentication': | |
In case of a yet to be created authorisation sub-resource: The link to the authorisation end-point, | |
where the authorisation sub-resource has to be generated while uploading the PSU authentication data. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
startAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
_linksUpdatePsuIdentification: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request. | |
**Remark:** All links can be relative or full links, to be decided by the ASPSP. | |
Type of links admitted in this response, (further links might be added for ASPSP | |
defined extensions): | |
- 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksUpdatePsuAuthentication: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. Might be contained, if several authentication methods | |
are available for the PSU. | |
Type of links admitted in this response: | |
* 'selectAuthenticationMethod': | |
This is a link to a resource, where the TPP can select the applicable second factor authentication | |
methods for the PSU, if there were several available authentication methods. | |
This link is only contained, if the PSU is already identified or authenticated with the first relevant | |
factor or alternatively an access token, if SCA is required and if the PSU has a choice between different | |
authentication methods. | |
If this link is contained, then there is also the data element 'scaMethods' contained in the response body. | |
* 'authoriseTransaction': | |
The link to the resource, where the "Transaction Authorisation Request" is sent to. | |
This is the link to the resource which will authorise the transaction by checking the SCA authentication | |
data within the Embedded SCA approach. | |
* 'scaStatus': | |
The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
selectAuthenticationMethod: | |
$ref: "#/components/schemas/hrefType" | |
authoriseTransaction: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksSelectPsuAuthenticationMethod: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in | |
the response depend on the dynamical decisions of the ASPSP when processing the request. | |
**Remark:** All links can be relative or full links, to be decided by the ASPSP. | |
**Remark:** This method can be applied before or after PSU identification. | |
This leads to many possible hyperlink responses. | |
Type of links admitted in this response, (further links might be added for ASPSP defined | |
extensions): | |
- "scaRedirect": | |
In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to | |
redirect the PSU browser. | |
- "scaOAuth": | |
In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the | |
configuration of the Authorisation Server can be retrieved. | |
The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. | |
- "updatePsuIdentification": | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where PSU identification data needs to be uploaded. | |
- "updatePsuAuthentication": | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where PSU authentication data needs to be uploaded. | |
"authoriseTransaction": | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where the authorisation data has to be uploaded, e.g. the TOP received by SMS. | |
"scaStatus": | |
The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
scaRedirect: | |
$ref: "#/components/schemas/hrefType" | |
scaOAuth: | |
$ref: "#/components/schemas/hrefType" | |
updatePsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
updatePsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
authoriseTransaction: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksStartScaProcess: #TODO Check wether different link types can be joined | |
description: | | |
A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the | |
response depend on the dynamical decisions of the ASPSP when processing the request. | |
**Remark:** All links can be relative or full links, to be decided by the ASPSP. | |
Type of links admitted in this response, (further links might be added for ASPSP defined | |
extensions): | |
- 'scaRedirect': | |
In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to | |
redirect the PSU browser. | |
- 'scaOAuth': | |
In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. | |
- 'updatePsuIdentification': | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where PSU identification data needs to be uploaded. | |
- 'startAuthorisationWithPsuAuthentication': | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where PSU authentication data needs to be uploaded. | |
- 'selectAuthenticationMethod': | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where the selected authentication method needs to be uploaded. | |
This link is contained under exactly the same conditions as the data element 'scaMethods'. | |
- 'authoriseTransaction': | |
The link to the authorisation or cancellation authorisation sub-resource, | |
where the authorisation data has to be uploaded, e.g. the TOP received by SMS. | |
- 'scaStatus': | |
The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
scaRedirect: | |
$ref: "#/components/schemas/hrefType" | |
scaOAuth: | |
$ref: "#/components/schemas/hrefType" | |
updatePsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
selectAuthenticationMethod: | |
$ref: "#/components/schemas/hrefType" | |
authoriseTransaction: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksDownload: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. | |
Type of links admitted in this response: | |
- "download": a link to a resource, where the transaction report might be downloaded from in | |
case where transaction reports have a huge size. | |
Remark: This feature shall only be used where camt-data is requested which has a huge size. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
required: | |
- download | |
properties: | |
download: | |
$ref: "#/components/schemas/hrefType" | |
_linksConsents: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. | |
Type of links admitted in this response (which might be extended by single ASPSPs as indicated in its XS2A | |
documentation): | |
- 'scaRedirect': | |
In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the | |
PSU browser. | |
- 'scaOAuth': | |
In case of an OAuth2 based Redirect Approach, the ASPSP is transmitting the link where the configuration | |
of the OAuth2 Server is defined. | |
The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. | |
- 'startAuthorisation': | |
In case, where an explicit start of the transaction authorisation is needed, | |
but no more data needs to be updated (no authentication method to be selected, | |
no PSU identification nor PSU authentication data to be uploaded). | |
- 'startAuthorisationWithPsuIdentification': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated | |
while uploading the PSU identification data. | |
- 'startAuthorisationWithPsuAuthentication': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated | |
while uploading the PSU authentication data. | |
- 'startAuthorisationWithAuthenticationMethodSelection': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated | |
while selecting the authentication method. This link is contained under exactly the same conditions | |
as the data element 'scaMethods' | |
- 'startAuthorisationWithTransactionAuthorisation': | |
The link to the authorisation end-point, where the authorisation sub-resource has to be generated | |
while authorising the transaction e.g. by uploading an OTP received by SMS. | |
- 'self': | |
The link to the Establish Account Information Consent resource created by this request. | |
This link can be used to retrieve the resource data. | |
- 'status': | |
The link to retrieve the status of the account information consent. | |
- 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
This link is only contained, if an authorisation sub-resource has been already created. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
scaRedirect: | |
$ref: "#/components/schemas/hrefType" | |
scaOAuth: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithAuthenticationMethodSelection: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithTransactionAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
self: | |
$ref: "#/components/schemas/hrefType" | |
status: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksSigningBasket: | |
description: | | |
A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the | |
response depend on the dynamical decisions of the ASPSP when processing the request. | |
Remark: All links can be relative or full links, to be decided by the ASPSP. | |
Type of links admitted in this response, (further links might be added for ASPSP defined | |
extensions): | |
* 'scaRedirect': | |
In case of an SCA Redirect Approach, the ASPSP is transmitting the link to | |
which to redirect the PSU browser. | |
* 'scaOAuth': | |
In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of | |
the Authorisation Server can be retrieved. The configuration follows the | |
OAuth 2.0 Authorisation Server Metadata specification. | |
* 'startAuthorisation': | |
In case, where an explicit start of the transaction authorisation is needed, | |
but no more data needs to be updated (no authentication method to be selected, | |
no PSU identification nor PSU authentication data to be uploaded). | |
* 'startAuthorisationWithPsuIdentification': | |
The link to the authorisation end-point, where the authorisation sub-resource | |
has to be generated while uploading the PSU identification data. | |
* 'startAuthorisationWithPsuAuthentication': | |
The link to the authorisation end-point, where the authorisation sub-resource | |
has to be generated while uploading the PSU authentication data. | |
* 'startAuthorisationWithAuthenticationMethodSelection': | |
The link to the authorisation end-point, where the authorisation sub-resource | |
has to be generated while selecting the authentication method. | |
This link is contained under exactly the same conditions as the data element 'scaMethods' | |
* 'startAuthorisationWithTransactionAuthorisation': | |
The link to the authorisation end-point, where the authorisation sub-resource | |
has to be generated while authorising the transaction e.g. by uploading an | |
OTP received by SMS. | |
* 'self': | |
The link to the payment initiation resource created by this request. | |
This link can be used to retrieve the resource data. | |
* 'status': | |
The link to retrieve the transaction status of the payment initiation. | |
* 'scaStatus': | |
The link to retrieve the scaStatus of the corresponding authorisation sub-resource. | |
This link is only contained, if an authorisation sub-resource has been already created. | |
type: object | |
properties: | |
scaRedirect: | |
$ref: "#/components/schemas/hrefType" | |
scaOAuth: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuIdentification: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithPsuAuthentication: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithAuthenticationMethodSelection: | |
$ref: "#/components/schemas/hrefType" | |
startAuthorisationWithTransactionAuthorisation: | |
$ref: "#/components/schemas/hrefType" | |
self: | |
$ref: "#/components/schemas/hrefType" | |
status: | |
$ref: "#/components/schemas/hrefType" | |
scaStatus: | |
$ref: "#/components/schemas/hrefType" | |
_linksAccountReport: | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
required: | |
- account | |
properties: | |
account: | |
$ref: "#/components/schemas/hrefType" | |
first: | |
$ref: "#/components/schemas/hrefType" | |
next: | |
$ref: "#/components/schemas/hrefType" | |
previous: | |
$ref: "#/components/schemas/hrefType" | |
last: | |
$ref: "#/components/schemas/hrefType" | |
_linksTransactionDetails: | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
required: | |
- transactionDetails | |
properties: | |
transactionDetails: | |
$ref: "#/components/schemas/hrefType" | |
_linksAccountDetails: | |
description: | | |
Links to the account, which can be directly used for retrieving account information from this dedicated account. | |
Links to "balances" and/or "transactions" | |
These links are only supported, when the corresponding consent has been already granted. | |
type: object | |
additionalProperties: | |
$ref: "#/components/schemas/hrefType" | |
properties: | |
balances: | |
$ref: "#/components/schemas/hrefType" | |
transactions: | |
$ref: "#/components/schemas/hrefType" | |
##################################################### | |
# Tpp-Messages | |
##################################################### | |
tppMessageCategory: | |
description: Category of the TPP message category | |
type: string | |
enum: | |
- "ERROR" | |
- "WARNING" | |
tppMessageText: | |
description: Additional explaining text to the TPP. | |
type: string | |
maxLength: 512 | |
tppMessageGeneric: | |
description: One Message to the TPP on operational issues. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
anyOf: | |
- $ref: "#/components/schemas/messageCodeTextUnspecific" | |
- $ref: "#/components/schemas/messageCodeTextPisSpecific" | |
- $ref: "#/components/schemas/messageCodeTextAisSpecific" | |
- $ref: "#/components/schemas/messageCodeTextPiisSpecific" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-FORMAT_ERROR_400: | |
description: | | |
Format of certain request fields are not matching the XS2A requirements. | |
An explicit path to the corresponding field might be added in the return message. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "FORMAT_ERROR" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-PARAMETER_NOT_SUPPORTED_400: | |
description: | | |
The parameter is not supported by the API provider. | |
This code should only be used for parameters that are described as | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PARAMETER_NOT_SUPPORTED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400: | |
description: | | |
The addressed resource is unknown relative to the TPP. | |
- 404 (if account-id in path) | |
- 403 (if other resource in path) | |
- 400 (if payload) | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "RESOURCE_UNKNOWN" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-RESOURCE_EXPIRED_403_400: | |
description: | | |
The addressed resource is associated with the TPP but has expired, not addressable anymore. | |
- 403 (if path) | |
- 400 (if payload) | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "RESOURCE_EXPIRED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-TIMESTAMP_INVALID_400: | |
description: Timestamp not in accepted time period. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "TIMESTAMP_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-PERIOD_INVALID_400: | |
description: Requested time period out of bound. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PERIOD_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-SCA_METHOD_UNKNOWN_400: | |
description: | | |
Addressed SCA method in the Authentication Method Select Request is unknown | |
or cannot be matched by the ASPSP with the PSU. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SCA_METHOD_UNKNOWN" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIIS-CARD_INVALID_400: | |
description: | | |
Addressed card number is unknown to the ASPSP or not associated to the PSU. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CARD_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIIS-NO_PIIS_ACTIVATION_400: | |
description: The PSU has not activated the addressed account for the usage of the PIIS associated with the TPP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "NO_PIIS_ACTIVATION" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_AIS-SESSIONS_NOT_SUPPORTED_400: | |
description: | | |
The combined service flag may not be used with this ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SESSIONS_NOT_SUPPORTED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIS-PAYMENT_FAILED_400: | |
description: | | |
The payment initiation POST request failed during the initial process. | |
Additional information may be provided by the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PAYMENT_FAILED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIS-EXECUTION_DATE_INVALID_400: | |
description: | | |
The requested execution date is not a valid execution date for the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "EXECUTION_DATE_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CERTIFICATE_INVALID_401: | |
description: | | |
The contents of the signature/corporate seal certificate are not matching PSD2 general PSD2 | |
or attribute requirements. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CERTIFICATE_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CERTIFICATE_EXPIRED_401: | |
description: Signature/corporate seal certificate is expired. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CERTIFICATE_EXPIRED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CERTIFICATE_BLOCKED_401: | |
description: | | |
Signature/corporate seal certificate has been blocked by the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CERTIFICATE_BLOCKED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CERTIFICATE_REVOKED_401: | |
description: | | |
Signature/corporate seal certificate has been revoked by QSTP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CERTIFICATE_REVOKED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CERTIFICATE_MISSING_401: | |
description: | | |
Signature/corporate seal certificate was not available in the request but is mandated for the corresponding. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CERTIFICATE_MISSING" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-SIGNATURE_INVALID_401: | |
description: Application layer eIDAS Signature for TPP authentication is not correct. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SIGNATURE_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-SIGNATURE_MISSING_401: | |
description: | | |
Application layer eIDAS Signature for TPP authentication is mandated by the ASPSP but is missing. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SIGNATURE_MISSING" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CONSENT_INVALID_401: | |
description: | | |
The consent was created by this TPP but is not valid for the addressed service/resource. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CONSENT_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CONSENT_EXPIRED_401: | |
description: The consent was created by this TPP but has expired and needs to be renewed. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CONSENT_EXPIRED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-TOKEN_UNKNOWN_401: | |
description: The OAuth2 token cannot be matched by the ASPSP relative to the TPP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "TOKEN_UNKNOWN" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-TOKEN_INVALID_401: | |
description: The OAuth2 token is associated to the TPP but is not valid for the addressed service/resource. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "TOKEN_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-TOKEN_EXPIRED_401: | |
description: The OAuth2 token is associated to the TPP but has expired and needs to be renewed. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "TOKEN_EXPIRED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CORPORATE_ID_INVALID_401: | |
description: The PSU-Corporate-ID cannot be matched by the addressed ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CORPORATE_ID_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-PSU_CREDENTIALS_INVALID_401: | |
description: | | |
The PSU-ID cannot be matched by the addressed ASPSP or is blocked, or a password resp. | |
OTP was not correct. | |
Additional information might be added. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PSU_CREDENTIALS_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_AIS-CONSENT_INVALID_401: | |
description: | | |
The consent definition is not complete or invalid. | |
In case of being not complete, the bank is not supporting a completion of the consent towards the PSU. | |
Additional information will be provided. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CONSENT_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIS-REQUIRED_KID_MISSING_401: | |
description: | | |
The payment initiation has failed due to a missing KID. | |
This is a specific message code for the Norwegian market, | |
where ASPSP can require the payer to transmit the KID. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "REQUIRED_KID_MISSING" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIS-PRODUCT_INVALID_403: | |
description: The addressed payment product is not available for the PSU. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PRODUCT_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-SERVICE_BLOCKED_403: | |
description: | | |
This service is not reachable for the addressed PSU due to a channel independent blocking by the ASPSP. | |
Additional information might be given by the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SERVICE_BLOCKED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-CONSENT_UNKNOWN_403_400: | |
description: | | |
The Consent-ID cannot be matched by the ASPSP relative to the TPP. | |
- 403 (if path) | |
- 400 (if payload) | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "CONSENT_UNKNOWN" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_PIS-PRODUCT_UNKNOWN_404: | |
description: | | |
The addressed payment product is not supported by the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "PRODUCT_UNKNOWN" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_GENERIC-SERVICE_INVALID_400_405: | |
description: | | |
Message to the TPP: | |
The addressed service is not valid for the addressed resources or the submitted data. | |
- 400 (if payload) | |
- 405 (if HTTP method) | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "SERVICE_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_AIS-REQUESTED_FORMATS_INVALID_406: | |
description: | | |
Message to the TPP: | |
The requested formats in the Accept header entry are not matching the formats offered by the ASPSP. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "REQUESTED_FORMATS_INVALID" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessage_AIS-ACCESS_EXCEEDED_429: | |
description: | | |
Message to the TPP: | |
The access on the account has been exceeding the consented multiplicity per day. | |
type: object | |
required: | |
- category | |
- code | |
properties: | |
category: | |
$ref: "#/components/schemas/tppMessageCategory" | |
code: | |
type: string | |
enum: | |
- "ACCESS_EXCEEDED" | |
path: | |
type: string | |
text: | |
$ref: "#/components/schemas/tppMessageText" | |
tppMessages: | |
description: Messages to the TPP on operational issues. | |
type: array | |
items: | |
$ref: "#/components/schemas/tppMessageGeneric" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "TOKEN_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages400: | |
description: Messages to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_GENERIC-FORMAT_ERROR_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-PARAMETER_NOT_SUPPORTED_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SERVICE_INVALID_400_405" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-RESOURCE_EXPIRED_403_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-TIMESTAMP_INVALID_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-PERIOD_INVALID_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SCA_METHOD_UNKNOWN_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CONSENT_UNKNOWN_403_400" | |
- $ref: "#/components/schemas/tppMessage_PIIS-CARD_INVALID_400" | |
- $ref: "#/components/schemas/tppMessage_PIIS-NO_PIIS_ACTIVATION_400" | |
- $ref: "#/components/schemas/tppMessage_AIS-SESSIONS_NOT_SUPPORTED_400" | |
- $ref: "#/components/schemas/tppMessage_PIS-PAYMENT_FAILED_400" | |
- $ref: "#/components/schemas/tppMessage_PIS-EXECUTION_DATE_INVALID_400" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "FORMAT_ERROR", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
},{ | |
"category": "ERROR", | |
"code": "FORMAT_ERROR", | |
"text": "Further additional text information of the ASPSP up to 512 characters" | |
} | |
] | |
tppMessages401: | |
description: Messages with HTTP error code 401 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CERTIFICATE_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CERTIFICATE_EXPIRED_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CERTIFICATE_BLOCKED_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CERTIFICATE_REVOKED_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CERTIFICATE_MISSING_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SIGNATURE_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SIGNATURE_MISSING_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CONSENT_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CONSENT_EXPIRED_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-TOKEN_UNKNOWN_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-TOKEN_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-TOKEN_EXPIRED_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CORPORATE_ID_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-PSU_CREDENTIALS_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_AIS-CONSENT_INVALID_401" | |
- $ref: "#/components/schemas/tppMessage_PIS-REQUIRED_KID_MISSING_401" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "CERTIFICATE_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages403: | |
description: Messages with HTTP error code 403 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SERVICE_BLOCKED_403" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-CONSENT_UNKNOWN_403_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-RESOURCE_EXPIRED_403_400" | |
- $ref: "#/components/schemas/tppMessage_PIS-PRODUCT_INVALID_403" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "SERVICE_BLOCKED", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages404: | |
description: Messages with HTTP error code 404 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_PIS-PRODUCT_UNKNOWN_404" | |
- $ref: "#/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "PRODUCT_UNKNOWN", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages405: | |
description: Messages with HTTP error code 405 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_GENERIC-SERVICE_INVALID_400_405" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "SERVICE_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages406: | |
description: Messages with HTTP error code 406 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_AIS-REQUESTED_FORMATS_INVALID_406" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "REQUESTED_FORMATS_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
tppMessages429: | |
description: Messages with HTTP error code 429 to the TPP on operational issues. | |
type: array | |
items: | |
anyOf: | |
- $ref: "#/components/schemas/tppMessage_AIS-ACCESS_EXCEEDED_429" | |
example: | |
[{ | |
"category": "ERROR", | |
"code": "ACCESS_EXCEEDED", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
parameters: | |
##################################################### | |
# Predefined Parameters | |
##################################################### | |
paymentService: | |
name: payment-service | |
in: path | |
description: | | |
Payment service: | |
Possible values are: | |
* payments | |
* bulk-payments | |
* periodic-payments | |
required: true | |
schema: | |
type: string | |
enum: | |
- "payments" | |
- "bulk-payments" | |
- "periodic-payments" | |
paymentProduct: | |
name: payment-product | |
in: path | |
description: | | |
The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). | |
The ASPSP will publish which of the payment products/endpoints will be supported. | |
The following payment products are supported: | |
- sepa-credit-transfers | |
- instant-sepa-credit-transfers | |
- target-2-payments | |
- cross-border-credit-transfers | |
- pain.001-sepa-credit-transfers | |
- pain.001-instant-sepa-credit-transfers | |
- pain.001-target-2-payments | |
- pain.001-cross-border-credit-transfers | |
**Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, | |
the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. | |
Further XML schemes might be supported by some communities. | |
**Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. | |
There are plenty of country specificic scheme variants. | |
required: true | |
schema: | |
type: string | |
enum: | |
- "sepa-credit-transfers" | |
- "instant-sepa-credit-transfers" | |
- "target-2-payments" | |
- "cross-border-credit-transfers" | |
- "pain.001-sepa-credit-transfers" | |
- "pain.001-instant-sepa-credit-transfers" | |
- "pain.001-target-2-payments" | |
- "pain.001-cross-border-credit-transfers" | |
paymentId: | |
name: paymentId | |
in: path | |
description: Resource identification of the generated payment initiation resource. | |
required: true | |
schema: | |
$ref: "#/components/schemas/paymentId" | |
cancellationId: | |
name: cancellationId | |
in: path | |
description: Identification for cancellation resource. | |
required: true | |
schema: | |
$ref: "#/components/schemas/cancellationId" | |
authorisationId: | |
name: authorisationId | |
in: path | |
description: Resource identification of the related SCA. | |
required: true | |
schema: | |
$ref: "#/components/schemas/authorisationId" | |
accountId: | |
name: account-id | |
in: path | |
description: | | |
This identification is denoting the addressed account. | |
The account-id is retrieved by using a "Read Account List" call. | |
The account-id is the "id" attribute of the account structure. | |
Its value is constant at least throughout the lifecycle of a given consent. | |
required: true | |
schema: | |
$ref: "#/components/schemas/accountId" | |
resourceId: | |
name: resourceId | |
in: path | |
description: | | |
This identification is given by the attribute resourceId of the corresponding entry of a transaction list. | |
required: true | |
schema: | |
$ref: "#/components/schemas/resourceId" | |
basketId_PATH: | |
name: basketId | |
in: path | |
description: | | |
This identification of the corresponding signing basket object. | |
required: true | |
schema: | |
$ref: "#/components/schemas/basketId" | |
consentId_PATH: | |
name: consentId | |
in: path | |
description: | | |
ID of the corresponding consent object as returned by an Account Information Consent Request. | |
required: true | |
schema: | |
$ref: "#/components/schemas/consentId" | |
consentId_HEADER_optional: | |
name: Consent-ID | |
in: header | |
description: | | |
This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. | |
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. | |
required: false | |
schema: | |
$ref: "#/components/schemas/consentId" | |
consentId_HEADER_mandatory: | |
name: Consent-ID | |
in: header | |
description: | | |
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. | |
required: true | |
schema: | |
$ref: "#/components/schemas/consentId" | |
withBalanceQuery: | |
name: withBalance | |
in: query | |
description: | | |
If contained, this function reads the list of accessible payment accounts including the booking balance, | |
if granted by the PSU in the related consent and available by the ASPSP. | |
This parameter might be ignored by the ASPSP. | |
required: false | |
schema: | |
type: boolean | |
dateFrom: | |
name: dateFrom | |
in: query | |
description: | | |
Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. | |
required: false | |
schema: | |
type: string | |
format: date | |
dateTo: | |
name: dateTo | |
in: query | |
description: | | |
End date (inclusive the data dateTo) of the transaction list, default is now if not given. | |
required: false | |
schema: | |
type: string | |
format: date | |
entryReferenceFrom: | |
name: entryReferenceFrom | |
in: query | |
description: | | |
This data attribute is indicating that the AISP is in favour to get all transactions after | |
the transaction with identification entryReferenceFrom alternatively to the above defined period. | |
This is a implementation of a delta access. | |
If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP | |
if a delta report is supported. | |
Optional if supported by API provider. | |
required: false | |
schema: | |
type: string | |
bookingStatus: | |
name: bookingStatus | |
in: query | |
description: | | |
Permitted codes are | |
* "booked", | |
* "pending" and | |
* "both" | |
"booked" shall be supported by the ASPSP. | |
To support the "pending" and "both" feature is optional for the ASPSP, | |
Error code if not supported in the online banking frontend | |
required: true | |
schema: | |
type: string | |
enum: | |
- "booked" | |
- "pending" | |
- "both" | |
deltaList: | |
name: deltaList | |
in: query | |
description: | |
This data attribute is indicating that the AISP is in favour to get all transactions after the last report access | |
for this PSU on the addressed account. | |
This is another implementation of a delta access-report. | |
This delta indicator might be rejected by the ASPSP if this function is not supported. | |
Optional if supported by API provider | |
schema: | |
type: boolean | |
X-Request-ID: | |
name: X-Request-ID | |
in: header | |
description: ID of the request, unique to the call, as determined by the initiating party. | |
required: true | |
example: "99391c7e-ad88-49ec-a2ad-99ddcb1f7721" | |
schema: | |
type: string | |
format: uuid | |
Digest: | |
name: Digest | |
in: header | |
description: Is contained if and only if the "Signature" element is contained in the header of the request. | |
schema: | |
type: string | |
required: false # conditional | |
example: "SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=" | |
Signature: | |
name: Signature | |
in: header | |
description: | | |
A signature of the request by the TPP on application level. This might be mandated by ASPSP. | |
schema: | |
type: string | |
required: false # conditional | |
example: > | |
keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", | |
headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", | |
signature="Base64(RSA-SHA256(signing string))" | |
TPP-Signature-Certificate: | |
name: TPP-Signature-Certificate | |
in: header | |
description: | | |
The certificate used for signing the request, in base64 encoding. | |
Must be contained if a signature is contained. | |
schema: | |
type: string | |
format: byte | |
required: false # conditional | |
TPP-Redirect-Preferred: | |
name: TPP-Redirect-Preferred | |
in: header | |
description: | | |
If it equals "true", the TPP prefers a redirect over an embedded SCA approach. | |
If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled | |
SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. | |
If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the | |
TPP/PSU. | |
schema: | |
type: boolean | |
required: false | |
TPP-Redirect-URI: | |
name: TPP-Redirect-URI | |
in: header | |
description: | | |
URI of the TPP, where the transaction flow shall be redirected to after a Redirect. | |
Mandated for the Redirect SCA Approach (including OAuth2 SCA approach), specifically | |
when TPP-Redirect-Preferred equals "true". | |
It is recommended to always use this header field. | |
**Remark for Future:** | |
This field might be changed to mandatory in the next version of the specification. | |
schema: | |
type: string | |
format: uri | |
required: false # conditional | |
TPP-Nok-Redirect-URI: | |
name: TPP-Nok-Redirect-URI | |
in: header | |
description: | | |
If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case | |
of a negative result of the redirect SCA method. This might be ignored by the ASPSP. | |
schema: | |
type: string | |
format: uri | |
required: false | |
TPP-Explicit-Authorisation-Preferred: | |
name: TPP-Explicit-Authorisation-Preferred | |
in: header | |
description: | | |
If it equals "true", the TPP prefers to start the authorisation process separately, | |
e.g. because of the usage of a signing basket. | |
This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. | |
If it equals "false" or if the parameter is not used, there is no preference of the TPP. | |
This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, | |
without using a signing basket. | |
schema: | |
type: boolean | |
required: false | |
PSU-ID: | |
name: PSU-ID | |
in: header | |
description: | | |
Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. | |
Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding | |
AIS service in the same session. | |
schema: | |
type: string | |
required: false | |
example: "PSU-1234" | |
PSU-ID-Type: | |
name: PSU-ID-Type | |
in: header | |
description: | | |
Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. | |
schema: | |
type: string | |
required: false | |
PSU-Corporate-ID: | |
name: PSU-Corporate-ID | |
in: header | |
description: | | |
Might be mandated in the ASPSP's documentation. Only used in a corporate context. | |
schema: | |
type: string | |
required: false | |
PSU-Corporate-ID-Type: | |
name: PSU-Corporate-ID-Type | |
in: header | |
description: | | |
Might be mandated in the ASPSP's documentation. Only used in a corporate context. | |
schema: | |
type: string | |
required: false | |
PSU-IP-Address_mandatory: | |
name: PSU-IP-Address | |
in: header | |
description: | | |
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. | |
schema: | |
type: string | |
format: ipv4 | |
required: true | |
example: 192.168.8.78 | |
PSU-IP-Address_optional: | |
name: PSU-IP-Address | |
in: header | |
description: | | |
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. | |
schema: | |
type: string | |
format: ipv4 | |
required: false | |
example: 192.168.8.78 | |
PSU-IP-Port: | |
name: PSU-IP-Port | |
in: header | |
description: | | |
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. | |
schema: | |
oneOf: | |
- type: integer | |
- type: string | |
required: false | |
example: "1234" | |
PSU-Accept: | |
name: PSU-Accept | |
in: header | |
description: | | |
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. | |
schema: | |
type: string | |
required: false | |
PSU-Accept-Charset: | |
name: PSU-Accept-Charset | |
in: header | |
description: | | |
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. | |
schema: | |
type: string | |
required: false | |
PSU-Accept-Encoding: | |
name: PSU-Accept-Encoding | |
in: header | |
description: | | |
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. | |
schema: | |
type: string | |
required: false | |
PSU-Accept-Language: | |
name: PSU-Accept-Language | |
in: header | |
description: | | |
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. | |
schema: | |
type: string | |
required: false | |
PSU-User-Agent: | |
name: PSU-User-Agent | |
in: header | |
description: | | |
The forwarded Agent header field of the HTTP request between PSU and TPP, if available. | |
schema: | |
type: string | |
required: false | |
PSU-Http-Method: | |
name: PSU-Http-Method | |
in: header | |
description: | | |
HTTP method used at the PSU ? TPP interface, if available. | |
Valid values are: | |
* GET | |
* POST | |
* PUT | |
* PATCH | |
* DELETE | |
schema: | |
type: string | |
enum: | |
- "GET" | |
- "POST" | |
- "PUT" | |
- "PATCH" | |
- "DELETE" | |
required: false | |
PSU-Device-ID: | |
name: PSU-Device-ID | |
in: header | |
description: | | |
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. | |
UUID identifies either a device or a device dependant application installation. | |
In case of an installation identification this ID need to be unaltered until removal from device. | |
schema: | |
type: string | |
format: uuid | |
required: false | |
example: "99435c7e-ad88-49ec-a2ad-99ddcb1f5555" | |
PSU-Geo-Location: | |
name: PSU-Geo-Location | |
in: header | |
description: | | |
The forwarded Geo Location of the corresponding http request between PSU and TPP if available. | |
schema: | |
type: string | |
pattern: '(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}' | |
required: false | |
example: GEO:52.506931,13.144558 | |
requestBodies: | |
##################################################### | |
# Reusable Request Bodies | |
##################################################### | |
paymentInitiation: | |
description: | | |
JSON request body for a payment inition request message | |
There are the following payment-products supported: | |
* "sepa-credit-transfers" with JSON-Body | |
* "instant-sepa-credit-transfers" with JSON-Body | |
* "target-2-payments" with JSON-Body | |
* "cross-border-credit-transfers" with JSON-Body | |
* "pain.001-sepa-credit-transfers" with XML pain.001.001.03 body for SCT scheme | |
* "pain.001-instant-sepa-credit-transfers" with XML pain.001.001.03 body for SCT INST scheme | |
* "pain.001-target-2-payments" with pain.001 body. | |
Only country specific schemes are currently available | |
* "pain.001-cross-border-credit-transfers" with pain.001 body. | |
Only country specific schemes are currently available | |
There are the following payment-services supported: | |
* "payments" | |
* "periodic-payments" | |
* "bulk-paments" | |
All optional, conditional and predefined but not yet used fields are defined. | |
required: true | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- $ref: "#/components/schemas/paymentInitiationSct_json" | |
- $ref: "#/components/schemas/paymentInitiationSctInst_json" | |
- $ref: "#/components/schemas/paymentInitiationTarget2_json" | |
- $ref: "#/components/schemas/paymentInitiationCrossBorder_json" | |
- $ref: "#/components/schemas/periodicPaymentInitiationSct_json" | |
- $ref: "#/components/schemas/periodicPaymentInitiationSctInst_json" | |
- $ref: "#/components/schemas/periodicPaymentInitiationTarget2_json" | |
- $ref: "#/components/schemas/periodicPaymentInitiationCrossBorder_json" | |
- $ref: "#/components/schemas/bulkPaymentInitiationSct_json" | |
- $ref: "#/components/schemas/bulkPaymentInitiationSctInst_json" | |
- $ref: "#/components/schemas/bulkPaymentInitiationTarget2_json" | |
- $ref: "#/components/schemas/bulkPaymentInitiationCrossBorder_json" | |
examples: | |
"Example 1: 'payments' - 'sepa-credit-transfers'": | |
$ref: "#/components/examples/paymentInitiationSctBody_payments_json" | |
"Example 2: 'periodic-payments' - 'sepa-credit-transfers'": | |
$ref: "#/components/examples/paymentInitiationSctBody_periodic-payments_json" | |
"Example 3: 'bulk-payments' - 'sepa-credit-transfers'": | |
$ref: "#/components/examples/paymentInitiationSctBody_bulk-payments_json" | |
#TODO Add further examples for payment initiation with JSON e.g. SCT INST etc. | |
application/xml: | |
schema: | |
oneOf: #The same schemas are used for single and bulk payment in case of a pain.001 | |
- $ref: "#/components/schemas/paymentInitiationSct_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationSctInst_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationTarget2_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationCrossBorder_pain.001" | |
examples: | |
"Example 1: 'payments' - 'pain.001-sepa-credit-transfers'": | |
$ref: "#/components/examples/pain.001.001_SCT_singleTransaction" | |
#TODO Add further examples for payment initiation with pain.001 e.g. SCT INST pain.001 etc. | |
multipart/form-data: #For periodic-payments with pain.001 | |
schema: | |
$ref: "#/components/schemas/periodicPaymentInitiationMultipartBody" | |
#examples: | |
#TODO Add example for periodic-payments with pain.001 | |
signingBasket: | |
description: | | |
Request body for a confirmation of an establishing signing basket request | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/signingBasket" | |
examples: | |
Example: | |
$ref: "#/components/examples/signingBasketExample" | |
confirmationOfFunds: | |
description: | | |
Request body for a confirmation of funds request. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/confirmationOfFunds" | |
examples: | |
"Example": | |
$ref: "#/components/examples/confirmationOfFundsExample" | |
required: true | |
consents: | |
description: | | |
Requestbody for a consents request | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/consents" | |
examples: | |
"Consent Request on Dedicated Accounts": | |
$ref: "#/components/examples/consentsExample_DedicatedAccounts" | |
"Consent on Account List of Available Accounts": | |
$ref: "#/components/examples/consentsExample_AccountList" | |
"Consent Request on Account List or without Indication of dedicated Accounts": | |
$ref: "#/components/examples/consentsExample_without_Accounts" | |
headers: | |
##################################################### | |
# Reusable Response Header Elements | |
##################################################### | |
X-Request-ID: | |
description: ID of the request, unique to the call, as determined by the initiating party. | |
required: true | |
example: "99391c7e-ad88-49ec-a2ad-99ddcb1f7721" | |
schema: | |
type: string | |
format: uuid | |
ASPSP-SCA-Approach: | |
description: | | |
This data element must be contained, if the SCA Approach is already fixed. | |
Possible values are | |
* EMBEDDED | |
* DECOUPLED | |
* REDIRECT | |
The OAuth SCA approach will be subsumed by REDIRECT. | |
schema: | |
type: string | |
enum: | |
- "EMBEDDED" | |
- "DECOUPLED" | |
- "REDIRECT" | |
example: "EMBEDDED" | |
required: false | |
Location: | |
description: | | |
Location of the created resource. | |
schema: | |
type: string | |
format: url | |
required: false | |
responses: | |
##################################################### | |
# Reusabale Responses | |
##################################################### | |
##################################################### | |
# Positive Responses | |
##################################################### | |
OK_200_PaymentInitiationInformation: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- $ref: "#/components/schemas/paymentInitiationSctWithStatusResponse" | |
- $ref: "#/components/schemas/paymentInitiationSctInstWithStatusResponse" | |
- $ref: "#/components/schemas/paymentInitiationTarget2WithStatusResponse" | |
- $ref: "#/components/schemas/paymentInitiationCrossBorderWithStatusResponse" | |
- $ref: "#/components/schemas/periodicPaymentInitiationSctWithStatusResponse" | |
- $ref: "#/components/schemas/periodicPaymentInitiationSctInstWithStatusResponse" | |
- $ref: "#/components/schemas/periodicPaymentInitiationTarget2WithStatusResponse" | |
- $ref: "#/components/schemas/periodicPaymentInitiationCrossBorderWithStatusResponse" | |
- $ref: "#/components/schemas/bulkPaymentInitiationSctWithStatusResponse" | |
- $ref: "#/components/schemas/bulkPaymentInitiationSctInstWithStatusResponse" | |
- $ref: "#/components/schemas/bulkPaymentInitiationTarget2WithStatusResponse" | |
- $ref: "#/components/schemas/bulkPaymentInitiationCrossBorderWithStatusResponse" | |
#examples: TODO Add examples for JSON response of get payment initiation information | |
application/xml: | |
schema: | |
oneOf: #The same schemas are used for single and bulk payment in case of a pain.001 | |
- $ref: "#/components/schemas/paymentInitiationSct_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationSctInst_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationTarget2_pain.001" | |
- $ref: "#/components/schemas/paymentInitiationCrossBorder_pain.001" | |
examples: | |
"Example 1: 'payments' - 'pain.001-sepa-credit-transfers'": | |
$ref: "#/components/examples/pain.001.001_SCT_singleTransaction" | |
#TODO Add further examples for pain.001 response of get payment initiation information, e.g. for SCT INST | |
multipart/form-data: #For periodic-payments with pain.001 | |
schema: | |
$ref: "#/components/schemas/periodicPaymentInitiationMultipartBody" | |
#examples: TODO Add examples for periodic payments response of get payment initiation information with a pain message | |
OK_200_PaymentInitiationStatus: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/paymentInitiationStatusResponse-200_json" | |
examples: | |
simple: | |
$ref: "#/components/examples/paymentInitiationStatusResponse_json_Simple" | |
extended: | |
$ref: "#/components/examples/paymentInitiationStatusResponse_json_Extended" | |
application/xml: | |
schema: | |
$ref: "#/components/schemas/paymentInitiationStatusResponse-200_xml" | |
examples: | |
"Payment Initiation Status Response Body XML for SCT": | |
$ref: "#/components/examples/pain.002.001_SCT_singleTransaction" | |
OK_200_Authorisations: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/authorisations" | |
examples: | |
Example: | |
$ref: "#/components/examples/authorisationListExample" | |
OK_200_PaymentInitiationCancel: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/paymentInitiationCancelResponse-200_202" | |
examples: | |
Example: | |
$ref: "#/components/examples/paymentInitiationCancelResponse-200_202" | |
OK_200_ScaStatus: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/scaStatusResponse" | |
OK_200_AccountList: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/accountList" | |
examples: | |
"Example 1": | |
$ref: "#/components/examples/accountListExample1" | |
"Example 2": | |
$ref: "#/components/examples/accountListExample2" | |
"Example 3": | |
$ref: "#/components/examples/accountListExample3" | |
OK_200_CancellationList: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/cancellationList" | |
examples: | |
"Example 1": | |
$ref: "#/components/examples/cancellationListExample" | |
OK_200_AccountDetails: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/accountDetails" | |
examples: | |
"Regular Account": | |
$ref: "#/components/examples/accountDetailsRegularAccount" | |
"Multicurrency Account": | |
$ref: "#/components/examples/accountDetailsMulticurrencyAccount" | |
OK_200_TransactionDetails: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/transactionDetails" | |
examples: | |
Example: | |
$ref: "#/components/examples/transactionDetailsExample" | |
OK_200_Balances: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/readBalanceResponse-200" | |
examples: | |
"Example 1: Regular Account": | |
$ref: "#/components/examples/balancesExample1_RegularAccount" | |
"Example 2: Multicurrency Account": | |
$ref: "#/components/examples/balancesExample2_MulticurrencyAcount" | |
OK_200_Transactions: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/transactionsResponse-200_json" | |
examples: | |
"Example 1": | |
$ref: "#/components/examples/transactionsExample1_RegularAccount_json" | |
"Example 2": | |
$ref: "#/components/examples/transactionsExample2_Download_json" | |
"Example 3": | |
$ref: "#/components/examples/transactionsExample3_MulticurrencyAccount_json" | |
application/xml: | |
schema: | |
description: | |
Body of the XML response for a successful read transaction list request. | |
The body has the structure of a either a camt.052 or camt.053 message. | |
The camt.052 may include pending payments which are not yet finally booked. | |
The ASPSP will decide on the format due to the chosen parameters, | |
specifically on the chosen dates relative to the time of the request. | |
In addition the ASPSP might offer camt.054x structure e.g. in a corporate setting. | |
oneOf: | |
- $ref: "#/components/schemas/camt.052" | |
- $ref: "#/components/schemas/camt.053" | |
- $ref: "#/components/schemas/camt.054" | |
examples: | |
"Example: camt.052": | |
$ref: "#/components/examples/camt.052Example" | |
"Example: camt.053": | |
$ref: "#/components/examples/camt.053Example" | |
"Example: camt.054": | |
$ref: "#/components/examples/camt.054Example" | |
application/text: | |
schema: | |
description: | |
Body of the Text response for a successful read transaction list request. | |
The body has the structure of a MT94x message. | |
The response body consists of an MT940 or MT942 format in a text structure. | |
The MT942 may include pending payments which are not yet finally booked. | |
The ASPSP will decide on the format due to the chosen parameters, | |
specifically on the chosen dates relative to the time of the request. | |
oneOf: | |
- $ref: "#/components/schemas/mt940" | |
- $ref: "#/components/schemas/mt942" | |
examples: | |
"Example: MT940": | |
$ref: "#/components/examples/mt940Example" | |
"Example: MT942": | |
$ref: "#/components/examples/mt942Example" | |
OK_200_ConsentInformation: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/consentInformationResponse-200_json" | |
examples: | |
Example: | |
$ref: "#/components/examples/consentsInformationResponseExample" | |
OK_200_ConsentsStatus: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/consentStatusResponse-200" | |
examples: | |
Example: | |
$ref: "#/components/examples/consentStatusResponseExample1" | |
OK_200_UpdatePsuData: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
ASPSP-SCA-Approach: | |
$ref: "#/components/headers/ASPSP-SCA-Approach" | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- $ref: "#/components/schemas/updatePsuIdenticationResponse" #Update PSU Identification | |
- $ref: "#/components/schemas/updatePsuAuthenticationResponse" #Update PSU Authentication | |
- $ref: "#/components/schemas/selectPsuAuthenticationMethodResponse" #Select Authentication Method | |
- $ref: "#/components/schemas/scaStatusResponse" #Transaction Authorisation | |
examples: | |
"Update PSU Identification - Payment Initiation (Decoupled Approach)": | |
$ref: "#/components/examples/updatePsuIdentificationResponseExample_Decoupled_payments" | |
"Update PSU Authentication - Payment Initiation (Embedded Approach)": | |
$ref: "#/components/examples/updatePsuAuthenticationResponseExample_Embedded_payments" | |
"Select PSU Authentication - Payment Initiation Method (Embedded Approach)": | |
$ref: "#/components/examples/selectPsuAuthenticationMethodResponseExample_Embedded_payments" | |
"Transaction Authorisation (Embedded Approach)": | |
$ref: "#/components/examples/transactionAuthorisationResponseExample" | |
#TODO Add further examples Update PSU Data for different endpoints | |
OK_200_GetSigningBasket: | |
description: OK | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/signingBasketResponse-200" | |
examples: | |
Example: | |
$ref: "#/components/examples/getSigningBasketResponseExample1" | |
CREATED_201_PaymentInitiation: | |
description: CREATED | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
Location: | |
$ref: "#/components/headers/Location" | |
ASPSP-SCA-Approach: | |
$ref: "#/components/headers/ASPSP-SCA-Approach" | |
content: | |
application/json: | |
schema: | |
oneOf: | |
- $ref: "#/components/schemas/paymentInitationRequestResponse-201" | |
- $ref: "#/components/schemas/paymentInitationRequestMultiLevelScaResponse-201" | |
examples: | |
"Response in case of a redirect with an implicitly created authorisation sub-resource": | |
$ref: "#/components/examples/paymentInitiationExample_json_Redirect" | |
"Response in case of a redirect where an explicit authorisation start is needed": | |
$ref: "#/components/examples/paymentInitiationExample_json__RedirectExplicitAuthorisation" | |
"Response in case of an OAuth2 SCA approach approach with implicitly creating an authorisation sub-resource": | |
$ref: "#/components/examples/paymentInitiationExample_json_OAuth2" | |
"Response in case of the decoupled approach with explicit start of authorisation needed (will be done with the update PSU identification function)": | |
$ref: "#/components/examples/paymentInitiationExample_json_Decoupled" | |
"Response in case of the embedded approach with explicit start of authorisation": | |
$ref: "#/components/examples/paymentInitiationExample_json_Embedded" | |
#TODO Add Example for Multilevel SCA Response | |
OK_200_ConfirmationOfFunds: | |
description: OK | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
description: | | |
Equals "true" if sufficient funds are available at the time of the request, | |
"false" otherwise. | |
type: object | |
required: | |
- fundsAvailable | |
properties: | |
fundsAvailable: | |
type: boolean | |
examples: | |
"Example": | |
$ref: "#/components/examples/confirmationOfFundsResponseExample" | |
CREATED_201_SigningBasket: | |
description: Created | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
ASPSP-SCA-Approach: | |
$ref: "#/components/headers/ASPSP-SCA-Approach" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/signingBasketResponse-201" | |
examples: | |
"Response (always with explicit authorization start)": | |
$ref: "#/components/examples/createSigningBasketResponseExample1" | |
CREATED_201_StartScaProcess: | |
description: Created | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
ASPSP-SCA-Approach: | |
$ref: "#/components/headers/ASPSP-SCA-Approach" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/startScaprocessResponse" | |
examples: | |
"Example 1: payments - Decoupled Approach": | |
$ref: "#/components/examples/startScaProcessResponseExample1" | |
#TODO Add further examples for startScaprocessResponse | |
CREATED_201_Consents: | |
description: Created | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
ASPSP-SCA-Approach: | |
$ref: "#/components/headers/ASPSP-SCA-Approach" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/consentsResponse-201" | |
examples: | |
"Response in case of a redirect": | |
$ref: "#/components/examples/consentResponseExample1a_Redirect" | |
"Response in case of a redirect with a dedicated start of the authorisation process": | |
$ref: "#/components/examples/consentResponseExample1b_Redirect" | |
"Response in case of the OAuth2 approach with an implicit generated authorisation resource": | |
$ref: "#/components/examples/consentResponseExample2_OAuth2" | |
"Response in case of the decoupled approach": | |
$ref: "#/components/examples/consentResponseExample3_Decoupled" | |
"Response in case of the embedded approach": | |
$ref: "#/components/examples/consentResponseExample4_Embedded" | |
RECEIVED_202_PaymentInitiationCancel: | |
description: Received | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/paymentInitiationCancelResponse-200_202" | |
examples: | |
Example: | |
$ref: "#/components/examples/paymentInitiationCancelResponse-202" | |
NO_CONTENT_204_Consents: | |
description: No Content | |
headers: | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
#NO RESPONSE BODY | |
##################################################### | |
# Negative Responses | |
##################################################### | |
BAD_REQUEST_400: | |
description: Bad Request | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages400" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "FORMAT_ERROR", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
UNAUTHORIZED_401: | |
description: Unauthorized | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages401" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "CERTIFICATE_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
FORBIDDEN_403: | |
description: Forbidden | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages403" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "SERVICE_BLOCKED", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
NOT_FOUND_404: | |
description: Not found | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages404" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "PRODUCT_UNKNOWN", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
METHOD_NOT_ALLOWED_405: | |
description: Method Not Allowed | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages405" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "SERVICE_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
NOT_ACCEPTABLE_406: | |
description: Not Acceptable | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages406" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "REQUESTED_FORMATS_INVALID", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
REQUEST_TIMEOUT_408: | |
description: Request Timeout | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
#No TPP-Messages defined | |
#NO RESPONSE BODY | |
UNSUPPORTED_MEDIA_TYPE_415: | |
description: Unsupported Media Type | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
#No TPP-Messages defined | |
#NO RESPONSE BODY | |
TOO_MANY_REQUESTS_429: | |
description: Too Many Requests | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/tppMessages429" | |
example: | |
{ "tppMessages": [{ | |
"category": "ERROR", | |
"code": "ACCESS_EXCEEDED", | |
"text": "additional text information of the ASPSP up to 512 characters" | |
}] | |
} | |
INTERNAL_SERVER_ERROR_500: | |
description: Internal Server Error | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
#No TPP-Messages defined | |
#NO RESPONSE BODY | |
SERVICE_UNAVAILABLE_503: | |
description: Service Unavailable | |
headers: | |
Location: | |
$ref: "#/components/headers/Location" | |
X-Request-ID: | |
$ref: "#/components/headers/X-Request-ID" | |
#No TPP-Messages defined | |
#NO RESPONSE BODY | |
examples: | |
##################################################### | |
# Predefined Examples | |
##################################################### | |
ibanExampleDe_01: | |
value: "DE02100100109307118603" | |
ibanExampleDe_02: | |
value: "DE23100120020123456789" | |
ibanExampleDe_03: | |
value: "DE40100100103307118608" | |
ibanExampleDe_04: | |
value: "DE67100100101306118605" | |
ibanExampleDe_05: | |
value: "DE87200500001234567890" | |
ibanExampleFr_01: | |
value: "FR7612345987650123456789014" | |
ibanExampleNl_01: | |
value: "NL76RABO0359400371" | |
ibanExampleSe_01: | |
value: "SE9412309876543211234567" | |
maskedPanExample: | |
value: "123456xxxxxx1234" | |
uuidExample: | |
value: "99391c7e-ad88-49ec-a2ad-99ddcb1f7721" | |
pain.001.001_SCT_singleTransaction: | |
description: A pain.001.001.03 message in case of SCT | |
value: > | |
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"> | |
<CstmrCdtTrfInitn> | |
<GrpHdr> | |
<MsgId>MIPI-123456789RI-123456789</MsgId> | |
<CreDtTm>2017-02-14T20:23:34.000Z</CreDtTm> | |
<NbOfTxs>1</NbOfTxs> | |
<CtrlSum>123</CtrlSum> | |
<InitgPty> | |
<Nm>PaymentInitiator</Nm> | |
<Id><OrgId><Othr><Id>DE10000000012</Id> | |
<SchmeNm><Prptry>PISP</Prptry></SchmeNm></Othr></OrgId></Id> | |
</InitgPty> | |
</GrpHdr> | |
<PmtInf> | |
<PmtInfId>BIPI-123456789RI-123456789</PmtInfId> | |
<PmtMtd>TRF</PmtMtd> | |
<NbOfTxs>1</NbOfTxs> | |
<CtrlSum>123</CtrlSum> | |
<PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl></PmtTpInf> | |
<ReqdExctnDt>2017-02-15</ReqdExctnDt> | |
<Dbtr><Nm>PSU Name</Nm></Dbtr> | |
<DbtrAcct><Id><IBAN>DE87200500001234567890</IBAN></Id></DbtrAcct> | |
<ChrgBr>SLEV</ChrgBr> | |
<CdtTrfTxInf> | |
<PmtId><EndToEndId>RI-123456789</EndToEndId></PmtId> | |
<Amt><InstdAmt Ccy="EUR">123</InstdAmt></Amt> | |
<Cdtr><Nm>Merchant123</Nm></Cdtr> | |
<CdtrAcct><Id><IBAN> DE23100120020123456789</IBAN></Id></CdtrAcct> | |
<RmtInf><Ustrd>Ref Number Merchant-123456</Ustrd></RmtInf> | |
</CdtTrfTxInf> | |
</PmtInf> | |
</CstmrCdtTrfInitn> | |
</Document> | |
pain.002.001_SCT_singleTransaction: | |
description: A pain.002.001.03 message in case of SCT | |
value: > | |
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03"> | |
<CstmrPmtStsRpt> | |
<GrpHdr> | |
<MsgId>4572457256725689726906</MsgId> | |
<CreDtTm>2017-02-14T20:24:56.021Z</CreDtTm> | |
<DbtrAgt><FinInstnId><BIC>ABCDDEFF</BIC></FinInstnId></DbtrAgt> | |
<CdtrAgt><FinInstnId><BIC>DCBADEFF</BIC></FinInstnId></CdtrAgt> | |
</GrpHdr> | |
<OrgnlGrpInfAndSts> | |
<OrgnlMsgId>MIPI-123456789RI-123456789</OrgnlMsgId> | |
<OrgnlMsgNmId>pain.001.001.03</OrgnlMsgNmId> | |
<OrgnlCreDtTm>2017-02-14T20:23:34.000Z</OrgnlCreDtTm> | |
<OrgnlNbOfTxs>1</OrgnlNbOfTxs> | |
<OrgnlCtrlSum>123</OrgnlCtrlSum> | |
<GrpSts>ACCT</GrpSts> | |
</OrgnlGrpInfAndSts> | |
<OrgnlPmtInfAndSts> | |
<OrgnlPmtInfId>BIPI-123456789RI-123456789</OrgnlPmtInfId> | |
<OrgnlNbOfTxs>1</OrgnlNbOfTxs> | |
<OrgnlCtrlSum>123</OrgnlCtrlSum> | |
<PmtInfSts>ACCT</PmtInfSts> | |
</OrgnlPmtInfAndSts> | |
</CstmrPmtStsRpt> | |
</Document> | |
camt.052Example: | |
description: | | |
camt.052 XML message | |
value: | |
camt.052 example needed#TODO Add example camt.052 | |
camt.053Example: | |
description: | | |
camt.053 XML message | |
value: | |
camt.053 example needed#TODO Add example camt.053 | |
camt.054Example: | |
description: | | |
camt.054 XML message | |
value: | |
camt.054 example needed#TODO Add example camt.054 | |
mt940Example: | |
description: | | |
MT940 text message | |
value: | |
MT940 example needed#TODO Add example MT940 | |
mt942Example: | |
description: | | |
MT940 text message | |
value: | |
MT942 example needed#TODO Add example MT942 | |
paymentInitiationSctBody_payments_json: | |
value: | |
{ | |
"instructedAmount": {"currency": "EUR", "amount": "123.50"}, | |
"debtorAccount": {"iban": "DE40100100103307118608"}, | |
"creditorName": "Merchant123", | |
"creditorAccount": {"iban": "DE02100100109307118603"}, | |
"remittanceInformationUnstructured": "Ref Number Merchant" | |
} | |
paymentInitiationSctBody_periodic-payments_json: | |
value: | |
{ | |
"instructedAmount": {"currency": "EUR", "amount": "123"}, | |
"debtorAccount": {"iban": "DE40100100103307118608"}, | |
"creditorName": "Merchant123", | |
"creditorAccount": {"iban": "DE23100120020123456789"}, | |
"remittanceInformationUnstructured": "Ref Number Abonnement", | |
"startDate": "2018-03-01", | |
"executionRule": "latest", | |
"frequency": "monthly", | |
"dayOfExecution": "01" | |
} | |
paymentInitiationSctBody_bulk-payments_json: | |
value: | |
{ | |
"batchBookingPreferred": "true", | |
"debtorAccount": {"iban": "DE40100100103307118608"}, | |
"requestedExecutionDate": "2018-08-01", | |
"payments": | |
[ | |
{ | |
instructedAmount": {"currency": "EUR", "amount": "123.50"}, | |
"creditorName": "Merchant123", | |
"creditorAccount": {"iban": "DE02100100109307118603"}, | |
"remittanceInformationUnstructured": "Ref Number Merchant 1" | |
}, { | |
instructedAmount": {"currency": "EUR", "amount": "34.10"}, | |
"creditorName": "Merchant456", | |
"creditorAccount": {"iban": "FR7612345987650123456789014"}, | |
"remittanceInformationUnstructured": "Ref Number Merchant 2" | |
}] | |
} | |
accountDetailsRegularAccount: | |
description: Account Details for a regular Account | |
value: | |
{ | |
"account": | |
{ | |
"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "FR7612345987650123456789014", | |
"currency": "EUR", | |
"product": "Girokonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "Main Account", | |
"_links": | |
{ | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions"} | |
} | |
} | |
} | |
accountDetailsMulticurrencyAccount: | |
description: Account Details for a multicurrency Account | |
value: | |
{ | |
"account": | |
{ | |
"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "FR7612345987650123456789014", | |
"currency": "XXX", | |
"product": "Multicurrency Account", | |
"cashAccountType": "CurrentAccount", | |
"name": "Aggregation Account", | |
"_links": | |
{ | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions"} | |
} | |
} | |
} | |
accountListExample1: | |
summary: Account list Example 1 | |
description: Response in case of an example, where the consent has been given on two different IBANs | |
value: | |
{"accounts": | |
[ | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "DE2310010010123456789", | |
"currency": "EUR", | |
"product": "Girokonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "Main Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions"}} | |
}, | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e81g", | |
"iban": "DE2310010010123456788", | |
"currency": "USD", | |
"product": "Fremdw�hrungskonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "US Dollar Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances" }} | |
} | |
]} | |
accountListExample2: | |
summary: Account list Example 2 | |
description: | | |
Response in case of an example where consent on transactions and balances has been given to a multicurrency account which has two sub-accounts with currencies EUR and USD, and where the ASPSP is giving the data access only on sub-account level | |
value: | |
{"accounts": | |
[ | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "DE2310010010123456788", | |
"currency": "EUR", | |
"product": "Girokonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "Main Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions"}} | |
}, | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e81g", | |
"iban": "DE2310010010123456788", | |
"currency": "USD", | |
"product": "Fremdw�hrungskonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "US Dollar Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions"} } | |
} | |
]} | |
accountListExample3: | |
summary: Account list Example 3 | |
description: | | |
Account list response in case of an example where consent on balances and transactions has been given to | |
a multicurrency account which has two sub-accounts with currencies EUR and USD and where the ASPSP is giving | |
the data access on aggregation level and on sub-account level | |
value: | |
{"accounts": | |
[ | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "DE2310010010123456788", | |
"currency": "XXX", | |
"product": "Multi currency account", | |
"cashAccountType": "CurrentAccount", | |
"name": "Aggregation Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/transactions"}} | |
}, | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e80f", | |
"iban": "DE2310010010123456788", | |
"currency": "EUR", | |
"product": "Girokonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "Main Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions"}} | |
}, | |
{"resourceId": "3dc3d5b3-7023-4848-9853-f5400a64e81g", | |
"iban": "DE2310010010123456788", | |
"currency": "USD", | |
"product": "Fremdw�hrungskonto", | |
"cashAccountType": "CurrentAccount", | |
"name": "US Dollar Account", | |
"_links": { | |
"balances": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances"}, | |
"transactions": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions"} } | |
} | |
]} | |
startScaProcessResponseExample1: | |
value: | |
{ | |
"scaStatus": "received", | |
"psuMessage": "Please use your BankApp for transaction Authorisation.", | |
"_links": | |
{ | |
"scaStatus": {"href":"/v1/payments/qwer3456tzui7890/authorisations/123auth456"} | |
} | |
} | |
signingBasketExample: | |
description: "JSON Body of a signing basket request" | |
value: | |
{ | |
"paymentIds": ["123qwert456789", "12345qwert7899"] | |
} | |
createSigningBasketResponseExample1: | |
description: | |
Response (always with explicit authorisation start) | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"basketId": "1234-basket-567", | |
"_links": | |
{ | |
"self": {"href": "/v1/signing-baskets/1234-basket-567"}, | |
"status": {"href": "/v1/signing-baskets/1234-basket-567/status"}, | |
"startAuthorisation": {"href": "/v1/signing-baskets/1234-basket-567/authorisations"} | |
} | |
} | |
getSigningBasketResponseExample1: | |
value: | |
{ | |
"payments": ["1234pay567","1234pay568","1234pay888"], | |
"transactionStatus": "ACTC" | |
} | |
consentsExample_DedicatedAccounts: | |
description: Consent request on dedicated accounts | |
value: | |
{ | |
"access": | |
{ | |
"balances": [ | |
{ "iban": "DE40100100103307118608" }, | |
{ "iban": "DE02100100109307118603", | |
"currency": "USD" | |
}, | |
{ "iban": "DE67100100101306118605" } | |
], | |
"transactions": [ | |
{ "iban": "DE40100100103307118608" }, | |
{ "maskedPan": "123456xxxxxx1234" } | |
] | |
}, | |
"recurringIndicator": "true", | |
"validUntil": "2017-11-01", | |
"frequencyPerDay": "4" | |
} | |
consentsExample_AccountList: | |
description: Consent on Account List of Available Accounts | |
value: | |
{"access": | |
{"availableAccounts": "allAccounts"}, | |
"recurringIndicator": "false", | |
"validUntil": "2017-08-06", | |
"frequencyPerDay": "1" | |
} | |
consentsExample_without_Accounts: | |
description: Consent request on account list or without indication of accounts | |
value: | |
{"access": | |
{ | |
"balances": [], | |
"transactions": [] | |
}, | |
"recurringIndicator": "true", | |
"validUntil": "2017-11-01", | |
"frequencyPerDay": "4" | |
} | |
updatePsuAuthenticationExample_Embedded: | |
description: Update PSU Authentication request body for the embedded approach. | |
value: | |
{ | |
"psuData": {"password": "start12"} | |
} | |
selectPsuAuthenticationMethodExample_Embedded: | |
description: Select PSU Authentication Method request body for the embedded approach. | |
value: | |
{ | |
authenticationMethodId: "myAuthenticationID" | |
} | |
transactionAuthorisationExample_Embedded: | |
description: Transaction Authorisation request body for the embedded approach. | |
value: | |
{ | |
"scaAuthenticationData": "123456" | |
} | |
consentsInformationResponseExample: | |
description: Consent request on account list or without indication of accounts | |
value: | |
{ | |
"access": { | |
"balances": [ | |
{"iban": "DE2310010010123456789"} | |
], | |
"transactions": | |
[ | |
{"iban": "DE2310010010123456789"}, | |
{"pan": "123456xxxxxx3457"} | |
] | |
}, | |
"recurringIndicator": "true", | |
"validUntil": "2017-11-01", | |
"frequencyPerDay": "4", | |
"consentStatus": "valid", | |
"_links": {"account": {"href": "/v1/accounts"}} | |
} | |
consentResponseExample1a_Redirect: | |
description: Consent request Response in case of a redirect | |
value: | |
{ | |
"consentStatus": "received", | |
"consentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"scaRedirect": {"href": "https://www.testbank.com/authentication/1234-wertiq-983"}, | |
"status": {"href": "/v1/consents/1234-wertiq-983/status"}, | |
"scaStatus": {"href": "v1/consents/1234-wertiq-983/authorisations/123auth567"} | |
} | |
} | |
consentResponseExample1b_Redirect: | |
description: Consent request Response in case of a redirect with a dedicated start of the authorisation process | |
value: | |
{ | |
"consentStatus": "received", | |
"consentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"startAuthorisation": {"href": "v1/consents/1234-wertiq-983/authorisations"} | |
} | |
} | |
consentResponseExample2_OAuth2: | |
description: Response in case of the OAuth2 approach with an implicit generated authorisation resource | |
value: | |
{ | |
"consentStatus": "received", | |
"consentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"self": {"href": "/v1/consents/1234-wertiq-983"}, | |
"scaStatus": {"href": "v1/consents/1234-wertiq-983/authorisations/123auth567"}, | |
"scaOAuth": {"href": "https://www.testbank.com/oauth/.well-known/oauth-authorization-server"} | |
} | |
} | |
consentResponseExample3_Decoupled: | |
description: Response in case of the decoupled approach | |
value: | |
{ | |
"consentStatus": "received", | |
"consentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"startAuthorisationWithPsuIdentification": {"href": "/v1/consents/1234-wertiq-983/authorisations"} | |
} | |
} | |
consentResponseExample4_Embedded: | |
description: Response in case of the embedded approach | |
value: | |
{ | |
"consentStatus": "received", | |
"consentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"startAuthorisationWithPsuAuthentication": {"href": "/v1/consents/1234-wertiq-983/authorisations"} | |
} | |
} | |
consentStatusResponseExample1: | |
description: Response for a consent status request. | |
value: | |
{ | |
"consentStatus": "valid", | |
} | |
paymentInitiationExample_json_Redirect: | |
description: "Response in case of a redirect with an implicitly created authorisation sub-resource" | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"paymentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"scaRedirect": {"href": "https://www.testbank.com/asdfasdfasdf"}, | |
"self": {"href": "/v1/payments/sepa-credit-transfers/1234-wertiq-983"}, | |
"status": {"href": "/v1/payments/1234-wertiq-983/status"}, | |
"scaStatus": {"href": "/v1/payments/1234-wertiq-983/authorisations/123auth456"} | |
} | |
} | |
paymentInitiationExample_json__RedirectExplicitAuthorisation: | |
description: "Response in case of a redirect with an explicit authorisation start" | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"paymentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"self": {"href": "/v1/payments/1234-wertiq-983"}, | |
"status": {"href": "/v1/payments/1234-wertiq-983/status"}, | |
"startAuthorisation": {"href": "/v1/payments1234-wertiq-983/authorisations"} | |
} | |
} | |
paymentInitiationExample_json_OAuth2: | |
description: "Response in case of an OAuth2 SCA approach approach with implicitly creating an authorisation sub-resource" | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"paymentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"scaOAuth": {"href": "https://www.testbank.com/oauth/.well-known/oauth-authorization-server"}, | |
"self": {"href": "/v1/payments/1234-wertiq-983"}, | |
"status": {"href": "/v1/payments/1234-wertiq-983/status"}, | |
"scaStatus": {"href": "/v1/payments/1234-wertiq-983/authorisations/123auth456"} | |
} | |
} | |
paymentInitiationExample_json_Decoupled: | |
description: "Response in case of the decoupled approach with explicit start of authorisation needed" | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"paymentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"startAuthorisationWithPsuIdentification": {"href":"/v1/payments/1234-wertiq-983/authorisations"}, | |
"self": {"href": "/v1/payments/1234-wertiq-983"} | |
} | |
} | |
paymentInitiationExample_json_Embedded: | |
description: "Response in case of the embedded approach with explicit start of authorisation" | |
value: | |
{ | |
"transactionStatus": "RCVD", | |
"paymentId": "1234-wertiq-983", | |
"_links": | |
{ | |
"startAuthenticationWithPsuAuthentication": {"href": "/v1/payments/1234-wertiq-983/authorisations"}, | |
"self": {"href": "/v1/payments/1234-wertiq-983"} | |
} | |
} | |
paymentInitiationStatusResponse_json_Simple: | |
value: | |
{ | |
"transactionStatus": "ACCP" | |
} | |
paymentInitiationCancelResponse-200_202: | |
value: | |
{ | |
"transactionStatus": "CANC" | |
} | |
paymentInitiationCancelResponse-202: | |
value: | |
{ | |
"transactionStatus": "ACTC", | |
"_links": | |
{ | |
"self": {"href": "/v1/payments/123456scheduled789"}, | |
"status": {"href": "/v1/payments/123456scheduled789/status"}, | |
"startAuthorisation": {"href": "/v1/payments/123456scheduled789/cancellation-authorisations"} | |
} | |
} | |
paymentInitiationStatusResponse_json_Extended: | |
value: | | |
{ | |
"transactionStatus": "ACCP", | |
"scaStatus": "Some SCA Status" | |
} | |
updatePsuIdentificationResponseExample_Decoupled_payments: | |
description: Response of an Update PSU Identification for a payment initiation request for the decoupled approach. | |
value: | |
{ | |
"scatransactionStatus": "psuIdentified", | |
"psuMessage": "Please use your BankApp for transaction Authorisation.", | |
"_links": | |
{ | |
"scaStatus": {"href":"/v1/payments/qwer3456tzui7890/authorisations/123auth456"} | |
} | |
} | |
updatePsuAuthenticationResponseExample_Embedded_payments: | |
description: Response of an Update PSU Authentication for a consent request for the embedded approach. | |
value: | |
{ | |
"scaStatus": "psuAuthenticated", | |
_links:{ | |
"authoriseTransaction": {"href": "/v1/payments/1234-wertiq-983/authorisations/123auth456"} | |
} | |
} | |
selectPsuAuthenticationMethodResponseExample_Embedded_payments: | |
description: Response of a Select PSU Authentication Method payment initiation request for the embedded approach | |
value: | |
{ | |
"scaStatus": "scaMethodSelected", | |
"chosenScaMethod": { | |
"authenticationType": "SMS_OTP", | |
"authenticationMethodId": "myAuthenticationID"}, | |
"challengeData": { | |
"otpMaxLength": "6", | |
"otpFormat": "integer"}, | |
"_links": { | |
"authoriseTransaction": {"href": "/v1/payments/1234-wertiq-983/authorisations/123auth456"} | |
} | |
} | |
transactionAuthorisationResponseExample: | |
description: Response of a Transaction Authorisation request for the embedded approach. | |
value: | |
{ | |
"scaStatus": "finalised" | |
} | |
confirmationOfFundsExample: | |
description: Request body for a confirmation of funds. | |
value: | |
{ | |
"cardNumber": "12345678901234", | |
"account": {"iban": "DE23100120020123456789"}, | |
"instructedAmount": {"currency": "EUR", "amount": "123"} | |
} | |
confirmationOfFundsResponseExample: | |
description: Response for a confirmation of funds request. | |
value: | |
{ | |
"fundsAvailable": "true" | |
} | |
balancesExample1_RegularAccount: | |
description: Response for a read balance request in case of a regular account. | |
value: | |
{ | |
"account": {"iban": "FR7612345987650123456789014"}, | |
"balances": | |
[{"balanceType": "closingBooked", | |
"balanceAmount": {"currency": "EUR", "amount": "500.00"}, | |
"referenceDate": "2017-10-25" | |
}, | |
{"balanceType": "expected", | |
"balanceAmount": {"currency": "EUR","amount": "900.00"}, | |
"lastChangeDateTime": "2017-10-25T15:30:35.035Z" | |
}] | |
} | |
balancesExample2_MulticurrencyAcount: | |
description: | | |
Response in case of a multicurrency account with one account in EUR, | |
one in USD, where the ASPSP has delivered a link to the balance endpoint relative to the aggregated | |
multicurrency account (aggregation level). | |
value: | |
{ | |
"balances": | |
[{"balanceType": "closingBooked", | |
"balanceAmount": {"currency": "EUR", "amount": "500.00"}, | |
"referenceDate": "2017-10-25" | |
}, | |
{"balanceType": "expected", | |
"balanceAmount": {"currency": "EUR", "amount": "900.00"}, | |
"lastChangeDateTime": "2017-10-25T15:30:35.035Z" | |
}, | |
{"balanceType": "closingBooked", | |
"balanceAmount": {"currency": "USD", "amount": "350.00"}, | |
"referenceDate": "2017-10-25" | |
}, | |
{"balanceType": "expected", | |
"balanceAmount": {"currency": "USD", "amount": "350.00"}, | |
"lastChangeDateTime": "2017-10-24T14:30:21Z" | |
}] | |
} | |
transactionsExample1_RegularAccount_json: | |
description: Response in JSON format for an access on a regular account | |
value: | |
{ | |
"account": {"iban": "DE2310010010123456788" }, | |
"transactions": | |
{ | |
"booked": | |
[{ | |
"transactionId": "1234567", | |
"creditorName": "John Miles", | |
"creditorAccount": {"iban": "DE67100100101306118605"}, | |
"transactionAmount": {"currency": "EUR", "amount": "256.67"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 1" | |
},{ | |
"transactionId": "1234568", | |
"debtorName": "Paul Simpson", | |
"debtorAccount": {"iban": "NL76RABO0359400371"}, | |
"transactionAmount": {"currency": "EUR", "amount": "343.01"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 2" | |
}], | |
"pending": | |
[{ | |
"transactionId": "1234569", | |
"creditorName": "Claude Renault", | |
"creditorAccount": {"iban": "FR7612345987650123456789014"}, | |
"transactionAmount": {"currency": "EUR", "amount": "-100.03"}, | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 3" | |
}], | |
"_links": {"account": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f"}} | |
} | |
} | |
transactionsExample2_Download_json: | |
description: Response in case of huge data amount as a download. | |
value: | |
{ | |
"_links": {"download": {"href": "www.test-api.com/xs2a/v1/accounts/12345678999/transactions/download/"}} | |
} | |
transactionsExample3_MulticurrencyAccount_json: | |
description: Response in JSON format for an access on a multicurrency account on aggregation level | |
value: | |
{ | |
"account": {"iban": "DE40100100103307118608"}, | |
"transactions": | |
{"booked": | |
[{ | |
"transactionId": "1234567", | |
"creditorName": "John Miles", | |
"creditorAccount": {"iban": "DE67100100101306118605"}, | |
"transactionAmount": {"currency": "EUR", "amount": "-256.67"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 1" | |
},{ | |
"transactionId": "1234568", | |
"debtorName": "Paul Simpson", | |
"debtorAccount": {"iban": "NL76RABO0359400371"}, | |
"transactionAmount": {"currency": "EUR", "amount": "343.01"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 2" | |
},{ | |
"transactionId": "1234569", | |
"debtorName": "Pepe Martin", | |
"debtorAccount": {"iban": "SE9412309876543211234567"}, | |
"transactionAmount": {"currency": "USD", "amount": "100"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 3" | |
}], | |
"pending": | |
[{ | |
"transactionId": "1234570", | |
"creditorName": "Claude Renault", | |
"creditorAccount": {"iban": "FR7612345987650123456789014"}, | |
"transactionAmount": {"currency": "EUR", "amount": "-100.03"}, | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 4" | |
}], | |
"_links": {"account": {"href": "/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f"}} | |
} | |
} | |
transactionDetailsExample: | |
description: Example for transaction details | |
value: | |
{ | |
"transactionsDetails": | |
{ | |
"transactionId": "1234567", | |
"creditorName": "John Miles", | |
"creditorAccount": {"iban": "DE67100100101306118605"}, | |
"mandateId": "Mandate-2018-04-20-1234", | |
"transactionAmount": {"currency": "EUR", "amount": "-256.67"}, | |
"bookingDate": "2017-10-25", | |
"valueDate": "2017-10-26", | |
"remittanceInformationUnstructured": "Example 1", | |
"bankTransactionCode": "PMNT-RCVD-ESDD", | |
} | |
} | |
authorisationListExample: | |
value: | |
{ | |
"authorisationIds": ["123auth456"] | |
} | |
cancellationListExample: | |
value: | |
{ | |
"cancellationIds": ["123auth456"] | |
} | |
security: | |
##################################################### | |
# Global security options | |
##################################################### | |
- {} | |
tags: | |
##################################################### | |
# Predefined Tags to Group Methods | |
##################################################### | |
- name: Payment Initiation Service (PIS) | |
description: | | |
The Decription for Payment Initiation Service (PIS) offers the following services: | |
* Initiation and update of a payment request | |
* Status information of a payment | |
- name: Confirmation of Funds Service | |
description: | | |
Confirmation of Funds Service returns a confirmation of funds request at the ASPSP. | |
- name: Account Information Service (AIS) | |
description: | | |
The Account Information Service (AIS) offers the following services | |
* Transaction reports for a given account including balances if applicable. | |
* Balances of a given account, | |
* A list of available accounts, | |
* Account details of a given account or of the list of all accessible accounts relative to a granted consent | |
- name: Signing Baskets | |
description: | | |
Signing basket mathods are used for authorising several transactions with one SCA method. | |
- name: Common AIS and PIS Services | |
description: | | |
Processes on starting authorisations, update PSU identification or PSU authentication data and explicit | |
authorisation of transactions by using SCA are very similar in PIS and AIS services. | |
The API calls supporting these processes are described in the following independently from the service/endpoint. | |
For reasons of clarity, the endpoints are defined always for the Payment Initiation Service, the Payment Cancellation, | |
the Account Information Service (Consents), and Signing Baskets separately. | |
These processes usually are used following a hyperlink of the ASPSP. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi Aleksandar,
Were you able to generate the code using a swagger generator for this yaml file? I have used the original yaml provided by the Berlin group and was not able to properly generate the code. I used io.swagger.codegen.v3 maven plugin for this. Can you please let me know if you were able to generate the code without errors.
Thank you.
Best Regards.