Paths
/signing-baskets
Create a signing basket resource
Create a signing basket resource for authorising several transactions with one SCA method.
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.
Client ID of the PSU in the ASPSP client interface.
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.
The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
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.
URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
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.
If it equals "true", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket.
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
Internal Server Error
Service Unavailable
/signing-baskets/{basketId}
Get Payment Information
Returns the content of a payment object.
Resource identification of the generated basket 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
Unsuported Media Type
Too Many Requests
Internal Server Error
Service Unavailable
deleteSigningBasket
Delete the signing basket structure as long as no (partial) authorisation has yet been applied. The undlerying transactions are not affected by this deletion.
Remark: The signing basket as such is not deletable after a first (partial) authorisation has been applied. Nevertheless, single transactions might be cancelled on an individual basis on the XS2A interface.
This identification of the corresponding signing basket object.
No Content
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsuported Media Type
Too Many Requests
Internal Server Error
Service Unavailable
/signing-baskets/{basketId}/status
Read the status of the signing basket
Returns the status of a signing basket object.
Resource identification of the generated basket 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.
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
Unsuported Media Type
Too Many Requests
Internal Server Error
Service Unavailable
/signing-baskets/{basketId}/authorisations
startSigningBasketAuthorisation
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 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'
- 'startAuthorisationWithEncryptedPsuAuthentication'
- '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.
This identification of the corresponding signing basket object.
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.
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}"
}
{
"schema": {
"type": "object"
}
}
Created
Bad Request
Unauthorized
Forbidden
Not found
Method Not Allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too Many Requests
Internal Server Error
Service Unavailable
getSigningBasketAuthorisation
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.
This identification of the corresponding signing basket object.
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
Internal Server Error
Service Unavailable
/signing-baskets/{basketId}/authorisations/{authorisationId}
getSigningBasketScaStatus
This method returns the SCA status of a signing basket's authorisation sub-resource.
This identification of the corresponding signing basket object.
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
Internal Server Error
Service Unavailable
Definitions
Text to be displayed to the PSU
{
"type": "string",
"maxLength": 512
}
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.
* '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.
* 'startAuthorisationWithEncryptedPsuAuthentication':
The link to the authorisation end-point, where the authorisation sub-resource has
to be generated while uploading the encrypted 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": "#/definitions/hrefType"
},
"scaOAuth": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithAuthenticationMethodSelection": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithTransactionAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"self": {
"$ref": "#/definitions/hrefType"
},
"status": {
"$ref": "#/definitions/hrefType"
},
"scaStatus": {
"$ref": "#/definitions/hrefType"
},
"new-property-1": {
"$ref": "#/definitions/hrefType"
}
}
}
Resource identification of the generated signing basket resource.
{
"type": "string",
"example": "1234-basket-567"
}
The transaction status is filled with codes of the ISO 20022 data table.
- '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.
- 'RCVD': 'Received' - Payment initiation has been received by the receiving agent.
- 'RJCT': 'Rejected' - Payment initiation or individual transaction included in the payment initiation has been rejected.
{
"type": "string",
"enum": [
"ACSC",
"ACTC",
"ACWC",
"RCVD",
"RJCT"
],
"example": "RCVD"
}
{
"title": "BasketPaymentInitResponseList",
"type": "object",
"properties": {
"payments": {
"description": "",
"type": "array",
"items": {
"$ref": "#/definitions/paymentIdList"
}
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus_SBS"
}
},
"required": [
"payments"
]
}
{
"title": "transactionStatus",
"example": "ACCP",
"x-enum-elements": [
{
"name": "ACCP",
"description": "AcceptedCustomerProfile"
},
{
"name": "ACSC",
"description": "AcceptedSettlementCompleted"
},
{
"name": "ACSP",
"description": "AcceptedSettlementInProgress"
},
{
"name": "ACTC",
"description": "AcceptedTechnicalValidation"
},
{
"name": "ACWC",
"description": "AcceptedWithChange"
},
{
"name": "ACWP",
"description": "AcceptedWithoutPosting"
},
{
"name": "RCVD",
"description": "Received"
},
{
"name": "PDNG",
"description": "Pending"
},
{
"name": "PATC",
"description": "PartiallyAcceptedTechnical"
},
{
"name": "RJCT",
"description": "Rejected"
},
{
"name": "CANC",
"description": "Cancelled"
}
],
"type": "string",
"enum": [
"ACCP",
"ACSC",
"ACSP",
"ACTC",
"ACWC",
"ACWP",
"RCVD",
"PDNG",
"PATC",
"RJCT",
"CANC"
]
}
Body of the JSON response for a successful create signing basket request.
{
"type": "object",
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus_SBS"
},
"basketId": {
"$ref": "#/definitions/basketId"
},
"scaMethods": {
"$ref": "#/definitions/scaMethods"
},
"chosenScaMethod": {
"$ref": "#/definitions/chosenScaMethod"
},
"challengeData": {
"$ref": "#/definitions/challengeData"
},
"_links": {
"$ref": "#/definitions/_linksSigningBasket"
},
"psuMessage": {
"$ref": "#/definitions/psuMessageText"
},
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage2XX"
}
}
}
}
OK
{
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus_SBS"
}
}
}
JSON Body of a establish signing basket request. The body shall contain at least one entry.
{
"type": "object",
"properties": {
"paymentIds": {
"$ref": "#/definitions/paymentIdList"
},
"consentIds": {
"$ref": "#/definitions/consentIdList"
}
}
}
A list of paymentIds
{
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/paymentId",
"description": "Resource identification of the generated payment initiation resource.",
"type": "string",
"example": "1234-wertiq-983"
}
}
A list of consentIds
{
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/consentId",
"description": "ID of the corresponding consent object as returned by an Account Information Consent Request.",
"type": "string"
}
}
Resource identification of the generated payment initiation resource.
{
"type": "string",
"example": "1234-wertiq-983"
}
ID of the corresponding consent object as returned by an Account Information Consent Request.
{
"type": "string"
}
The transaction status is filled with codes of the ISO 20022 data table:
- 'ACCC': 'AcceptedSettlementCompleted' - Settlement on the creditor's account has been completed.
- '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: This code is still requested from ISO20022.
- 'ACFC': 'AcceptedFundsChecked' - Preceeding check of technical validation and customer profile was successful and an automatic funds check was positive . Remark: This code is still requested from ISO20022.
- 'PATC': 'PartiallyAcceptedTechnical' Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is still requested from ISO20022.
{
"title": "transactionStatus",
"example": "ACCC",
"type": "string",
"enum": [
"ACCC",
"ACCP",
"ACSC",
"ACSP",
"ACTC",
"ACWC",
"ACWP",
"RCVD",
"PDNG",
"RJCT",
"CANC",
"ACFC",
"PATC"
]
}
Authentication Object
{
"title": "authenticationObject",
"type": "object",
"properties": {
"authenticationType": {
"$ref": "#/definitions/authenticationType"
},
"authenticationVersion": {
"description": "Depending on the \"authenticationType\".\nThis version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.\nThis version can be referred to in the ASPSP?s documentation.",
"type": "string"
},
"authenticationMethodId": {
"description": "An identification provided by the ASPSP for the later identification of the authentication method selection.",
"example": "myAuthenticationID",
"type": "string",
"maxLength": 35
},
"name": {
"description": "This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP.\nAlternatively this could be a description provided by the ASPSP like \"SMS OTP on phone +49160 xxxxx 28\".\nThis name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.",
"example": "SMS OTP on phone +49160 xxxxx 28",
"type": "string"
},
"explanation": {
"description": "Detailed information about the SCA method for the PSU.",
"example": "Detailed information about the SCA method for the PSU.",
"type": "string"
}
},
"required": [
"authenticationType",
"authenticationMethodId"
]
}
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.
{
"title": "authenticationType",
"example": "SMS_OTP",
"type": "string",
"enum": [
"SMS_OTP",
"CHIP_OTP",
"PHOTO_OTP",
"PUSH_OTP"
]
}
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.
{
"title": "challengeData",
"type": "object",
"properties": {
"image": {
"description": "PNG data (max. 512 kilobyte) to be displayed to the PSU,\nBase64 encoding, cp. [RFC4648].\nThis attribute is used only, when PHOTO_OTP or CHIP_OTP\nis the selected SCA method.",
"type": "string"
},
"data": {
"description": "String challenge data",
"type": "string"
},
"imageLink": {
"description": "A link where the ASPSP will provides the challenge image for the TPP.",
"type": "string"
},
"otpMaxLength": {
"description": "The maximal length for the OTP to be typed in by the PSU.",
"type": "integer",
"format": "int32"
},
"otpFormat": {
"$ref": "#/definitions/OtpFormat"
},
"additionalInformation": {
"description": "Additional explanation for the PSU to explain\ne.g. fallback mechanism for the chosen SCA method.\nThe TPP is obliged to show this to the PSU.",
"type": "string"
}
}
}
Reference to an account by either
- IBAN, of a payment accounts, or
- BBAN, for payment accounts if there is no IBAN, or
- the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
- the Primary Account Number (PAN) of a card in a masked form, or
- an alias to access a payment account via a registered mobile phone number (MSISDN).
{
"title": "accountReference",
"type": "object",
"properties": {
"iban": {
"description": "IBAN of an account",
"example": "FR7612345987650123456789014",
"type": "string",
"pattern": "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"
},
"bban": {
"description": "Basic Bank Account Number (BBAN) Identifier\n\nThis data element can be used in the body of the Consent Request\n Message for retrieving Account access Consent from this Account. This\n data elements is used for payment Accounts which have no IBAN.\n ISO20022: Basic Bank Account Number (BBAN). \n \n Identifier used nationally by financial institutions, i.e., in individual countries, \n generally as part of a National Account Numbering Scheme(s), \n which uniquely identifies the account of a customer.",
"example": "BARC12345612345678",
"type": "string",
"pattern": "[a-zA-Z0-9]{1,30}"
},
"pan": {
"description": "Primary Account Number according to ISO/IEC 7812.",
"example": "5409050000000000",
"type": "string",
"maxLength": 35
},
"maskedPan": {
"description": "Masked Primary Account Number",
"example": "123456xxxxxx1234",
"type": "string",
"maxLength": 35
},
"msisdn": {
"description": "Mobile phone number.",
"example": "+49 170 1234567",
"type": "string",
"maxLength": 35
},
"currency": {
"description": "ISO 4217 Alpha 3 currency code",
"example": "EUR",
"type": "string",
"pattern": "[A-Z]{3}"
}
}
}
{
"title": "address",
"example": {
"street": "rue blue",
"buildingnNumber": "89",
"city": "Paris",
"postalCode": "75000",
"country": "FR"
},
"type": "object",
"properties": {
"street": {
"type": "string",
"maxLength": 70
},
"buildingNumber": {
"type": "string"
},
"city": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"country": {
"description": "ISO 3166 ALPHA2 country code",
"example": "SE",
"type": "string",
"pattern": "[A-Z]{2}"
}
},
"required": [
"country"
]
}
Charge Bearer. ChargeBearerType1Code from ISO20022
{
"type": "string",
"enum": [
"DEBT",
"CRED",
"SHAR",
"SLEV"
]
}
Creditor Agent Name
{
"type": "string",
"maxLength": 70,
"example": "Creditor Agent Name"
}
{
"title": "amount",
"example": {
"currency": "EUR",
"amount": "123"
},
"type": "object",
"properties": {
"currency": {
"description": "ISO 4217 Alpha 3 currency code",
"example": "EUR",
"type": "string",
"pattern": "[A-Z]{3}"
},
"amount": {
"description": "The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n\n**Example:**\nValid representations for EUR with up to two decimals are:\n\n * 1056\n * 5768.2\n * -1.50\n * 5877.78",
"example": "5877.78",
"type": "string",
"pattern": "-?[0-9]{1,14}(\\.[0-9]{1,3})?"
}
},
"required": [
"currency",
"amount"
]
}
The following codes from the "EventFrequency7Code" of ISO 20022 are supported.
- "Daily"
- "Weekly"
- "EveryTwoWeeks"
- "Monthly"
- "EveryTwoMonths"
- "Quarterly"
- "SemiAnnual"
- "Annual"
{
"title": "frequencyCode",
"example": "Daily",
"type": "string",
"enum": [
"Daily",
"Weekly",
"EveryTwoWeeks",
"Monthly",
"EveryTwoMonths",
"Quarterly",
"SemiAnnual",
"Annual"
]
}
Day of execution as string.
This string consists of up two characters. Leading zeroes are not allowed.
31 is ultimo of the month.
{
"title": "dayOfExecution",
"example": 1,
"type": "integer",
"format": "int32",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"31"
]
}
"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.
{
"title": "executionRule",
"example": "following",
"type": "string",
"enum": [
"following",
"preceeding"
]
}
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: '#/definitions/authenticationObject'
[]
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": "#/definitions/authenticationObject"
}
}
{
"title": "Remittance",
"properties": {
"reference": {
"description": "The actual reference.",
"type": "string",
"maxLength": 35,
"example": "The actual reference"
},
"referenceType": {
"description": "referenceType",
"type": "string",
"maxLength": 35,
"example": "referenceType"
},
"referenceIssuer": {
"description": "referenceIssuer",
"type": "string",
"maxLength": 35,
"example": "referenceIssuer"
}
}
}
Body for a SCT payment initation.
{
"title": "paymentInitiationSct_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"creditorAgentName": {
"$ref": "#/definitions/creditorAgentName"
},
"chargeBearer": {
"$ref": "#/definitions/chargeBearer"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body for a SCT INST payment initation.
{
"title": "paymentInitiationSctInst_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body for a TARGET-2 payment initation.
{
"title": "paymentInitiationTarget2_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body for a bulk SCT payment initation.
{
"title": "paymentInitiationSctBulkElement_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
}
},
"required": [
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body for a SCT INST payment initation.
{
"title": "paymentInitiationSctInstBulkElement_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
}
},
"required": [
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body for a bulk TARGET-2 payment initation.
{
"title": "paymentInitiationTarget2BulkElement_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
}
},
"required": [
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
JSON body for a cross-border payment initation.
{
"title": "paymentInitiationCrossBorderBulkElement_json",
"type": "object",
"properties": {
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
}
},
"required": [
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Generic JSON response body consistion of the corresponding 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": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
}
}
Body of the response for a successful cancel payment request.
{
"type": "object",
"required": [
"transactionStatus"
],
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
},
"scaMethods": {
"$ref": "#/definitions/scaMethods"
},
"chosenScaMethod": {
"$ref": "#/definitions/chosenScaMethod"
},
"challengeData": {
"$ref": "#/definitions/challengeData"
},
"_links": {
"$ref": "#/definitions/_linksPaymentInitiationCancel"
}
}
}
JSON Body for a periodic SCT payment initation.
{
"title": "periodicPaymentInitiationSct_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON Body for a periodic SCT INST payment initation.
{
"title": "periodicPaymentInitiationSctInst_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON Body for a periodic target-2 payment initation.
{
"title": "periodicPaymentInitiationTarget2_json",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON body for a periodic cross-border payment initation.
{
"title": "periodicPaymentInitiationCrossBorder_json",
"type": "object",
"properties": {
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
Generic JSON response body consistion of the corresponding periodic 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": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order."
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
}
}
JSON Body for a bulk SCT payment initation.
{
"title": "bulkPaymentInitiationSct_json",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for SCT payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationSctBulkElement_json"
}
}
},
"required": [
"debtorAccount",
"payments"
]
}
JSON Body for a bulk SCT INST payment initation.
{
"title": "bulkPaymentInitiationSctInst_json",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for SCT INST payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationSctInstBulkElement_json"
}
}
},
"required": [
"debtorAccount",
"payments"
]
}
JSON Body for a bulk TARGET-2 payment initation.
{
"title": "bulkPaymentInitiationTarget2_json",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for TARGET-2 payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationTarget2BulkElement_json"
}
}
},
"required": [
"debtorAccount",
"payments"
]
}
JSON body for a bulk cross-border payment initation.
{
"title": "bulkPaymentInitiationCrossBorder_json",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A List of JSON bodies for cross-border payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationCrossBorderBulkElement_json"
}
}
},
"required": [
"debtorAccount",
"payments"
]
}
Generic JSON response body consistion of the corresponding bulk payment initation JSON body together with an optional transaction status field.
{
"type": "object",
"required": [
"payments",
"debtorAccount"
],
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of generic JSON bodies payment initations for bulk payments via JSON.\n\nNote: Some fields from single payments do not occcur in a bulk payment element\n",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationBulkElement_json"
}
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
}
}
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).
{
"title": "periodicPaymentInitiationMultipartBody",
"type": "object",
"properties": {
"xml_sct": {
"type": "object"
},
"json_standingorderType": {
"$ref": "#/definitions/periodicPaymentInitiation_xml-Part2-standingorderType_json"
}
}
}
The body part 2 of a periodic payment initation request containes the execution related informations of the periodic payment.
{
"title": "periodicPaymentInitiation_xml-Part2-standingorderType_json",
"type": "object",
"properties": {
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
}
},
"required": [
"startDate",
"frequency"
]
}
Body of the response for a successful payment initiation status request in case of an JSON based endpoint.
{
"title": "paymentInitiationStatusResponse-200_json",
"type": "object",
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"transactionStatus"
]
}
Body of the response for a successful payment initiation request.
{
"title": "paymentInitationRequestResponse-201",
"type": "object",
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
},
"paymentId": {
"description": "Resource identification of the generated payment initiation resource.",
"example": "1234-wertiq-983",
"type": "string"
},
"transactionFees": {
"$ref": "#/definitions/amount"
},
"transactionFeeIndicator": {
"description": "If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in\ntheir public price list or as agreed between ASPSP and PSU.\nIf equals 'false', the transaction will not involve additional specific transaction costs to the PSU.",
"type": "boolean"
},
"scaMethods": {
"description": "This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.",
"type": "array",
"items": {
"$ref": "#/definitions/authenticationObject"
}
},
"chosenScaMethod": {
"$ref": "#/definitions/authenticationObject"
},
"challengeData": {
"$ref": "#/definitions/challengeData"
},
"_links": {
"$ref": "#/definitions/_linksPaymentInitiation"
},
"psuMessage": {
"description": "Text to be displayed to the PSU",
"type": "string",
"maxLength": 512
},
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage2XX"
}
},
"serviceLevel": {
"type": "string",
"enum": [
"SEPA",
"URGP",
"SDVA",
"NEXT",
"SPOT",
"NURG"
]
},
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"creditorAgentName": {
"$ref": "#/definitions/creditorAgentName"
}
},
"required": [
"transactionStatus",
"paymentId",
"_links"
]
}
Body of the response for a successful payment initiation request.
{
"title": "paymentInitationRequestMultiLevelScaResponse-201",
"type": "object",
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
},
"paymentId": {
"description": "Resource identification of the generated payment initiation resource.",
"example": "1234-wertiq-983",
"type": "string"
},
"transactionFees": {
"$ref": "#/definitions/amount"
},
"transactionFeeIndicator": {
"description": "If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in\ntheir public price list or as agreed between ASPSP and PSU.\nIf equals 'false', the transaction will not involve additional specific transaction costs to the PSU.",
"type": "boolean"
},
"_links": {
"$ref": "#/definitions/_linksPaymentInitiationMultiLevelSca"
},
"psuMessage": {
"description": "Text to be displayed to the PSU",
"type": "string",
"maxLength": 512
},
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage2XX"
}
}
},
"required": [
"transactionStatus",
"paymentId",
"_links"
]
}
Body of the response for a successful cancel payment request.
{
"title": "paymentInitiationCancelResponse-204_202",
"type": "object",
"properties": {
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
},
"scaMethods": {
"description": "This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.",
"type": "array",
"items": {
"$ref": "#/definitions/authenticationObject"
}
},
"chosenScaMethod": {
"$ref": "#/definitions/authenticationObject"
},
"challengeData": {
"$ref": "#/definitions/challengeData"
},
"_links": {
"$ref": "#/definitions/_linksPaymentInitiationCancel"
}
},
"required": [
"transactionStatus"
]
}
JSON response body consistion of the corresponding SCT payment initation JSON body together with an optional transaction status field.
{
"title": "paymentInitiationSctWithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
JSON response body consistion of the corresponding SCT INST payment initation JSON body together with an optional transaction status field.
{
"title": "paymentInitiationSctInstWithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
JSON response body consistion of the corresponding TARGET-2 payment initation JSON body together with an optional transaction status field.
{
"title": "paymentInitiationTarget2WithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
JSON response body consistion of the corresponding cross-border payment initation JSON body together with an optional transaction status field.
{
"title": "paymentInitiationCrossBorderWithStatusResponse",
"type": "object",
"properties": {
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
JSON response body consistion of the corresponding periodic SCT payment initation JSON body together with an optional transaction status field.
{
"title": "periodicPaymentInitiationSctWithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON response body consistion of the corresponding periodic SCT INST payment initation JSON body together with an optional transaction status field.
{
"title": "periodicPaymentInitiationSctInstWithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON response body consistion of the corresponding periodic TARGET-2 payment initation JSON body together with an optional transaction status field.
{
"title": "periodicPaymentInitiationTarget2WithStatusResponse",
"type": "object",
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON response body consistion of the corresponding periodic cross-border payment initation JSON body together with an optional transaction status field.
{
"title": "periodicPaymentInitiationCrossBorderWithStatusResponse",
"type": "object",
"properties": {
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"type": "string",
"maxLength": 140
},
"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\nIf not given, it is an infinite standing order.",
"type": "string",
"format": "date"
},
"executionRule": {
"$ref": "#/definitions/executionRule"
},
"frequency": {
"$ref": "#/definitions/frequencyCode"
},
"dayOfExecution": {
"$ref": "#/definitions/dayOfExecution"
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName",
"startDate",
"frequency"
]
}
JSON response body consistion of the corresponding bulk SCT payment initation JSON body together with an optional transaction status field.
{
"title": "bulkPaymentInitiationSctWithStatusResponse",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for SCT payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationSct_json"
}
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"payments"
]
}
JSON response body consistion of the corresponding bulk SCT INST payment initation JSON body together with an optional transaction status field.
{
"title": "bulkPaymentInitiationSctInstWithStatusResponse",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for SCT INST payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationSctInst_json"
}
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"payments"
]
}
JSON response body consistion of the corresponding bulk TARGET-2 payment initation JSON body together with an optional transaction status field.
{
"title": "bulkPaymentInitiationTarget2WithStatusResponse",
"type": "object",
"properties": {
"batchBookingPreferred": {
"description": "If this element equals 'true', the PSU prefers only one booking entry. \nIf this element equals 'false', the PSU prefers individual booking of all contained individual transactions. \n\nThe ASPSP will follow this preference according to contracts agreed on with the PSU.",
"example": false,
"type": "boolean"
},
"requestedExecutionDate": {
"type": "string",
"format": "date"
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"payments": {
"description": "A list of JSON bodies for TARGET-2 payments.",
"type": "array",
"items": {
"$ref": "#/definitions/paymentInitiationTarget2_json"
}
},
"transactionStatus": {
"$ref": "#/definitions/transactionStatus"
}
},
"required": [
"debtorAccount",
"payments"
]
}
A _link object with all availabel link types
{
"title": "_linksAll",
"type": "object",
"properties": {
"scaRedirect": {
"$ref": "#/definitions/hrefType"
},
"scaOAuth": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"updatePsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithProprietaryData": {
"$ref": "#/definitions/hrefType"
},
"updateProprietaryData": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"updatePsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"updateEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithAuthenticationMethodSelection": {
"$ref": "#/definitions/hrefType"
},
"selectAuthenticationMethod": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithTransactionAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"authoriseTransaction": {
"$ref": "#/definitions/hrefType"
},
"self": {
"$ref": "#/definitions/hrefType"
},
"status": {
"$ref": "#/definitions/hrefType"
},
"scaStatus": {
"$ref": "#/definitions/hrefType"
},
"account": {
"$ref": "#/definitions/hrefType"
},
"balances": {
"$ref": "#/definitions/hrefType"
},
"transactions": {
"$ref": "#/definitions/hrefType"
},
"transactionDetails": {
"$ref": "#/definitions/hrefType"
},
"cardAccount": {
"$ref": "#/definitions/hrefType"
},
"cardTransactions": {
"$ref": "#/definitions/hrefType"
},
"first": {
"$ref": "#/definitions/hrefType"
},
"next": {
"$ref": "#/definitions/hrefType"
},
"previous": {
"$ref": "#/definitions/hrefType"
},
"last": {
"$ref": "#/definitions/hrefType"
},
"download": {
"$ref": "#/definitions/hrefType"
}
}
}
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.
- 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.
- '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.
{
"title": "_linksPaymentInitiation",
"example": {
"scaRedirect": "{\"href\":\"https://www.testbank.com/asdfasdfasdf\"}",
"self": "{\"href\":\"/v1/payments/sepa-credit-transfers/1234-wertiq-983\"}"
},
"type": "object",
"properties": {
"scaRedirect": {
"$ref": "#/definitions/hrefType"
},
"scaOAuth": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithAuthenticationMethodSelection": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithTransactionAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"self": {
"$ref": "#/definitions/hrefType"
},
"status": {
"$ref": "#/definitions/hrefType"
},
"scaStatus": {
"$ref": "#/definitions/hrefType"
}
}
}
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.
- 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.
- '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.
{
"title": "_linksPaymentInitiationMultiLevelSca",
"type": "object",
"properties": {
"startAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"self": {
"$ref": "#/definitions/hrefType"
},
"status": {
"$ref": "#/definitions/hrefType"
}
}
}
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 cancalation authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data.
- 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.
- 'startAuthorisationWithAuthenticationMethodSelection': The link to the authorisation end-point, where the cancellation-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'
{
"title": "_linksPaymentInitiationCancel",
"type": "object",
"properties": {
"startAuthorisation": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithAuthenticationMethodSelection": {
"$ref": "#/definitions/hrefType"
}
}
}
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.
- 'startAuthorisationWithEncryptedPsuAuthentication': Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.
- '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.
{
"title": "_linksStartScaProcess",
"type": "object",
"properties": {
"scaRedirect": {
"$ref": "#/definitions/hrefType"
},
"scaOAuth": {
"$ref": "#/definitions/hrefType"
},
"updatePsuIdentification": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#/definitions/hrefType"
},
"selectAuthenticationMethod": {
"$ref": "#/definitions/hrefType"
},
"authoriseTransaction": {
"$ref": "#/definitions/hrefType"
},
"scaStatus": {
"$ref": "#/definitions/hrefType"
}
}
}
Category of the TPP message category
{
"title": "tppMessageCategory",
"example": "ERROR",
"type": "string",
"enum": [
"ERROR",
"WARNING"
]
}
Message codes for HTTP Error codes 2XX.
{
"title": "MessageCode2XX",
"example": "WARNING",
"type": "string",
"enum": [
"WARNING"
]
}
Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).
{
"title": "MessageCode400_PIS",
"example": "FORMAT_ERROR",
"type": "string",
"enum": [
"FORMAT_ERROR",
"PARAMETER_NOT_CONSISTENT",
"PARAMETER_NOT_SUPPORTED",
"SERVICE_INVALID",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED",
"RESOURCE_BLOCKED",
"TIMESTAMP_INVALID",
"PERIOD_INVALID",
"SCA_METHOD_UNKNOWN",
"CONSENT_UNKNOWN",
"PAYMENT_FAILED",
"EXECUTION_DATE_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).
{
"title": "MessageCode401_PIS",
"example": "CERTIFICATE_INVALID",
"type": "string",
"enum": [
"CERTIFICATE_INVALID",
"CERTIFICATE_EXPIRED",
"CERTIFICATE_BLOCKED",
"CERTIFICATE_REVOKE",
"CERTIFICATE_MISSING",
"SIGNATURE_INVALID",
"SIGNATURE_MISSING",
"CORPORATE_ID_INVALID",
"PSU_CREDENTIALS_INVALID",
"CONSENT_INVALID",
"CONSENT_EXPIRED",
"TOKEN_UNKNOWN",
"TOKEN_INVALID",
"TOKEN_EXPIRED",
"REQUIRED_KID_MISSING"
]
}
Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).
{
"title": "MessageCode403_PIS",
"example": "CONSENT_UNKNOWN",
"type": "string",
"enum": [
"CONSENT_UNKNOWN",
"SERVICE_BLOCKED",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED",
"PRODUCT_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).
{
"title": "MessageCode404_PIS",
"example": "RESOURCE_UNKNOWN",
"type": "string",
"enum": [
"RESOURCE_UNKNOWN",
"PRODUCT_UNKNOWN"
]
}
Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).
{
"title": "MessageCode405_PIS",
"example": "SERVICE_INVALID",
"type": "string",
"enum": [
"SERVICE_INVALID"
]
}
Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).
{
"title": "MessageCode405_PIS_CANC",
"example": "CANCELLATION_INVALID",
"type": "string",
"enum": [
"CANCELLATION_INVALID",
"SERVICE_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 409 (CONFLICT).
{
"title": "MessageCode409_PIS",
"example": "STATUS_INVALID",
"type": "string",
"enum": [
"STATUS_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).
{
"title": "MessageCode400_SBS",
"example": "FORMAT_ERROR",
"type": "string",
"enum": [
"FORMAT_ERROR",
"PARAMETER_NOT_CONSISTENT",
"PARAMETER_NOT_SUPPORTED",
"SERVICE_INVALID",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED",
"RESOURCE_BLOCKED",
"TIMESTAMP_INVALID",
"PERIOD_INVALID",
"SCA_METHOD_UNKNOWN",
"CONSENT_UNKNOWN",
"EXECUTION_DATE_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).
{
"title": "MessageCode401_SBS",
"example": "CERTIFICATE_INVALID",
"type": "string",
"enum": [
"CERTIFICATE_INVALID",
"CERTIFICATE_EXPIRED",
"CERTIFICATE_BLOCKED",
"CERTIFICATE_REVOKE",
"CERTIFICATE_MISSING",
"SIGNATURE_INVALID",
"SIGNATURE_MISSING",
"CORPORATE_ID_INVALID",
"PSU_CREDENTIALS_INVALID",
"CONSENT_INVALID",
"CONSENT_EXPIRED",
"TOKEN_UNKNOWN",
"TOKEN_INVALID",
"TOKEN_EXPIRED"
]
}
Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).
{
"title": "MessageCode403_SBS",
"example": "CONSENT_UNKNOWN",
"type": "string",
"enum": [
"CONSENT_UNKNOWN",
"SERVICE_BLOCKED",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED"
]
}
Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).
{
"title": "MessageCode404_SBS",
"example": "RESOURCE_UNKNOWN",
"type": "string",
"enum": [
"RESOURCE_UNKNOWN"
]
}
Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).
{
"title": "MessageCode405_SBS",
"example": "SERVICE_INVALID",
"type": "string",
"enum": [
"SERVICE_INVALID"
]
}
Message codes defined for PIS for HTTP Error code 409 (CONFLICT).
{
"title": "MessageCode409_SBS",
"example": "STATUS_INVALID",
"type": "string",
"enum": [
"REFERENCE_STATUS_INVALID",
"STATUS_INVALID"
]
}
{
"title": "tppMessage2XX",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"description": "Message codes for HTTP Error codes 2XX.",
"example": "WARNING",
"type": "string",
"default": "WARNING"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage400_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode400_PIS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage401_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode401_PIS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage403_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode403_PIS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage404_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode404_PIS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage405_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"description": "Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).",
"example": "SERVICE_INVALID",
"type": "string",
"default": "SERVICE_INVALID"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage405_PIS_CANC",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode405_PIS_CANC"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage409_PIS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"description": "Message codes defined for PIS for HTTP Error code 409 (CONFLICT).",
"example": "STATUS_INVALID",
"type": "string",
"default": "STATUS_INVALID"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage400_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode400_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage401_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode401_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage403_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode403_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage404_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode404_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage405_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode405_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
{
"title": "tppMessage409_SBS",
"type": "object",
"properties": {
"category": {
"$ref": "#/definitions/tppMessageCategory"
},
"code": {
"$ref": "#/definitions/MessageCode409_SBS"
},
"path": {
"type": "string"
},
"text": {
"description": "Additional explaining text to the TPP.",
"type": "string",
"maxLength": 512
}
},
"required": [
"category",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 400 for PIS.
{
"title": "Error400_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode400_PIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 401 for PIS.
{
"title": "Error401_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode401_PIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError1"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 403 for PIS.
{
"title": "Error403_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode403_PIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError2"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 404 for PIS.
{
"title": "Error404_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode404_PIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError3"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for PIS.
{
"title": "Error405_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"description": "Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).",
"example": "SERVICE_INVALID",
"type": "string",
"default": "SERVICE_INVALID"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError4"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 405 for a pament cancelation (PIS).
{
"title": "Error405_PIS_CANC",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode405_PIS_CANC"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError5"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
Standardised definition of reporting error information according to [RFC7807] in case of a HTTP error code 409 for PIS.
{
"title": "Error409_PIS",
"type": "object",
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.",
"type": "string",
"maxLength": 70
},
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"description": "Message codes defined for PIS for HTTP Error code 409 (CONFLICT).",
"example": "STATUS_INVALID",
"type": "string",
"default": "STATUS_INVALID"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\n\nMight be used if more than one error is to be communicated",
"type": "array",
"items": {
"$ref": "#/definitions/AdditionalError6"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
},
"required": [
"type",
"code"
]
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
{
"title": "Error400_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage400_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
{
"title": "Error401_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage401_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
{
"title": "Error403_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage403_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
{
"title": "Error404_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage404_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 405.
{
"title": "Error405_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage405_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
{
"title": "Error405_NG_PIS_CANC",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage405_PIS_CANC"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.
{
"title": "Error409_NG_PIS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage409_PIS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
{
"title": "Error400_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage400_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
{
"title": "Error401_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage401_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
{
"title": "Error403_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage403_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
{
"title": "Error404_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage404_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 405.
{
"title": "Error405_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage405_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
{
"title": "Error409_NG_SBS",
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#/definitions/tppMessage409_SBS"
}
},
"_links": {
"$ref": "#/definitions/_linksAll"
}
}
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode400_PIS"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError1",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode401_PIS"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError2",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode403_PIS"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError3",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode404_PIS"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError4",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"description": "Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).",
"example": "SERVICE_INVALID",
"type": "string",
"default": "SERVICE_INVALID"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError5",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"$ref": "#/definitions/MessageCode405_PIS_CANC"
}
},
"required": [
"code"
]
}
This is a data element to support the declaration of additional errors in the context of [RFC7807].
{
"title": "AdditionalError6",
"type": "object",
"properties": {
"title": {
"description": "Short human readable description of error type. \nCould be in local language. \nTo be provided by ASPSPs.",
"type": "string",
"maxLength": 70
},
"detail": {
"description": "Detailed human readable text specific to this instance of the error. \nXPath might be used to point to the issue generating the error in addition.\nRemark for Future: In future, a dedicated field might be introduced for the XPath.",
"type": "string",
"maxLength": 512
},
"code": {
"description": "Message codes defined for PIS for HTTP Error code 409 (CONFLICT).",
"example": "STATUS_INVALID",
"type": "string",
"default": "STATUS_INVALID"
}
},
"required": [
"code"
]
}
The format type of the OTP to be typed in. The admitted values are "characters" or "integer".
{
"title": "OtpFormat",
"example": "characters",
"type": "string",
"enum": [
"characters",
"integer"
]
}
{
"title": "PSU-Http-Method",
"example": "GET",
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
{
"title": "TPP-Explicit-Authorisation-Preferred",
"example": "true",
"type": "string",
"enum": [
"true",
"false"
]
}
{
"title": "TPP-Redirect-Preferred",
"example": "true",
"type": "string",
"enum": [
"true",
"false"
]
}
Link to a resource
{
"type": "object",
"properties": {
"href": {
"$ref": "#/definitions/hrefEntry"
}
}
}
Link to a resource
{
"type": "string",
"example": "/v1/payments/sepa-credit-transfers/1234-wertiq-983"
}
Generic Body for a payment initIation via JSON.
This generic JSON body can be used to represent valid payment initiations for the following JSON based payment product,
which where defined in the Implementation Guidelines:
* sepa-credit-transfers
* instant-sepa-credit-transfers
* target-2-payments
* cross-border-credit-transfers
{
"properties": {
"endToEndIdentification": {
"type": "string",
"maxLength": 35
},
"debtorAccount": {
"$ref": "#/definitions/accountReference"
},
"instructedAmount": {
"$ref": "#/definitions/amount"
},
"creditorAccount": {
"$ref": "#/definitions/accountReference"
},
"creditorAgent": {
"description": "BICFI",
"example": "AAAADEBBXXX",
"type": "string",
"pattern": "[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
},
"creditorAgentName": {
"type": "string",
"description": "Creditor Agent Name",
"example": "Creditor Agent Name"
},
"creditorName": {
"description": "Creditor Name",
"example": "Creditor Name",
"type": "string",
"maxLength": 70
},
"creditorAddress": {
"$ref": "#/definitions/address"
},
"remittanceInformationUnstructured": {
"description": "Unstructured remittance information",
"example": "Ref Number Merchant",
"type": "string",
"maxLength": 140
}
},
"additionalProperties": false,
"required": [
"debtorAccount",
"instructedAmount",
"creditorAccount",
"creditorName"
]
}
Body of the JSON response with SCA Status
{
"title": "scaStatusResponse",
"type": "object",
"properties": {
"scaStatus": {
"$ref": "#/definitions/scaStatus"
}
}
}
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.
{
"title": "scaStatus",
"example": "received",
"type": "string",
"enum": [
"received",
"psuIdentified",
"psuAuthenticated",
"scaMethodSelected",
"started",
"finalised",
"failed",
"exempted"
]
}
An array of all authorisationIds
{
"title": "authorisations",
"type": "object",
"properties": {
"authorisationIds": {
"description": "An array of all authorisationIds",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"authorisationIds"
]
}
Body of the JSON response for a Start SCA authorisation request.
{
"title": "startScaprocessResponse",
"type": "object",
"properties": {
"scaStatus": {
"$ref": "#/definitions/scaStatus"
},
"authorisationId": {
"description": "Resource identification of the related SCA",
"example": "123auth456",
"type": "string"
},
"scaMethods": {
"description": "This data element might be contained, if SCA is required and if the PSU has a choice between different\nauthentication methods.\n\nDepending on the risk management of the ASPSP this choice might be offered before or after the PSU\nhas been identified with the first relevant factor, or if an access token is transported.\n\nIf this data element is contained, then there is also an hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'\ncontained in the response body.\n\nThese methods shall be presented towards the PSU for selection by the TPP.",
"type": "array",
"items": {
"$ref": "#/definitions/authenticationObject"
}
},
"chosenScaMethod": {
"$ref": "#/definitions/authenticationObject"
},
"challengeData": {
"$ref": "#/definitions/challengeData"
},
"_links": {
"$ref": "#/definitions/_linksStartScaProcess"
},
"psuMessage": {
"description": "Text to be displayed to the PSU",
"type": "string",
"maxLength": 512
}
},
"required": [
"scaStatus",
"authorisationId",
"_links"
]
}