Signing Baskets Service (SBS)

Create a signing basket resource

Create a signing basket resource for authorising several transactions with one SCA method. The resource identifications of these transactions are contained in the payload of this access method

post/v1/signing-baskets

Headers

X-Request-IDstring required

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

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-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.

Consent-IDstring

ID of the corresponding consent object as returned by an account information consent request.

This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.

PSU-IP-Addressstring ipv4 required

The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. If not available, the TPP shall use the IP Address used by the TPP when submitting this request.

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-Explicit-Authorisation-Preferredboolean

If it equals "true", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.

If it equals "false" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket.

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.

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

paymentIdsPaymentId[]

A list of paymentIds.

consentIdsConsentId[]

A list of consentIds.

Example request

{
  "paymentIds": [
    "1234-wertiq-983"
  ]
}

Response

Created

transactionStatus'ACSC' | 'ACTC' | 'PATC' | 'RCVD' | 'RJCT' | 'CANC' required

The transaction status is filled with codes of the ISO 20022 data table. Only the codes RCVD, PATC, ACTC, ACWC and RJCT are used:

  • '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.
basketIdstring required

Resource identification of the generated signing basket resource.

psuMessagestring

Text to be displayed to the PSU.

Example response

{
  "transactionStatus": "RCVD",
  "basketId": "1234-basket-567",
  "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"
    },
    "startAuthorisation": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "startAuthorisationWithPsuIdentification": {
      "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"
    },
    "startAuthorisationWithAuthenticationMethodSelection": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "startAuthorisationWithTransactionAuthorisation": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "self": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "status": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    },
    "scaStatus": {
      "href": "/v1/payments/swiss-sepa-credit-transfers/1234-wertiq-983"
    }
  }
}

Changes

Changed in 5 of the 50 revisions of this API.392042

  • 0d82c46995486412See the full diff
    • removed the enum value false from the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-removed

    • removed the enum value false from the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-removed

    • removed the enum value true from the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-removed

    • removed the enum value true from the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-removed

    • for the header request parameter TPP-Explicit-Authorisation-Preferred, the type changed from string to boolean

      request-parameter-type-changed

    • for the header request parameter TPP-Redirect-Preferred, the type changed from string to boolean

      request-parameter-type-changed

    • added the new SCA_INVALID enum value to the // response property for the response status (media type: application/problem+json)

      response-property-enum-value-added

    • added the new SCA_INVALID enum value to the response property for the response status (media type: application/problem+json)

      response-property-enum-value-added

    • added the new SCA_INVALID enum value to the // response property for the response status (media type: application/json)

      response-property-enum-value-added

    • added the new SMTP_OTP enum value to the // response property for the response status

      response-property-enum-value-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • b51fe6ddb1fc251214See the full diff
    • the TPP-Explicit-Authorisation-Preferred request header's property undefined was restricted to a list of enum values

      request-header-property-became-enum

    • the TPP-Redirect-Preferred request header's property undefined was restricted to a list of enum values

      request-header-property-became-enum

    • the header request parameter TPP-Explicit-Authorisation-Preferred was restricted to a list of enum values

      request-parameter-became-enum

    • the header request parameter TPP-Redirect-Preferred was restricted to a list of enum values

      request-parameter-became-enum

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status (media type: application/problem+json)

      response-property-max-length-increased

    • the response property's maxLength was increased from 500 to 512 for the response status

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the // response property's maxLength was increased from 500 to 512 for the response status (media type: application/json)

      response-property-max-length-increased

    • the / response's property format changed from url to no format for status

      response-property-type-changed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/json)

      response-optional-property-removed

    • removed the optional property / from the response with the status (media type: application/problem+json)

      response-optional-property-removed

    • api tag Signing Baskets Service (SBS) added

      api-tag-added

    • api tag Signing Baskets (SBS) removed

      api-tag-removed

    • added the new enum value false to the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-added

    • added the new enum value false to the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-added

    • added the new enum value true to the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-added

    • added the new enum value true to the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-added

    • for the header request parameter PSU-Device-ID, the format was generalized from uuid to no format

      request-parameter-type-generalized

    • for the header request parameter TPP-Explicit-Authorisation-Preferred, the type was generalized from boolean to string

      request-parameter-type-generalized

    • for the header request parameter TPP-Redirect-Preferred, the type was generalized from boolean to string

      request-parameter-type-generalized

    • for the header request parameter X-Request-ID, the format was generalized from uuid to no format

      request-parameter-type-generalized

    • removed the SCA_INVALID enum value from the // response property for the response status (media type: application/problem+json)

      response-property-enum-value-removed

    • removed the SCA_INVALID enum value from the response property for the response status (media type: application/problem+json)

      response-property-enum-value-removed

    • removed the SCA_INVALID enum value from the // response property for the response status (media type: application/json)

      response-property-enum-value-removed

    • removed the SMTP_OTP enum value from the // response property for the response status

      response-property-enum-value-removed

    This revision also has 23 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 3cc5b6a584f16412See the full diff
    • removed the enum value false from the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-removed

    • removed the enum value false from the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-removed

    • removed the enum value true from the header request parameter TPP-Explicit-Authorisation-Preferred

      request-parameter-enum-value-removed

    • removed the enum value true from the header request parameter TPP-Redirect-Preferred

      request-parameter-enum-value-removed

    • for the header request parameter TPP-Explicit-Authorisation-Preferred, the type changed from string to boolean

      request-parameter-type-changed

    • for the header request parameter TPP-Redirect-Preferred, the type changed from string to boolean

      request-parameter-type-changed

    • added the new SCA_INVALID enum value to the // response property for the response status (media type: application/problem+json)

      response-property-enum-value-added

    • added the new SCA_INVALID enum value to the response property for the response status (media type: application/problem+json)

      response-property-enum-value-added

    • added the new SCA_INVALID enum value to the // response property for the response status (media type: application/json)

      response-property-enum-value-added

    • added the new SMTP_OTP enum value to the // response property for the response status

      response-property-enum-value-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/json)

      response-optional-property-added

    • added the optional property / to the response with the status (media type: application/problem+json)

      response-optional-property-added

    This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • f324b23056bf22See the full diff
    • for the header request parameter PSU-Device-ID, the format changed from no format to uuid

      request-parameter-type-changed

    • for the header request parameter X-Request-ID, the format changed from no format to uuid

      request-parameter-type-changed

    • api tag Signing Baskets (SBS) added

      api-tag-added

    • api tag Signing Baskets Service (SBS) removed

      api-tag-removed

    This revision also has 10 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • api tag Signing Baskets Service (SBS) added

      api-tag-added

    • api tag Signing Baskets (SBS) removed

      api-tag-removed

Of the 50 revisions, 1 has no diff computed.