---
title: "POST /payment-requests/{paymentRequestResourceId}/confirmation"
canonical: "https://openfinanceguide.com/en/stet/1.6.3/endpoints/pisp/payment-request-confirmation-post"
edition: "STET PSD2 API 1.6.3.1"
source: "https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.2-openapi.yaml"
pdf: "https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf"
section: "4.15"
pdf_pages: "65"
language: "en"
normative: "The normative text is the English PDF and OpenAPI file published by STET. This Markdown reproduces it for reading; where they differ, the PDF prevails."
license: "CC BY 3.0 FR (https://creativecommons.org/licenses/by/3.0/fr/), STET. Converted to Markdown by Open Finance Guide."
parts:
  - "https://openfinanceguide.com/raw/stet/1.6.3/en/endpoints/pisp/payment-request-confirmation-post/operation.md"
  - "https://openfinanceguide.com/raw/stet/1.6.3/en/endpoints/pisp/payment-request-confirmation-post/schemas-1.md"
  - "https://openfinanceguide.com/raw/stet/1.6.3/en/endpoints/pisp/payment-request-confirmation-post/schemas-2.md"
---

# POST /payment-requests/{paymentRequestResourceId}/confirmation

Confirmation of a payment request using an OAUTH2 Authorization code grant (PISP)

Operation: `paymentRequestConfirmationPost` · Tags: PISP · Scopes: `pisp`, `pisp` · Source: [§ 4.15 Confirmation of a payment request using an OAUTH2 Authorization code grant (PISP), PDF p. 65](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=65)

### Description
The PISP confirms one of the following requests or modifications:
- payment request on behalf of a merchant
- transfer request on behalf of the account's owner
- standing-order request on behalf of the account's owner
The ASPSP answers with a status of the relevant request and the subsequent Credit Transfer.

### Prerequisites
-  The TPP was registered by the Registration Authority for the PISP role
-  The TPP was provided with an OAUTH2 "Client Credential" access token by the ASPSP (cf. paragraph  3.4.2).
-  The TPP has previously posted a Request which was saved by the ASPSP (cf. paragraph  4.5.3)
  - The ASPSP has answered with a location link to the saved Payment Request (cf. paragraph  4.5.4)
  -  The TPP has retrieved the saved request in order to get the relevant resource Ids (cf. paragraph  4.6).
-  The PSU was authenticated by the ASPSP through an OAUTH2 authorization code grant flow (REDIRECT approach) and the PISP got the relevant token
-  The TPP and the ASPSP have successfully processed a mutual check and authentication
-  The TPP has presented its "OAUTH2 Authorization Code" access token

### Business flow
Once the PSU was authenticated through an OAUTH2 authorization code grant flow (REDIRECT approach), it is the due to the PISP to confirm the Request to the ASPSP in order to complete the process flow.
The ASPSP must wait for confirmation before executing the subsequent Credit Tranfer.
Any further confirmation by the PISP on the same Payment-Request must be ignored.

## Parameters

- `Authorization`, in header, `string`, required — Access token to be passed as a header
- `paymentRequestResourceId`, in path, `string`, required — Identification of the Payment Request Resource
  Constraints: pattern `^([a-zA-Z0-9_ /\-?:\()\.,']{1,100})$`.
- `confirmationRequest`, in body, [`ConfirmationResource`](#confirmationresource), required — Parameters needed for confirmation of the Payment Request.
  Even though there is no parameter, a Json (void) body structure must be provided.
- `PSU-IP-Address`, in header, `string` — IP address used by the PSU's terminal when connecting to the TPP
- `PSU-IP-Port`, in header, `string` — IP port used by the PSU's terminal when connecting to the TPP
- `PSU-HTTP-Method`, in header, `string` — Http method for the most relevant PSU's terminal request to the TTP
- `PSU-Date`, in header, `string` — Timestamp of the most relevant PSU's terminal request to the TTP
- `PSU-GEO-Location`, in header, `string` — Geographical location of the PSU as provided by the PSU mobile terminal if any to the TPP
- `PSU-User-Agent`, in header, `string` — "User-Agent" header field sent by the PSU terminal when connecting to the TPP
- `PSU-Referer`, in header, `string` — "Referer" header field sent by the PSU terminal when connecting to the TPP.
  Notice that an initial typo in RFC 1945 specifies that "referer" (incorrect spelling) is to be used. The correct spelling "referrer" can be used but might not be understood.
- `PSU-Accept`, in header, `string` — "Accept" header field sent by the PSU terminal when connecting to the TPP
- `PSU-Accept-Charset`, in header, `string` — "Accept-Charset" header field sent by the PSU terminal when connecting to the TPP
- `PSU-Accept-Encoding`, in header, `string` — "Accept-Encoding" header field sent by the PSU terminal when connecting to the TPP
- `PSU-Accept-Language`, in header, `string` — "Accept-Language" header field sent by the PSU terminal when connecting to the TPP
- `PSU-Device-ID`, in header, `string` — 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 installation identification this ID need to be unaltered until removal from device.
- `Digest`, in header, `string` — Digest of the body
- `Signature`, in header, `string` — [http-signature of the request](https://datatracker.ietf.org/doc/draft-cavage-http-signatures/)
  The keyId must specify the way to get the relevant qualified certificate. It is requested that this identifier is an URL aiming to provide the relevant Qualified Certificate.
- `X-Request-ID`, in header, `string`, required — Correlation header to be set in a request and retrieved in the relevant response
  Constraints: maxLength 70.
- `X-JWS-Signature`, in header, `string` — [JSON WEB signature of the request](https://www.openbankingeurope.eu/media/2095/obe-json-web-signature-profile-for-open-banking.pdf)
- `Idempotency-Key`, in header, `string`, required — Key provided by the API client to ensure idempotency in case of retry of a given request

## Request body

[`ConfirmationResource`](#confirmationresource)

## Responses

### 200

retrieval of the Payment Request enriched with the status report

Body: [`HalPaymentRequest`](#halpaymentrequest)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Digest`, `string` — Digest of the body
- `Signature`, `string` — [http-signature of the response ](https://datatracker.ietf.org/doc/draft-cavage-http-signatures/) The keyId must specify the way to get the relevant qualified certificate. It is requested that this identifier is an URL aiming to provide the relevant Qualified Certificate.
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 400

Invalid status value

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 401

Unauthorized, authentication failure.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 403

Forbidden, authentication successful but access to resource is not allowed.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 405

Method Not Allowed.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 406

Not Acceptable.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 408

Request Timeout.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 409

Conflict.
The request could not be completed due to a conflict with the current state of the target resource.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 429

Too many requests.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response
- `Warning`, `string` — Warning header. This header can be used by the server to inform the client of a deprecated entry-point through the value "299" value and a descriptive message.

### 500

Internal server error.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response

### 503

Service unavailable.

Body: [`ErrorModel`](#errormodel)

Headers:

- `X-Request-ID`, `string` — Correlation header to be set in a request and retrieved in the relevant response

## Example

Built from the specification: every documented header and field.

```bash
curl -X POST 'https://api.aspsp.example/v1/payment-requests/{paymentRequestResourceId}/confirmation' \
  -H 'Authorization: Bearer {access_token}' \
  -H 'PSU-IP-Address: 192.0.2.1' \
  -H 'PSU-IP-Port: 443' \
  -H 'PSU-HTTP-Method: GET' \
  -H 'PSU-Date: Tue, 03 Oct 2022 10:15:30 GMT' \
  -H 'PSU-GEO-Location: {PSU-GEO-Location}' \
  -H 'PSU-User-Agent: {PSU-User-Agent}' \
  -H 'PSU-Referer: {PSU-Referer}' \
  -H 'PSU-Accept: {PSU-Accept}' \
  -H 'PSU-Accept-Charset: {PSU-Accept-Charset}' \
  -H 'PSU-Accept-Encoding: {PSU-Accept-Encoding}' \
  -H 'PSU-Accept-Language: {PSU-Accept-Language}' \
  -H 'PSU-Device-ID: {PSU-Device-ID}' \
  -H 'Digest: SHA-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=' \
  -H 'Signature: keyId="...",algorithm="rsa-sha256",headers="(request-target) date digest",signature="..."' \
  -H 'X-Request-ID: a1b2c3d4-e5f6-4a3b-8c2d-1e2f3a4b5c6d' \
  -H 'X-JWS-Signature: {X-JWS-Signature}' \
  -H 'Idempotency-Key: {Idempotency-Key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "nonce": "Nonce56fdd",
  "psuAuthenticationFactor": "U1RF51mITWWmTQ72M1xWiw"
}'
```

Response 200:

```json
{
  "paymentRequest": {
    "resourceId": "MyPmtInfRscId",
    "paymentInformationId": "MyPmtInfId",
    "creationDateTime": "2020-02-19T13:56:54.758+01:00",
    "numberOfTransactions": 2,
    "initiatingParty": {
      "name": "MyPreferredPisp",
      "postalAddress": {
        "country": "FR",
        "addressLine": [
          "18 rue de la DSP2",
          "75008 PARIS"
        ]
      },
      "organisationId": {
        "identification": "12FR5",
        "schemeName": "COID",
        "issuer": "ACPR"
      }
    },
    "paymentTypeInformation": {
      "serviceLevel": "SEPA",
      "localInstrument": "INST",
      "categoryPurpose": "CASH"
    },
    "debtor": {
      "name": "MyCustomer",
      "postalAddress": {
        "country": "FR",
        "addressLine": [
          "18 rue de la DSP2",
          "75008 PARIS"
        ]
      },
      "privateId": {
        "identification": "FD37G",
        "schemeName": "BANK",
        "issuer": "BICXYYTTZZZ"
      }
    },
    "debtorAgent": {
      "bicFi": "BNKAFRPPXXX"
    },
    "chargeBearer": "SLEV",
    "paymentInformationStatus": "PDNG",
    "creditTransferTransaction": [
      {
        "paymentId": {
          "instructionId": "MyInstrId3",
          "endToEndId": "MyEndToEndId3"
        },
        "requestedExecutionDate": "2020-02-19T13:56:54.759+01:00",
        "instructedAmount": {
          "amount": 124.35,
          "currency": "EUR"
        },
        "beneficiary": {
          "creditor": {
            "name": "June Doe",
            "postalAddress": {
              "country": "FR",
              "addressLine": [
                "18 rue de la DSP2",
                "75008 PARIS"
              ]
            },
            "organisationId": {
              "identification": "12FR5",
              "schemeName": "COID",
              "issuer": "ACPR"
            },
            "privateId": {
              "identification": "852126789",
              "schemeName": "SIREN",
              "issuer": "FR"
            }
          },
          "creditorAccount": {
            "iban": "YY49QEZO90424459988701367845944910",
            "currency": "EUR"
          }
        },
        "ultimateCreditor": {
          "name": "myPreferredUltimateMerchant",
          "postalAddress": {
            "country": "FR",
            "addressLine": [
              "18 rue de la DSP2",
              "75008 PARIS"
            ]
          },
          "organisationId": {
            "identification": "85212678900025",
            "schemeName": "SIRET",
            "issuer": "FR"
          }
        },
        "purpose": "CASH",
        "remittanceInformation": {
          "unstructured": [
            "MyRemittanceInformation"
          ]
        },
        "transactionStatus": "PDNG"
      },
      {
        "paymentId": {
          "instructionId": "MyInstrId4",
          "endToEndId": "MyEndToEndId4"
        },
        "requestedExecutionDate": "2020-02-19T13:56:54.759+01:00",
        "instructedAmount": {
          "amount": 124.35,
          "currency": "EUR"
        },
        "beneficiary": {
          "creditor": {
            "name": "John Doe",
            "postalAddress": {
              "country": "FR",
              "addressLine": [
                "18 rue de la DSP2",
                "75008 PARIS"
              ]
            },
            "organisationId": {
              "identification": "12FR5",
              "schemeName": "COID",
              "issuer": "ACPR"
            },
            "privateId": {
              "identification": "852126789",
              "schemeName": "SIREN",
              "issuer": "FR"
            }
          },
          "creditorAccount": {
            "iban": "YY27KYHO61109079868328944728829436",
            "currency": "EUR"
          }
        },
        "ultimateCreditor": {
          "name": "myPreferredUltimateMerchant",
          "postalAddress": {
            "country": "FR",
            "addressLine": [
              "18 rue de la DSP2",
              "75008 PARIS"
            ]
          },
          "organisationId": {
            "identification": "85212678900025",
            "schemeName": "SIRET",
            "issuer": "FR"
          }
        },
        "purpose": "CASH",
        "remittanceInformation": {
          "unstructured": [
            "MyRemittanceInformation"
          ]
        },
        "transactionStatus": "PDNG"
      }
    ],
    "supplementaryData": {
      "acceptedAuthenticationApproach": [
        "REDIRECT",
        "DECOUPLED"
      ],
      "appliedAuthenticationApproach": "REDIRECT",
      "successfulReportUrl": "http://myPisp/PaymentSuccess",
      "unsuccessfulReportUrl": "http://myPisp/PaymentFailure"
    }
  },
  "_links": {
    "request": {
      "href": "/v1/payment-requests/MyPmtInfRscId"
    },
    "confirmation": {
      "href": "/v1/payment-requests/MyPmtInfRscId/confirmation"
    }
  }
}
```

## Schemas

Every schema this endpoint uses, each once; fields name the schema they hold.

### AccountIdentification

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.1, PDF p. 2](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=2)

Unique and unambiguous identification for the account between the account owner and the account servicer.
Card accounts must provide the identification of the card through the "other" substructure by giving, for instance, the masked PAN (MPAN).
The currency used for the account, when needed, can be specified through the [currency] field.

Fields:

- `workspace`, `string` — Workspace to which the account is linked.
  This workspace might be specified by the AISP when forwarding the consent on accounts.
  If not provided, the default workspace is computed from the authentication that was used for getting the OAuth2 Access Token.
  Constraints: maxLength 32.
- `iban`, `string` — ISO20022: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.

  Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
  Constraints: pattern `^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$`.
- `other`, [`GenericIdentification`](#genericidentification)
- `currency`, [`CurrencyCode`](#currencycode)

### AmountType

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.2, PDF p. 2](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=2)

Structure aiming to embed the amount and the currency to be used.

Fields:

- `amount`, `number (float)`, required — ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
  Constraints: pattern `^\-{0,1}[0-9]{1,13}(\.[0-9]{0,5}){0,1}$`.
- `currency`, [`CurrencyCode`](#currencycode), required

### AuthenticationApproach

Type: `string` · Kind: Technical

Authentication approaches that can be applied.
REDIRECT: the PSU is redirected by the TPP to the ASPSP which processes identification and authentication
DECOUPLED: the TPP identifies the PSU and forwards the identification to the ASPSP which processes the authentication through a decoupled device
NONE: there is no need for the PSU to authenticate

Values:

- `REDIRECT`
- `DECOUPLED`
- `EMBEDDED-1-FACTOR`
- `NONE`

### AuthenticationApproaches

Type: array of [`AuthenticationApproach`](#authenticationapproach) · Kind: Technical

List of authentication approaches

### BatchBookingIndicator

Type: `boolean` · Kind: ISO20022

Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a message is requested.
Meaning When True: Identifies that a batch entry for the sum of the amounts of all transactions in the batch or message is requested.
Meaning When False: Identifies that a single entry for each of the transactions in the batch or message is requested.
Default value: each ASPSP must be able to specify its own default value.

### Beneficiary

Type: `object` · Kind: Resources

Specification of a beneficiary

Fields:

- `workspace`, [`Workspace`](#workspace)
- `id`, `string` — Id of the beneficiary
  Constraints: pattern `^([a-zA-Z0-9 /\-?:\()\.,']{1,36})$`.
- `isTrusted`, `boolean` — The ASPSP having not implemented the trusted beneficiaries list must not set this flag.
  Otherwise, the ASPSP indicates whether or not the beneficiary was registered by the PSU within the trusted beneficiaries list.
  - true: the beneficiary is actually a trusted beneficiary
  - false: the beneficiary is not a trusted beneficiary
- `creditorAgent`, [`FinancialInstitutionIdentification`](#financialinstitutionidentification)
- `creditor`, [`PartyIdentification`](#partyidentification), required
- `creditorAccount`, [`AccountIdentification`](#accountidentification)

### BookingInformation

Type: `boolean` · Kind: ISO20022

Indicator that the payment can be immediately booked or not
- true: payment is booked
- false: payment is not booked
Booking a transaction means that the funds required by this transaction are immediatly reserved and that a subsequent transaction will not interfere with the proper execution of the payment.
However, usual fraud detection mechanisms might still be triggered and result as a rejection of the payment.
This indicator must be provided when the relevant Credit Transfer will be executed as soon as possible but not as an instant payment.
This indicator is irrelevant and will not be provided for delayed payments.
This indicator is only relevant for the first occurrence of a standing order when this occurrence is not delayed and will be executed as soon as possible.

Case the Information System cannot handle this immediate booking, the ASPSP will have to provide the funds availability information.

### CategoryPurposeCode

Type: `string` · Kind: ISO20022

ISO20022: Specifies the high level purpose of the instruction based on a set of pre-defined categories. This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.
API: The following values are allowed:

Values:

- `CASH` — CashManagementTransfer: Transaction is a general cash management instruction.
- `CORT` — TradeSettlementPayment: Transaction is related to settlement of a trade, e.g. a foreign exchange deal or a securities transaction.
- `DVPM` — DeliverAgainstPayment: Code used to pre-advise the account servicer of a forthcoming deliver against payment instruction.
- `INTC` — IntraCompanyPayment: Transaction is an intra-company payment, i.e. a payment between two companies belonging to the same group.
- `SALA` — SalaryPayment: Transaction is the payment of salaries.
- `TREA` — TreasuryPayment: Transaction is related to treasury operations.  E.g. financial contract settlement.

### ChargeBearerCode

Type: `string` · Kind: ISO20022

ISO20022: Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
The following values are allowed:

Values:

- `DEBT` — BorneByDebtor: All transaction charges are to be borne by the debtor.
- `CRED` — BorneByCreditor: All transaction charges are to be borne by the creditor.
- `SHAR` — Shared: In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.
- `SLEV` — FollowingServiceLevel: Charges are to be applied following the rules agreed in the service level and/or scheme.

### ClearingSystemMemberIdentification

Type: `object` · Kind: ISO20022

ISO20022: Information used to identify a member within a clearing system.
API: to be used for some specific international credit transfers in order to identify the beneficiary bank

Fields:

- `clearingSystemId`, `string`, required — ISO20022: Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed.
  Constraints: maxLength 35.
- `memberId`, `string`, required — ISO20022: Identification of a member of a clearing system.
  Constraints: maxLength 35.

### CodeAndIssuer

Type: `object` · Kind: ISO20022

Specifies a code and the issuer of this code.

Fields:

- `code`, `string`, required — Provides the code.
  Constraints: maxLength 4.
- `issuer`, `string` — Identification of the issuer of the code.
  Constraints: maxLength 35.

### ConfirmationResource

Type: `object` · Kind: Resources

Confirmation request resource

Fields:

- `nonce`, [`Nonce`](#nonce)
- `psuAuthenticationFactor`, `string` — authentication factor forwarded by the TPP to the ASPSP in order to fulfil the strong customer authentication process

### ContactDetails

Type: `object` · Kind: ISO20022

Indicates how to contact the party.

Fields:

- `phoneNumber`, [`PhoneNumber`](#phonenumber)
- `faxNumber`, [`PhoneNumber`](#phonenumber)
- `emailAddress`, `string` — email address of the contact
  Constraints: maxLength 2048, pattern `^.+@.+$`.

### CreationDateTime

Type: `string (date-time)` · Kind: ISO20022

ISO20022: Date and time at which a (group of) payment instruction(s) was created by the instructing party.

### CreditDebitIndicator

Type: `string` · Kind: ISO20022

Accounting flow of the amount

Values:

- `CRDT` — Credit type amount
- `DBIT` — Debit type amount

### CreditorReferenceInformation

Type: `object` · Kind: ISO20022

Reference information provided by the creditor to allow the identification of the underlying documents.

Fields:

- `type`, [`CodeAndIssuer`](#codeandissuer)
- `reference`, `string` — Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.
  Constraints: maxLength 35.

### CreditTransferTransactionResource

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.4, PDF p. 8](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=8)

ISO20022: Payment processes required to transfer cash from the debtor to the creditor.
The [instructedAmount] property indicates Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
  Usage: This amount has to be transported unchanged through the transaction chain.
API: Amounts must always be set as positive values.

Fields:

- `paymentId`, [`PaymentIdentification`](#paymentidentification), required
- `resourceId`, [`ResourceId`](#resourceid)
- `requestedExecutionDate`, [`RequestedExecutionDate`](#requestedexecutiondate)
- `cancellableTill`, `string (date-time)` — This field may allow the PISP to get information on the limit timestamp for requesting cancelation of the transaction.
  When this field is not provided by the ASPSP, the PISP must rely on the status of the transaction [transactionStatus] in order to estimate if the transaction is actually cancellable.
- `acceptanceDateTime`, `string (date-time)` — ISO20022: Date and time at which all processing conditions for execution of the payment are met and adequate financial cover is available at the account servicing agent.
- `debtorDecisionDate`, `string (date-time)` — ISO20022: Date and time on when the debtor has accepted or rejected the request.
- `appliedExecutionDate`, `string (date-time)` — ISO20022: Date and time on when the payment was executed.
- `standingOrderCharacteristics`, [`StandingOrderCharacteristics`](#standingordercharacteristics)
- `instructedAmount`, [`AmountType`](#amounttype)
- `equivalentAmount`, [`EquivalentAmountType`](#equivalentamounttype)
- `exchangeRateInformation`, [`ExchangeRate`](#exchangerate)
- `ultimateDebtor`, [`PartyIdentification`](#partyidentification)
- `intermediaryAgent`, [`IntermediaryAgent`](#intermediaryagent)
- `beneficiary`, [`Beneficiary`](#beneficiary), required
- `ultimateCreditor`, [`PartyIdentification`](#partyidentification)
- `instructionForCreditorAgent`, array of [`InstructionForCreditorAgent`](#instructionforcreditoragent) — Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.
- `purpose`, [`PurposeCode`](#purposecode)
- `regulatoryReportingCodes`, [`RegulatoryReportingCodes`](#regulatoryreportingcodes)
- `remittanceInformation`, [`RemittanceInformation`](#remittanceinformation)
- `transactionStatus`, [`TransactionIndividualStatusCode`](#transactionindividualstatuscode)
- `statusReasonInformation`, [`StatusReasonInformation`](#statusreasoninformation)
- `supplementaryData`, [`SupplementaryData`](#supplementarydata)
- `investigationStatus`, `boolean` — Boolean indicator aiming to clarify that the relevant transaction is under dispute investigation.

### CurrencyCode

Type: `string` · Kind: ISO20022 · Constraints: pattern `^[A-Z]{3,3}$`

Specifies the currency of the amount or of the account.
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

### DateAndPlaceOfBirth

Type: `object` · Kind: ISO20022

Date and place of birth of a person.
This information must be requested for detection of Fraud, Money-Laundering and Terrorism Financing in case of international payment.

Fields:

- `birthDate`, `string (date)`, required — Date on which a person is born.
- `cityOfBirth`, `string`, required — City where a person was born.
  Constraints: maxLength 35.
- `countryOfBirth`, `string`, required — Country where a person was born.
  Constraints: pattern `^[A-Z]{2,2}$`.

### DocumentAdjustment

Type: `object` · Kind: ISO20022

ISO20022: Specifies detailed information on the amount and reason of the adjustment.
API: Amounts must always be set as positive values.

Fields:

- `amount`, [`AmountType`](#amounttype), required
- `creditDebitIndicator`, [`CreditDebitIndicator`](#creditdebitindicator)
- `reason`, `string` — Specifies the reason for the adjustment.
  Constraints: maxLength 4.
- `additionalInformation`, `string` — Provides further details on the document adjustment.
  Constraints: maxLength 140.

### DocumentLineIdentification

Type: `object` · Kind: ISO20022

Provides identification of the document line.
the [type] property must be used for specifying the type of referred document type.

Fields:

- `type`, [`CodeAndIssuer`](#codeandissuer)
- `number`, `string` — Unique and unambiguous identification of the referred document line.
  Constraints: maxLength 35.
- `relatedDate`, `string (date)` — Date associated with the referred document line.

### EndDate

Type: `string (date-time)` · Kind: ISO20022

The last applicable day of execution for a given period.
If not given, the period is considered as endless.

### EndToEndId

Type: `string` · Constraints: pattern `^([a-zA-Z0-9 /\-?:\()\.,']{1,36})$`

ISO20022: Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.

### EquivalentAmountType

Type: `object` · Kind: ISO20022

Amount of money to be moved between debtor and creditor, before deduction of charges, expressed in the currency of the debtor's account, and to be moved in a different currency.
Usage: The first agent will convert the equivalent amount into the amount to be moved.

Fields:

- `amount`, `number (float)`, required — ISO20022: Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
  Constraints: pattern `^\-{0,1}[0-9]{1,13}(\.[0-9]{0,5}){0,1}$`.
- `currency`, [`CurrencyCode`](#currencycode), required
- `currencyOfTransfer`, [`CurrencyCode`](#currencycode), required

### ErrorDetail

Type: `object` · Kind: Technical

detailed error description

Fields:

- `location`, `string` — Location of the erroneous parameter when not in request body
  Values:
  - `header`
  - `query`
- `name`, `string` — Name of the erroneous parameter when not in request body
- `path`, `string` — JsonPath of the erroneous request body property
- `erroneousValue`, `string` — Erroneous parameter value
- `message`, `string` — Relevant message for the erroneous parameter
- `expectedPattern`, `string` — Expected pattern, if any, that the erroneous parameter does not match with
- `expectedValueRange`, `object` — Expected value range, if any, that the erroneous parameter does not match with
  - `minValue`, `integer`
  - `maxValue`, `integer`
- `expectedValueCount`, `object` — Expected value count, in the case of an array item, that the erroneous parameter does not match with
  - `minValue`, `integer`
  - `maxValue`, `integer`
- `expectedEnumeration`, array of `string` — Expected enumeration, if any, that the erroneous parameter do not match with

### ErrorModel

Type: `object` · Kind: Technical

Generic error report structure

Fields:

- `timestamp`, `string (date-time)` — current timestamp
- `status`, `integer (int32)`, required — HTTP error code
- `error`, `string` — HTTP error text
  Constraints: maxLength 140.
- `message`, `string`, required — HTTP textual reason phrase
  Constraints: maxLength 140.
- `path`, `string` — Relevant path that was used
  Constraints: maxLength 140.
- `details`, array of [`ErrorDetail`](#errordetail) — list of detailed errors that were encountered

### ExchangeRate

Type: `object` · Kind: ISO20022

ISO20022: Provides details on the currency exchange rate and contract.
The [unitCurrency] property specifies the currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
The [estimatedPayerAmount] gives an estimation of the amount that will be debited on the payer's account, including transaction and change fees.
The [estimatedPayeeAmunt] gives an estimation of the amount that will be credited on the payee's account.
API: Amounts must always be set as positive values.

Fields:

- `unitCurrency`, [`CurrencyCode`](#currencycode)
- `exchangeRate`, `number (float)` — The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.
- `rateType`, `string`, required — Specifies the type used to complete the currency exchange.
  Values:
  - `SPOT` — Spot: Exchange rate applied is the spot rate.
  - `SALE` — Sale: Exchange rate applied is the market rate at the time of the sale.
  - `AGRD` — Agreed: Exchange rate applied is the rate agreed between the parties.
- `contractIdentification`, `string` — Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.
  Constraints: maxLength 35.
- `estimatedPayerAmount`, [`AmountType`](#amounttype)
- `estimatedPayeeAmount`, [`AmountType`](#amounttype)

### ExecutionRule

Type: `string` · Kind: ISO20022

Execution date shifting rule for standing orders
This data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday.
The payment is then executed either the "preceding" 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.

Values:

- `FWNG` — following
- `PREC` — preceding

### FinancialInstitutionIdentification

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.5, PDF p. 12](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=12)

ISO20022: Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.

Fields:

- `bicFi`, `string`, required — ISO20022: Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identification code (BIC)".
  Constraints: pattern `^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$`.
- `clearingSystemMemberId`, [`ClearingSystemMemberIdentification`](#clearingsystemmemberidentification)
- `lei`, [`LeiIdentification`](#leiidentification)
- `name`, `string` — Name of the financial institution
  Constraints: maxLength 140.
- `postalAddress`, [`PostalAddress`](#postaladdress)

### FrequencyCode

Type: `string` · Kind: ISO20022

Frequency rule for standing orders.
The following codes from the "EventFrequency7Code" of ISO 20022 are supported.
However, each ASPSP might restrict these values into a subset if needed.

Values:

- `DAIL` — Daily
- `WEEK` — Weekly
- `TOWK` — EveryTwoWeeks
- `MNTH` — Monthly
- `TOMN` — EveryTwoMonths
- `QUTR` — Quarterly
- `SEMI` — SemiAnnual
- `YEAR` — Annual

### FundsAvailabilityInformation

Type: `boolean` · Kind: ISO20022

Indicator that the payment can be covered or not by the funds available on the relevant account
- true: payment is covered
- false: payment is not covered
This indicator must be provided by the ASPSP when the Booking Information is present and set to "False".
This indicator will not be provided if the Booking Information is absent or set to "True".

### GenericIdentification

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.6, PDF p. 14](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=14)

ISO20022: Unique identification of an account, a person or an organisation, as assigned by an issuer.
API: The ASPSP will document which account reference type it will support.

Fields:

- `identification`, `string`, required — API: Identifier
  Constraints: maxLength 70.
- `schemeName`, `string`, required — Name of the identification scheme.
  Possible values for the scheme name, partially based on ISO20022 external code list, are the following:
  | Code | Name | Description |
  | ---- | ---- | ----------- |
  | BANK | BankPartyIdentification | Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. |
  | BBAN | BBANIdentifier | Basic Bank Account Number (BBAN) - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer. |
  | COID | CountryIdentificationCode) : Country authority given organisation identification (e.g., corporate registration number) |
  | SREN | SIREN | The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France. |
  | SRET | SIRET | The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity. |
  | NIDN | NationalIdentityNumber | Number assigned by an authority to identify the national identity number of a person. |
  Other values are also permitted, for instance:
  | Code | Name | Description |
  | ---- | ---- | ----------- |
  | OAUT | OAUTH2 | OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU |
  | CPAN | CardPan | Card PAN |
  | MPAN | MaskedPan | Card PAN where some digits were replaced for security reason |
  | TPAN | TokenizedPan | Token which was provided by a Token Service Provider (TSP) in order to obfuscate a real card PAN. The TSP must be identified in the issuer field |
  | TBAN | TokenizedIBAN | Token which was provided by a Token Service Provider (TSP) in order to obfuscate an IBAN. The TSP must be identified in the issuer field |
  Each implementation of the STET PSD2 API must specify in its own documentation which schemes can actually been used
  Constraints: maxLength 70.
- `issuer`, `string` — ISO20022: Entity that assigns the identification. this could a country code or any organisation name or identifier that can be recognized by both parties
  Constraints: maxLength 35.

### GenericLink

Type: `object` · Kind: Hal · Source: [§ 4.1.7, PDF p. 15](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=15)

hypertext reference

Fields:

- `href`, `string`, required — URI to be used. HREF stands for Hypertext REFerence.
  Constraints: maxLength 2000.
- `templated`, `boolean` — This field must be set with "true"  when [href] is an URI template, i.e. with parameters that will be set by the client afterwards. Parameter fields must be included by the API server according to RFC6570.
  Otherwise, this property must be absent or set to false
  default value: false

### HalPaymentRequest

Type: `object` · Kind: Hal

HYPERMEDIA structure used for returning the original Payment Request to the PISP

Fields:

- `paymentRequest`, [`PaymentRequestResource`](#paymentrequestresource), required
- `_links`, [`PaymentRequestLinks`](#paymentrequestlinks), required

### InstructionForCreditorAgent

Type: `object` · Kind: ISO20022

Further information related to the processing of the payment instruction that may need to be acted upon by the creditor's agent. The instruction may relate to a level of service, or may be an instruction that has to be executed by the creditor's agent, or may be information required by the creditor's agent.

Fields:

- `code`, `string` — Coded information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor's agent.
  Values:
  - `CHQB` — PayCreditorByCheque: (Ultimate) creditor must be paid by cheque.
  - `HOLD` — HoldCashForCreditor: Amount of money must be held for the (ultimate) creditor, who will call. Pay on identification.
  - `PHOB` — PhoneBeneficiary: Please advise/contact (ultimate) creditor/claimant by phone.
  - `TELB` — Telecom: Please advise/contact (ultimate) creditor/claimant by the most efficient means of telecommunication.
- `instructionInformation`, `string` — Further information complementing the coded instruction or instruction to the creditor's agent that is bilaterally agreed or specific to a user community.
  Constraints: maxLength 140.

### IntermediaryAgent

Type: `object` · Kind: ISO20022

Agent and agent account between the debtor's agent and the creditor's agent.

Fields:

- `agent`, [`PartyIdentification`](#partyidentification)
- `agentAccount`, [`AccountIdentification`](#accountidentification)

### LeiIdentification

Type: `string` · Kind: ISO20022 · Constraints: pattern `^[A-Z0-9]{18,18}[0-9]{2,2}$`

Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".

### LineDetail

Type: `object` · Kind: ISO20022

Set of elements used to provide the content of the referred document line.

Fields:

- `identification`, [`DocumentLineIdentification`](#documentlineidentification)
- `description`, `string` — Description associated with the document line.
  Constraints: maxLength 2048.
- `amount`, [`RemittanceAmount`](#remittanceamount)

### LocalInstrumentCode

Type: `string` · Kind: ISO20022

ISO20022: User community specific instrument.
Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.
API: "INST" value is to be used in order to ask for an SEPA instant Payment (SCTInst).
For International payments, this field may be valued with one of the ISO20022 external code to specify which payment instrument should be used by the creditor's bank.

### Nonce

Type: `string` · Kind: Resources · Constraints: maxLength 70

Challenge to be sent in order to avoid replay of the authentication process.

### PartyIdentification

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.8, PDF p. 15](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=15)

API : Description of a Party which can be either a person or an organization.

Fields:

- `name`, `string`, required — ISO20022: Name by which a party is known and which is usually used to identify that party.
  The [organisationId] property allows the specification of an unique and unambiguous way to identify an organisation.
  The [privateId] property allows the specification of an unique and unambiguous way to identify a person.
  Constraints: maxLength 140.
- `dateAndPlaceOfBirth`, [`DateAndPlaceOfBirth`](#dateandplaceofbirth)
- `postalAddress`, [`PostalAddress`](#postaladdress)
- `contactDetails`, [`ContactDetails`](#contactdetails)
- `organisationId`, [`GenericIdentification`](#genericidentification)
- `privateId`, [`GenericIdentification`](#genericidentification)
- `lei`, [`LeiIdentification`](#leiidentification)

### PaymentIdentification

Type: `object` · Kind: ISO20022

ISO20022: Set of elements used to reference a payment instruction.

Fields:

- `instructionId`, `string`, required — ISO20022: Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.

  API: Unique identification shared between the PISP and the ASPSP
  Constraints: pattern `^([a-zA-Z0-9 /\-?:\()\.,']{1,36})$`.
- `endToEndId`, [`EndToEndId`](#endtoendid)
- `uetr`, `string` — ISO20022: Universally unique identifier to provide an end-to-end reference of a payment transaction.
  Constraints: pattern `^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$`.

### PaymentInformationId

Type: `string` · Kind: ISO20022 · Constraints: pattern `^([a-zA-Z0-9 /\-?:\()\.,']{1,36})$`

ISO20022: Reference assigned by a sending party to unambiguously identify the payment information block within the message.
API: This field is a clue for idempotency check by the ASPSP in order to avoid duplicate SCA or payment execution. However the ASPSP may use other mechanisms.

### PaymentInformationStatusCode

Type: `string` · Kind: ISO20022 · Source: [§ 4.1.9, PDF p. 17](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=17)

ISO20022: Specifies the status of the payment information.
API: Mandatory. The following values are allowed to provide the status of the Payment Request
![](https://www.stet.eu//assets/files/documents-api/payment-request-status-1-4-2.png)

Values:

- `ACCO` — AcceptedCustomerCOnfirmed: The customer, during his/her authentication, has confirmed the payment request.
- `ACCP` — AcceptedCustomerProfile: Preceding check of technical validation was successful. Customer profile check was also successful.
- `ACSC` — AcceptedSettlementCompleted: Settlement on the debtor's account was completed. In the case of SCTInst, this status must not been set by the debtor's Bank before the reception of the positive confirmation.
- `ACSP` — AcceptedSettlementInProcess: All preceding checks such as technical validation and customer profile were successful. Dynamic risk assessment is now also successful and therefore the Payment Request was 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.
- `CANC` — Cancelled: Payment initiation was successfully cancelled after having received a request for cancellation.
- `PART` — PartiallyAccepted: A number of transactions were accepted, whereas another number of transactions have not yet achieved 'accepted' status.
- `PATC` — PartiallyAcceptedTechnicalCorrect: Payment initiation needs multiple authentications, where some but not yet all were performed. Syntactical and semantical validations are successful.
- `RCVD` — Received: Payment initiation was received by the receiving agent.
- `PDNG` — Pending: Payment request or individual transaction included in the Payment Request is pending. Further checks and status update will be performed.
- `RJCT` — Rejected: Payment request  was rejected.

### PaymentRequestLinks

Type: `object` · Kind: Hal

links that can be used for further navigation when having post a Payment Request in order to get the relevant status report.
| Link | Description |
| ---- | ----------- |
| request | This link provides the payment-request URL for retrieving or modifying |
| confirmation | This link shall not be provided when the confirmation was already posted. |
| transactions | The ASPSP might choose to provide the relevant transactions of a Payment Request through a specific link |

Fields:

- `request`, [`GenericLink`](#genericlink)
- `confirmation`, [`GenericLink`](#genericlink)
- `transactions`, [`GenericLink`](#genericlink)

### PaymentRequestResource

Type: `object` · Kind: Resources · Source: [§ 4.1.10, PDF p. 18](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=18)

ISO20022: The PaymentRequestResource message is sent by the Creditor sending party to the Debtor receiving party, directly or through agents. It is used by a Creditor to request movement of funds from the debtor account to a creditor.
API:
Information about the creditor (Id, account and agent) must be placed at instruction level. Thus multi-beneficiary payments can be handled.
The requested execution date must be placed at payment level even when all instructions are requested to be executed at the same date.
The latest case includes:
- multiple instructions having different requested execution dates
- standing orders settings

Fields:

- `resourceId`, [`ResourceId`](#resourceid)
- `paymentInformationId`, [`PaymentInformationId`](#paymentinformationid), required
- `batchBooking`, [`BatchBookingIndicator`](#batchbookingindicator)
- `creationDateTime`, [`CreationDateTime`](#creationdatetime), required
- `numberOfTransactions`, `integer`, required — ISO20022: Number of individual transactions contained in the message.
  API: Each ASPSP will specify a maximum value for this field taking into accounts its specificities about payment request handling
- `initiatingParty`, [`PartyIdentification`](#partyidentification), required
- `acceptDebtorAccountChange`, `boolean` — indicator that the debtor account can be changed in the payment request by the ASPSP if needed
  - true: debtor account can be changed (default value)
  - false: debtor account cannot be changed
- `acceptChargeHandlingChange`, `boolean` — indicator that the charge handling can be changed in the payment request by the ASPSP if needed
  - true: charge handling can be changed (default value)
  - false: charge handling cannot be changed
- `acceptInstantPaymentDowngrade`, `boolean` — Indicator that the requested instant SEPA Credit Transfer method can be downgraded by the ASPSP into a plain-vanilla SEPA Credit Transfer, when Instant SCT cannot apply or is refused by the PSU.
  Eventually, it is up to the ASPSP to downgrade or reject the payment. In case of a downgrade, the ASPSP will have to update de relevant field [LocalInstrument] and remove the "INST" value in order to keep the PISP informed.
  - true: payment method can be downgraded
  - false: payment method cannot be downgraded (default value)
- `paymentTypeInformation`, [`PaymentTypeInformation`](#paymenttypeinformation), required
- `debtor`, [`PartyIdentification`](#partyidentification)
- `debtorAccount`, [`AccountIdentification`](#accountidentification)
- `debtorAgent`, [`FinancialInstitutionIdentification`](#financialinstitutionidentification)
- `chargeBearer`, [`ChargeBearerCode`](#chargebearercode)
- `paymentInformationStatus`, [`PaymentInformationStatusCode`](#paymentinformationstatuscode)
- `statusReasonInformation`, [`StatusReasonInformation`](#statusreasoninformation)
- `fundsAvailability`, [`FundsAvailabilityInformation`](#fundsavailabilityinformation)
- `booking`, [`BookingInformation`](#bookinginformation)
- `creditTransferTransaction`, array of [`CreditTransferTransactionResource`](#credittransfertransactionresource), required — ISO20022: Payment processes required to transfer cash from the debtor to the creditor.
  API: Each ASPSP will specify a maxItems value for this field taking into accounts its specificities about payment request handling
- `supplementaryData`, [`SupplementaryData`](#supplementarydata), required

### PaymentTypeInformation

Type: `object` · Kind: ISO20022

ISO20022: Set of elements used to further specify the type of transaction.

Fields:

- `instructionPriority`, [`PriorityCode`](#prioritycode)
- `serviceLevel`, [`ServiceLevelCode`](#servicelevelcode)
- `localInstrument`, [`LocalInstrumentCode`](#localinstrumentcode)
- `categoryPurpose`, [`CategoryPurposeCode`](#categorypurposecode)

### PercentageRate

Type: `number (float)` · Kind: ISO20022

Rate expressed as a percentage, ie, in hundredths, eg, 0.7 is 7/10 of a percent, and 7.0 is 7%.

### PhoneNumber

Type: `string` · Kind: ISO20022 · Constraints: pattern `^\+[0-9]{1,3}-[0-9()+\-]{1,30}$`

The collection of information which identifies a specific phone or FAX number as defined by telecom services.
It consists of a "+" followed by the country code (from 1 to 3 characters) then a "-" and finally, any combination of numbers, "(", ")", "+" and "-" (up to 30 characters).

### PostalAddress

Type: `object` · Kind: ISO20022

ISO20022: Information that locates and identifies a specific address, as defined by postal services.

Fields:

- `addressType`, `string` — ISO20022: Identifies the nature of the postal address.
  API: Cannot be used for SEPA payments. Proprietary codes can be specified and documented if needed.
  Values:
  - `BIZZ` — Business: Address is the business address
  - `DLVY` — Delivery: Address is the address to which delivery is to take place
  - `MLTO` — Mail To: Address is the  address to which mail is sent
  - `PBOX` — PO Box: Address is is a postal office (PO) box
  - `ADDR` — Postal: Address is the complete postal address
  - `HOME` — Home: Address is the home address
- `department`, `string` — ISO20022: Identification of a division of a large organisation or building.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 70.
- `subDepartment`, `string` — ISO20022: Identification of a sub-division of a large organisation or building.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 70.
- `streetName`, `string` — ISO20022: Name of a street or thoroughfare.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 70.
- `buildingNumber`, `string` — ISO20022: Number that identifies the position of a building on a street.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 16.
- `buildingName`, `string` — ISO20022: Name of the building or house.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 16.
- `postCode`, `string` — ISO20022: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 16.
- `townName`, `string` — ISO20022: Name of a built-up area, with defined boundaries, and a local government.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 35.
- `countrySubDivision`, `string` — ISO20022: Identifies a subdivision of a country such as state, region, county.
  API: Cannot be used for SEPA payments.
  Constraints: maxLength 35.
- `country`, `string`, required — ISO20022: Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.
  Constraints: pattern `^([A-Z]{2,2})$`.
- `addressLine`, array of `string` — Unstructured address. The lines must embed zip code and town name.
  For SEPA payments, only two address lines are allowed.
  Item constraints: maxLength 70.
  Items: Address line

### PriorityCode

Type: `string` · Kind: ISO20022

ISO20022: Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.
API: This field is useless for SCTInst and thus should be ignored.

Values:

- `HIGH`
- `NORM`

### PurposeCode

Type: `string` · Kind: ISO20022

ISO20022: Underlying reason for the payment transaction, as published in an external purpose code list.
API: The following values are allowed for Payment  Request

Values:

- `ACCT` — AccountManagement: Funds moved between 2 accounts of same account holder at the same bank)
- `CASH` — CashManagementTransfer: (general cash management instruction) may be used for Transfer Initiation
- `COMC` — CommercialPayment: Transaction is related to a payment of commercial credit or debit.
- `CPKC` — CarparkCharges: General Carpark Charges Transaction is related to carpark charges.
- `SALA` — SalaryPayment: Transaction is the payment of salaries.
- `TRPT` — RoadPricing: Transport RoadPricing Transaction is for the payment to top-up pre-paid card and electronic road pricing for the purpose of transportation.

### ReferredDocumentInformation

Type: `object` · Kind: ISO20022

Provides the identification and the content of the referred document.

Fields:

- `type`, [`CodeAndIssuer`](#codeandissuer)
- `number`, `string` — Unique and unambiguous identification of the referred document.
  Constraints: maxLength 35.
- `relatedDate`, `string (date)` — Date associated with the referred document.
- `lineDetails`, array of [`LineDetail`](#linedetail) — Sets of elements used to provide the content of the referred document line.

### ReferredDocumentInformations

Type: array of [`ReferredDocumentInformation`](#referreddocumentinformation) · Kind: ISO20022

Provides the identification and the content of the referred documents.

### RegulatoryReportingCode

Type: `string` · Kind: ISO20022 · Constraints: maxLength 10

Information needed due to regulatory and statutory requirements.
Economical codes to be used are provided by the National Competent Authority

### RegulatoryReportingCodes

Type: array of [`RegulatoryReportingCode`](#regulatoryreportingcode) · Kind: ISO20022

List of needed regulatory reporting codes for international payments

### RemittanceAmount

Type: `object` · Kind: ISO20022

ISO20022: Provides details on the amounts of the document line.
API: Amounts must always be set as positive values.
| Property | Description |
| -------- | ----------- |
| duePayableAmount | Amount specified is the exact amount due and payable to the creditor. |
| discountAppliedAmount | Amount of discount to be applied to the amount due and payable to the creditor. |
| creditNoteAmount | Amount of a credit note. |
| taxAmount | Amount of the tax. |
| adjustmentAmountAndReason | Specifies detailed information on the amount and reason of the adjustment. |
| remittedAmount | Amount of money remitted. |

Fields:

- `duePayableAmount`, [`AmountType`](#amounttype)
- `discountAppliedAmount`, [`TypedAmount`](#typedamount)
- `creditNoteAmount`, [`AmountType`](#amounttype)
- `taxAmount`, [`TypedAmount`](#typedamount)
- `adjustmentAmountAndReason`, [`DocumentAdjustment`](#documentadjustment)
- `remittedAmount`, [`AmountType`](#amounttype)

### RemittanceInformation

Type: `object` · Kind: ISO20022

ISO20022: Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.
API:
- Only one occurrence of the unstructured information is allowed.
- Only one occurrence of the structured information is allowed.
- Structured and unstructured information can coexist.

Fields:

- `unstructured`, array of `string` — Unstructured remittance information.
  Each implementation may add a pattern in order to specify its own character set constraints.
  Item constraints: maxLength 140.
  Items: Relevant information to the transaction
- `structured`, array of [`StructuredRemittanceInformation`](#structuredremittanceinformation) — Structured remittance information

### RequestedExecutionDate

Type: `string (date-time)` · Kind: ISO20022

ISO20022: Date at which the initiating party requests the clearing agent to process the payment.
API:
When set by the PISP, this field indicates the future date at which the payment instruction should be executed and the debtor account should be debited.
if this field is not set by the PISP, the ASPSP is requested to execute the payment instruction as soon as possible.
In most of the cases, especially for international payments, the date of the credit on the credit account cannot be set. Only SCTInst can guarantee having the same date for this credit.
When the payment cannot be processed at the requested date, the ASPSP is allowed to shift the applied execution date to the next possible execution date for non-standing orders.
For standing orders, this field is useless since the [startDate] parameter already provides the needed information for the first payment instruction to be executed.

### ResourceId

Type: `string` · Kind: Resources · Constraints: pattern `^([a-zA-Z0-9_ /\-?:\()\.,']{1,100})$`

API: Identifier assigned by the ASPSP for further use of the created resource through API calls.
The API client cannot set or modify the value of this field.
Since this value can be exchanged between the server and the client as an URL element or for support information, it must not contain sensitive value such as personal or business data.
However it is the duty of each ASPSP to perform its own risk analysis on this topic.

### ServiceLevelCode

Type: `string` · Kind: ISO20022

ISO20022: Agreement under which or rules under which the transaction should be processed. Specifies a pre-agreed service or level of service between the parties, as published in an external service level code list.
API: Only "SEPA" (SEPA Credit Transfer) value is allowed

Values:

- `SEPA`

### StandingOrderCharacteristics

Type: `object` · Kind: ISO20022

Specifies the characteristics of a standing order.

Fields:

- `startDate`, [`StartDate`](#startdate), required
- `endDate`, [`EndDate`](#enddate)
- `executionRule`, [`ExecutionRule`](#executionrule), required
- `frequency`, [`FrequencyCode`](#frequencycode), required

### StartDate

Type: `string (date-time)` · Kind: ISO20022

The first applicable day of execution for a given period.

### StatusReasonInformation

Type: `string` · Kind: ISO20022 · Source: [§ 4.1.11, PDF p. 21](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=21)

ISO20022: Provides detailed information on the status reason.

API: Can only be used in case the status is equal to "RJCT" or "CANC". Only the following values are allowed:

Values:

- `AC01` — IncorectAccountNumber: the account number is either invalid or does not exist
- `AC04` — ClosedAccountNumber: the account is closed and cannot be used
- `AC06` — BlockedAccount: the account is blocked and cannot be used
- `AG01` — TransactionForbidden: Transaction forbidden on this type of account
- `AG03` — TransactionNotSupported: Transaction type not supported/authorized on this account
- `AM02` — NotAllowedAccount: SPecific transaction/message amount is greater than allowed maximum
- `AM04` — InsufficientFunds: Amount of funds available to cover specified message amount is insufficient
- `AM18` — InvalidNumberOfTransactions: the number of transactions exceeds the ASPSP acceptance limit
- `CH03` — RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture: The requested execution date is too far in the future
- `CH04` — RequestedExecutionDateOrRequestedCollectionDateTooFarInPast: Value in Requested Execution Date or Requested Collection Date is too far in the past
- `CNOR` — CreditorBankIsNotRegistered: Creditor bank is not registered under this BIC in the CSM
- `CUST` — RequestedByCustomer: The reject is due to the debtor: refusal or lack of liquidity
- `DS02` — OrderCancelled: An authorized user has cancelled the order
- `DUPL` — DuplicatePayment: Payment is a duplicate of another payment. Can only be set by a PISP for a payment request cancellation.
- `FF01` — InvalidFileFormat: The reject is due to the original Payment Request which is invalid (syntax, structure or values)
- `FRAD` — FraudulentOriginated: the Payment Request is considered as fraudulent
- `MS03` — NotSpecifiedReasonAgentGenerated: No reason specified by the ASPSP
- `NOAS` — NoAnswerFromCustomer: The PSU has neither accepted nor rejected the Payment Request and a time-out has occurred
- `RR01` — MissingDebtorAccountOrIdentification: The Debtor account and/or Identification are missing or inconsistent
- `RR03` — MissingCreditorNameOrAddress: Specification of the creditor's name and/or address needed for regulatory requirements is insufficient or missing.
- `RR04` — RegulatoryReason: Reject from regulatory reason
- `RR12` — InvalidPartyID: Invalid or missing identification required within a particular country or payment type.
- `TECH` — TechnicalProblem: Technical problems resulting in an erroneous transaction. Can only be set by a PISP for a payment request cancellation.

### StructuredRemittanceInformation

Type: `object` · Kind: ISO20022 · Source: [§ 4.1.12, PDF p. 22](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=22)

Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.

Fields:

- `referredDocumentInformation`, [`ReferredDocumentInformations`](#referreddocumentinformations)
- `referredDocumentAmount`, [`RemittanceAmount`](#remittanceamount)
- `creditorReferenceInformation`, [`CreditorReferenceInformation`](#creditorreferenceinformation)
- `invoicer`, [`PartyIdentification`](#partyidentification)
- `invoicee`, [`PartyIdentification`](#partyidentification)
- `taxRemittance`, [`TaxInformation`](#taxinformation)

### SupplementaryData

Type: `object` · Kind: ISO20022

ISO20022: Additional information that cannot be captured in the structured elements and/or any other specific block.
API: This structure is used to embed the relevant URLs for returning the status report to the PISP and to specify which authentication approaches are accepted by the PISP and which was chosen by the ASPSP
The [acceptedAuthenticationApproach] property can only be set by the PISP.
- Authentication approaches that are supported by the PISP. The PISP can provide several choices separated by commas.
- Case of none of the accepted approaches is supported by the ASPSP, the latest will respond with HTTP400 (Bad request) and specify wich approaches are actually supported.
The [appliedAuthentication] will be set by the ASPSP.
- The ASPSP, based on the authentication approaches proposed by the PISP, choose the one that it can processed, in respect with the preferences and constraints of the PSU and indicates in this field which approach was chosen.
- It may happen that the ASPSP considers that, in case of payment cancellation request, there is no need for authentication and will then return "NONE".

Fields:

- `acceptedAuthenticationApproach`, [`AuthenticationApproaches`](#authenticationapproaches)
- `appliedAuthenticationApproach`, [`AuthenticationApproach`](#authenticationapproach)
- `appliedAuthentication`, `string` — Can only be set by the ASPSP.
  This field allows the ASPSP to inform the PISP about the way authentication was processed during the payment request confirmation.
  Values:
  - `noAuthentication`
  - `oneFactorAuthentication`
  - `strongAuthentication`
- `scaHint`, `string` — can only be set by the PISP
  Hint given by the merchant and/or the PISP about an SCA exemption context
  Values:
  - `noScaExemption`
  - `scaExemption`
- `successfulReportUrl`, `string` — URL to be used by the ASPSP in order to notify the PISP of the finalisation of the authentication and consent process in REDIRECT and DECOUPLED approach
- `unsuccessfulReportUrl`, `string` — URL to be used by the ASPSP in order to notify the PISP of the failure of the authentication and consent process in REDIRECT and DECOUPLED approach
  If this URL is not provided by the PISP, the ASPSP will use the "successfulReportUrl" even in case of failure of the Payment Request processing
- `nextStatusRequestHint`, `string (date-time)` — Date and time at which the PISP is suggested to ask again for the status of the payment request.
- `loginHintToken`, `string` — The LOGIN_HINT_TOKEN is a piece of data that may be provided to the API client by the API server, once a PSU has been identified and authenticated.
  * through a response to a token introspection request (RFC7662)
  * through a status response to a Payment Request
  This LOGIN_HINT_TOKEN can then be sent back by the API client to the API server through the posting of a new Payment request.
  This will help the API server to identify the relevant PSU and ease the authentication process.

### TaxAmount

Type: `object` · Kind: ISO20022

ISO20022: Set of elements used to provide information on the amount of the tax record.
API: Amounts must always be set as positive values.
| Property | Description |
| -------- | ----------- |
| rate | Rate used to calculate the tax. |
| taxableBaseAmount | Amount of money on which the tax is based. |
| totalAmount | Total amount that is the result of the calculation of the tax for the record. |
| details | Set of elements used to provide details on the tax period and amount. |

Fields:

- `rate`, [`PercentageRate`](#percentagerate)
- `taxableBaseAmount`, [`AmountType`](#amounttype)
- `totalAmount`, [`AmountType`](#amounttype)
- `details`, array of [`TaxRecordDetails`](#taxrecorddetails) — Set of elements used to provide details on the tax period and amount.

### TaxInformation

Type: `object` · Kind: ISO20022

ISO20022: Details about tax paid, or to be paid, to the government in accordance with the law, including pre-defined parameters such as thresholds and type of account.
API: Amounts must always be set as positive values.
The [totalTaxableBaseAmount] property indicates the total amount of money on which the tax is based.
The [totalTaxAmount] property indicates the total amount of money as result of the calculation of the tax.

Fields:

- `creditor`, [`TaxParty`](#taxparty)
- `debtor`, [`TaxParty`](#taxparty)
- `ultimateDebtor`, [`TaxParty`](#taxparty)
- `administrationZone`, `string` — Territorial part of a country to which the tax payment is related.
  Constraints: maxLength 35.
- `referenceNumber`, `string` — Tax reference information that is specific to a taxing agency.
  Constraints: maxLength 140.
- `method`, `string` — Method used to indicate the underlying business or how the tax is paid.
  Constraints: maxLength 35.
- `totalTaxableBaseAmount`, [`AmountType`](#amounttype)
- `totalTaxAmount`, [`AmountType`](#amounttype)
- `date`, `string (date)` — Date by which tax is due.
- `sequenceNumber`, `integer (int32)` — Sequential number of the tax report.
- `record`, array of [`TaxRecord`](#taxrecord) — Records of tax details

### TaxParty

Type: `object` · Kind: ISO20022

Set of elements used to identify a party of the transaction to which the tax applies.
The [authorization] property aims to provide the details of the authorised tax paying party.

Fields:

- `taxIdentification`, `string` — Tax identification number of the party.
  Constraints: maxLength 35.
- `registrationIdentification`, `string` — Unique identification, as assigned by an organisation, to unambiguously identify a party.
  Constraints: maxLength 35.
- `taxType`, `string` — Type of tax payer.
  Constraints: maxLength 35.
- `authorisation`, [`TitleAndName`](#titleandname)

### TaxPeriod

Type: `object` · Kind: ISO20022

Set of elements used to provide details on the period of time related to the tax payment.
The [type] property aims to identify the period related to the tax payment.

Fields:

- `year`, `string` — Year related to the tax payment.
  Constraints: pattern `^[0-9]{4,4}$`.
- `type`, [`TaxRecordPeriodCode`](#taxrecordperiodcode)
- `fromDate`, `string (date)` — Start date of the range.
- `toDate`, `string (date)` — End date of the range.

### TaxRecord

Type: `object` · Kind: ISO20022

Record of tax details
the [period] property embbeds the set of elements used to provide details on the period of time related to the tax payment.
the [amount] property embbeds the set of elements used to provide information on the amount of the tax record.

Fields:

- `type`, `string` — High level code to identify the type of tax details.
  Constraints: maxLength 35.
- `category`, `string` — Specifies the tax code as published by the tax authority.
  Constraints: maxLength 35.
- `categoryDetails`, `string` — Provides further details of the category tax code.
  Constraints: maxLength 35.
- `debtorStatus`, `string` — Code provided by local authority to identify the status of the party that has drawn up the settlement document.
  Constraints: maxLength 35.
- `certificateIdentification`, `string` — Identification number of the tax report as assigned by the taxing authority.
  Constraints: maxLength 35.
- `formsCode`, `string` — Identifies, in a coded form, on which template the tax report is to be provided.
  Constraints: maxLength 35.
- `period`, [`TaxPeriod`](#taxperiod)
- `taxAmount`, [`TaxAmount`](#taxamount)
- `additionalInformation`, `string` — Further details of the tax record.
  Constraints: maxLength 140.

### TaxRecordDetails

Type: `object` · Kind: ISO20022

ISO20022: Elements used to provide details on the tax period and amount.
API: Amounts must always be set as positive values.
| Property | Description |
| -------- | ----------- |
| period | Set of elements used to provide details on the period of time related to the tax payment. |
| amount | Underlying tax amount related to the specified period. |

Fields:

- `period`, [`TaxPeriod`](#taxperiod)
- `amount`, [`AmountType`](#amounttype), required

### TaxRecordPeriodCode

Type: `string` · Kind: ISO20022

Identification of the period related to the tax payment.

Values:

- `MM01` — FirstMonth Tax is related to the second month of the period.
- `MM02` — SecondMonth Tax is related to the first month of the period.
- `MM03` — ThirdMonth Tax is related to the third month of the  period.
- `MM04` — FourthMonth Tax is related to the fourth month of the period.
- `MM05` — FifthMonth Tax is related to the fifth month of the period.
- `MM06` — SixthMonth Tax is related to the sixth month of the period.
- `MM07` — SeventhMonth Tax is related to the seventh month of the period.
- `MM08` — EighthMonth Tax is related to the eighth month of the period.
- `MM09` — NinthMonth Tax is related to the ninth month of the period.
- `MM10` — TenthMonth Tax is related to the tenth month of the period.
- `MM11` — EleventhMonth Tax is related to the eleventh month of the period.
- `MM12` — TwelfthMonth Tax is related to the twelfth month of the period.
- `QTR1` — FirstQuarter Tax is related to the first quarter of the period.
- `QTR2` — SecondQuarter Tax is related to the second quarter of the period.
- `QTR3` — ThirdQuarter Tax is related to the third quarter of the period.
- `QTR4` — FourthQuarter Tax is related to the fourth quarter of the period.
- `HLF1` — FirstHalf Tax is related to the first half of the period.
- `HLF2` — SecondHalf Tax is related to the second half of the period.

### TitleAndName

Type: `object` · Kind: ISO20022

Title and Name of the party or the party's authorised reprensentative.

Fields:

- `title`, `string` — Title or position of the party or the party's authorised reprensentative.
  Constraints: maxLength 35.
- `name`, `string` — Name of the party or the party's authorised reprensentative.
  Constraints: maxLength 140.

### TransactionIndividualStatusCode

Type: `string` · Kind: ISO20022 · Source: [§ 4.1.13, PDF p. 27](https://openfinanceguide.com/docs/stet/1.6.3/pdf/api-dsp2-stet-v1.6.3.1-part-2-functional-model.pdf#page=27)

ISO20022: Specifies the status of the payment information group.

API: Only the following values are allowed to provide the status of the subsequent CREDIT TRANSFER to the Payment Request
![](https://www.stet.eu//assets/files/documents-api/transaction-status-1-4-2.png)

Values:

- `ACSC` — AcceptedSettlementCompleted: Settlement on the debtor's account was completed. In the case of SCTInst, this status must not been set by the debtor's Bank before the reception of the positive confirmation. The transaction cannot be cancelled.
- `ACSP` — AcceptedSettlementInProcess: All preceding checks such as technical validation and customer profile were successful and therefore the Payment Request was accepted for execution. The transaction cannot be cancelled.
- `ACTC` — AcceptedTechnicalValidation: Authentication and syntactical and semantical validation are successful. The transaction might be cancelled.
- `CANC` — Cancelled: Payment initiation was successfully cancelled after having received a request for cancellation.
- `PDNG` — Pending: Payment request or individual transaction included in the Payment Request is pending. Further checks and status update will be performed. The transaction might be cancelled.
- `RJCT` — Rejected: Payment request or individual transaction included in the Payment Request was rejected.

### TypedAmount

Type: `object` · Kind: ISO20022

ISO20022: Typed Amount
API: Amounts must always be set as positive values.

Fields:

- `type`, `string` — Type of the amount
  Constraints: maxLength 35.
- `amount`, [`AmountType`](#amounttype), required

### Workspace

Type: `object`

Some ASPSP may provide different user workspaces that can be accessed by the same authenticated PSU. In this case, the AISP is able to retrieve the different pieces of account information by specifying the relevant workspace as a QUERY parameter. Identification of the workspace to be used when processing the request. If not present, the default workspace to be used is the one that is linked to the authentication processed during the OAuth2 access token request.

Fields:

- `identification`, `string`, required — identification of the workspace to be used as an optional query parameter for some AISP queries
  Constraints: maxLength 32.
- `label`, `string`, required — textual description of the workspace as specified by the ASPSP in relationship wth the PSU
  Constraints: maxLength 128.
