v1

latestOpenAPI 3.0.1Creative Commons Attribution 4.0 International Public License2026-07-1334289536.7 KB
Payment Initiation Service (PIS)
Common Services

Start the authorisation process for a payment initiation

Create an authorisation sub-resource and start the authorisation process. The message might in addition transmit authentication and authorisation related data.

This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the transaction.

The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call.

The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource.

This applies in the following scenarios:

  • The ASPSP has indicated with a '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 a '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.
post/v1/{payment-service}/{payment-product}/{paymentId}/authorisations

Path parameters

payment-service'payments' | 'bulk-payments' | 'periodic-payments' required

Payment service:

Possible values are:

  • payments
  • bulk-payments
  • periodic-payments
payment-product'domestic-swiss-credit-transfers-isr' | 'domestic-swiss-credit-transfers' | 'domestic-swiss-credit-transfers-qr' | 'domestic-swiss-foreign-credit-transfers' | 'swiss-sepa-credit-transfers' | 'swiss-cross-border-credit-transfers' | 'pain.001-sepa-credit-transfers' | 'pain.001-cross-border-credit-transfers' | 'pain.001-swiss-six-credit-transfers' required

The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported.

The following payment products are supported:

  • domestic-swiss-credit-transfers-isr
  • domestic-swiss-credit-transfers
  • domestic-swiss-credit-transfers-qr
  • domestic-swiss-foreign-credit-transfers
  • swiss-sepa-credit-transfers
  • swiss-cross-border-credit-transfers
  • pain.001-sepa-credit-transfers
  • pain.001-cross-border-credit-transfers
  • pain.001-swiss-six-credit-transfers

Remark: For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities.

Remark: For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants.

paymentIdstring required

Resource identification of the generated payment initiation resource.

Example:1234-wertiq-983

Resource identification of the generated payment initiation resource.

Headers

X-Request-IDstring required

ID of the request, unique to the call, as determined by the initiating party.

PSU-IDstring

Client ID of the PSU in the ASPSP client interface.

Might be mandated in the ASPSP's documentation.

It might be contained even 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. In this case the ASPSP might check whether PSU-ID and token match, according to ASPSP documentation.

PSU-ID-Typestring

Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

In this case, the mean and use are then defined in the ASPSP's documentation.

PSU-Corporate-IDstring

Might be mandated in the ASPSP's documentation. Only used in a corporate context.

PSU-Corporate-ID-Typestring

Might be mandated in the ASPSP's documentation. Only used in a corporate context.

TPP-Redirect-Preferredboolean

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.

TPP-Redirect-URIstring uri

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.

TPP-Nok-Redirect-URIstring uri

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.

TPP-Notification-URIstring

URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent. This header field may by ignored by the ASPSP.

For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:

URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction- id/notifications would be compliant.

Wildcard definitions shall be taken into account for compliance checks by the ASPSP. ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.

TPP-Notification-Content-Preferredstring

The string has the form

status=X1, ..., Xn

where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated. The usage of the constants supports the of following semantics:

SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.

PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP. LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.

Digeststring

Is contained if and only if the "Signature" element is contained in the header of the request.

Signaturestring

A signature of the request by the TPP on application level. This might be mandated by ASPSP.

TPP-Signature-Certificatestring byte

The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.

PSU-IP-Addressstring ipv4

The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.

PSU-IP-Portstring

The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.

PSU-Acceptstring

The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

PSU-Accept-Charsetstring

The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

PSU-Accept-Encodingstring

The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

PSU-Accept-Languagestring

The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.

PSU-User-Agentstring

The forwarded Agent header field of the HTTP request between PSU and TPP, if available.

PSU-Http-Method'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'

HTTP method used at the PSU ? TPP interface, if available. Valid values are:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
PSU-Device-IDstring

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 needs to be unaltered until removal from device.

PSU-Geo-Locationstring

The forwarded Geo Location of the corresponding http request between PSU and TPP if available.

Request body

{"stackTrail":"paths:/v1/{payment-service}/{payment-product}/{paymentId}/authorisations:post:requestBody:content:application/json:schema:oneOf:0","oasType":"schema","type":"unknown"}
OR
OR
OR

Example request

{
  "authenticationMethodId": "myAuthenticationID"
}

Response

Created

scaStatus'received' | 'psuIdentified' | 'psuAuthenticated' | 'scaMethodSelected' | 'started' | 'unconfirmed' | 'finalised' | 'failed' | 'exempted' required

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'.
  • 'unconfirmed': SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet.
  • 'started': The addressed SCA routine has been started.
  • 'finalised': The SCA routine has been finalised successfully (including a potential confirmation command). This is a final status of the authorisation resource.
  • 'failed': The SCA routine failed. This is a final status of the authorisation resource.
  • 'exempted': SCA was exempted for the related transaction, the related authorisation is successful. This is a final status of the authorisation resource.
authorisationIdstring required

Resource identification of the related SCA.

psuMessagestring

Text to be displayed to the PSU.

Example response

{
  "scaStatus": "psuAuthenticated",
  "authorisationId": "123auth456",
  "scaMethods": [
    {
      "authenticationMethodId": "myAuthenticationID",
      "name": "SMS OTP on phone +49160 xxxxx 28",
      "explanation": "Detailed information about the SCA method for the PSU."
    }
  ],
  "chosenScaMethod": {
    "authenticationMethodId": "myAuthenticationID",
    "name": "SMS OTP on phone +49160 xxxxx 28",
    "explanation": "Detailed information about the SCA method for the PSU."
  },
  "_links": {
    "scaRedirect": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "scaOAuth": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "confirmation": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "updatePsuIdentification": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "startAuthorisationWithPsuAuthentication": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "startAuthorisationWithEncryptedPsuAuthentication": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "selectAuthenticationMethod": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "authoriseTransaction": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "scaStatus": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    }
  }
}