Summary
The NextGenPSD2 Framework Version 1.3.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. Furthermore this API definition does not differ between methods which are mandatory, conditional, or optional Therefore 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) always 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 convenience 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 omit 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
Paths
/v1/{payment-service}/{payment-product}
initiatePayment
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.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
ID of the request, unique to the call, as determined by the initiating party.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
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 preceding AIS service in the same session.
Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.
Might be mandated in the ASPSP's documentation. Only used in a corporate context.
Might be mandated in the ASPSP's documentation. Only used in a corporate context.
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.
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.
{
"enum": [
true,
false
]
}
URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
Mandated for the Redirect 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.
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.
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.
{
"enum": [
true,
false
]
}
If it equals "true" then the TPP prefers a rejection of the payment initiation in case the ASPSP is providing an integrated confirmation of funds request an the result of this is that not sufficient funds are available.
If it equals "false" then the TPP prefers that the ASPSP is dealing with the payment initiation like in the ASPSPs online channel, potentially waiting for a certain time period for funds to arrive to initiate the payment.
This parameter might be ignored by the ASPSP.
{
"enum": [
true,
false
]
}
URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent. This header field may by ignored by the ASPSP.
The string has the form
status=X1, ..., Xn
where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated. The usage of the constants supports the of following semantics:
SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.
PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP. LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.
This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
The body part 2 of a periodic payment initation request containes the execution related informations of the periodic payment.
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}
getPaymentInformation
Returns the content of a payment object
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
OK
{
"schema": {
"type": "object"
},
"headers": {
"X-Request-ID": {
"type": "string",
"default": "99391c7e-ad88-49ec-a2ad-99ddcb1f7721"
}
}
}
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
cancelPayment
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.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
No Content
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}/status
getPaymentInitiationStatus
Check the transaction status of a payment initiation.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}/authorisations
getPaymentInitiationAuthorisation
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.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}
getPaymentInitiationScaStatus
This method returns the SCA status of a payment initiation's authorisation sub-resource.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
Resource identification of the related SCA.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations
startPaymentInitiationCancellationAuthorisation
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 preceding 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 preceding 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.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
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 preceding AIS service in the same session.
Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.
Might be mandated in the ASPSP's documentation. Only used in a corporate context.
Might be mandated in the ASPSP's documentation. Only used in a corporate context.
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.
{
"enum": [
true,
false
]
}
URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
Mandated for the Redirect 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.
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.
URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent. This header field may by ignored by the ASPSP.
The string has the form
status=X1, ..., Xn
where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated. The usage of the constants supports the of following semantics:
SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.
PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP. LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.
This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
Created
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
getPaymentInitiationCancellationAuthorisationInformation
Retrieve a list of all created cancellation authorisation sub-resources.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
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.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}"
}
OK
{
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"headers": {
"X-Request-ID": {
"type": "string",
"default": "99391c7e-ad88-49ec-a2ad-99ddcb1f7721"
}
}
}
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Service Unavailable
Internal Server Error
/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}
getPaymentCancellationScaStatus
This method returns the SCA status of a payment initiation's authorisation sub-resource.
ApiSandboxDev3
Payment service:
Possible values are:
- payments
- bulk-payments
- periodic-payments
{
"enum": [
"payments",
"bulk-payments",
"periodic-payments"
]
}
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.
{
"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"
]
}
Resource identification of the generated payment initiation resource.
Identification for cancellation resource.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the "Signature" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.