openapi: 3.0.1 info: title: Open Banking Payment Initiation Service description: | There are several flows (sequence of API calls) to complete a payment. Which API's are required depend on the choosen `PaymentProduct`, ASPSP (debtor bank) and the chosen strong customer authentication approach. The response of an API call will indicate in the 'Links' section which next API call is required to complete the payment. **Sandbox** Several AspspId's are availible to test specific payment initiation scenario's, see sandbox documentation. The following authorization token can be used to test in the sandbox (unlike a real token this one doesn't expire): 97fb13a74c712d8c7a50476e71769eaf version: "3.3.1" x-tpp-buildversion: '1.31' servers: - url: /xs2a/routingservice/services/ob/pis/v3 paths: /payments: post: security: - Authorization: [] tags: - Payment Initiation Service summary: Payment initiation request description: | Use this operation to initiate a payment on behalf of the Payment Service User. Strong customer authentication might be required by the ASPSP, the response will indicate which step is required to complete the payment. operationId: paymentInitiate parameters: - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyNotificationUrl' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/AppRedirectPreferred' - $ref: '#/components/parameters/PsuId' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/Digest" requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentInitiationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentInitiationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' x-codegen-request-body-name: body /payments/{paymentId}/status: get: security: - Authorization: [] tags: - Payment Initiation Service summary: Status of the payment request description: | Use this operation to retrieve the status of a payment. operationId: paymentStatus parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/Signature' - $ref: '#/components/parameters/Digest' responses: 200: description: | Successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentDetailedInformation' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/confirmation: post: security: - Authorization: [] summary: Confirmation of the payment request by the PISP tags: - Payment Initiation Service description: | This API is used to confirm a payment. Confirmation is required when the link 'ConfirmationRequired' is returned. Confirmation of a payment can be required in two cases 1) When its required by the ASPSP standard 2) when a payment fee is involved. operationId: paymentConfirmation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentConfirmationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/identification: post: security: - Authorization: [] summary: Payment identification request tags: - Payment Initiation Service description: | Use this operation to identify a PSU in decoupled approach. The response of the post payments api will provide a link to this api in the 'PostIdentificationForDecoupled' field if this step is required. operationId: paymentIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/authorisations: post: security: - Authorization: [] summary: Payment authorisation request tags: - Payment Initiation Service description: | Use this operation to authorise a PSU explicitly. This has to be used if multiple PSU's have to authorise the payment. Background information: If only one PSU has to authorise, this step is started implicitly by the post payments api. operationId: paymentAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/authorisations/{authorisationId}: put: security: - Authorization: [] summary: Payment authorisation request tags: - Payment Initiation Service description: | Use this operation to change the authorisation resource. operationId: paymentAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}: delete: security: - Authorization: [] summary: Payment cancellation request tags: - Payment Initiation Service description: | Use this operation to cancel a payment on behalf of the Payment Service User. Strong Customer Authentication might be required by the ASPSP, the response will indicate which step is required to complete the cancellation. operationId: paymentCancellation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/AspspPsuId' - $ref: '#/components/parameters/AspspPsuIdType' - $ref: '#/components/parameters/AspspPsuCorporateId' - $ref: '#/components/parameters/AspspPsuCorporateIdType' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/PsuIpAddress' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentCancellationResponse' 204: $ref: '#/components/responses/204' 405: $ref: '#/components/responses/405' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/cancellation-identification: post: security: - Authorization: [] summary: Payment cancellation identification request tags: - Payment Initiation Service description: | Use this operation to identify a Payment Service User in a decoupled approach. operationId: paymentCancellationIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/cancellation-authorisations: post: security: - Authorization: [] tags: - Payment Initiation Service summary: Payment cancellation authorisation request description: | Use this operation to authorise a Payment Service User (PSU) explicitly. operationId: paymentCancellationAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /payments/{paymentId}/cancellation-authorisations/{authorisationId}: put: security: - Authorization: [] tags: - Payment Initiation Service summary: Payment cancellation authorisation request update description: | Use this operation to update the authorisation resource. operationId: paymentCancellationAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments: post: security: - Authorization: [] tags: - Periodic Payment Initiation Service (Extended service) summary: Payment initiation request description: | Use this operation to initiate a payment on behalf of the Payment Service User. Strong customer authentication might be required by the ASPSP, the response will indicate which step is required to complete the payment. operationId: periodicPaymentInitiate parameters: - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/AppRedirectPreferred' - $ref: '#/components/parameters/PsuId' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/Digest" requestBody: content: application/json: schema: $ref: '#/components/schemas/PeriodicPaymentInitiationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentInitiationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' x-codegen-request-body-name: body /periodic-payments/{paymentId}/status: get: security: - Authorization: [] tags: - Periodic Payment Initiation Service (Extended service) summary: Status of the payment request description: | Use this operation to retrieve the status of a payment. operationId: periodicPaymentStatus parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/Signature' - $ref: '#/components/parameters/Digest' responses: 200: description: | Successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentDetailedInformation' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/confirmation: post: security: - Authorization: [] summary: Confirmation of the payment request by the PISP tags: - Periodic Payment Initiation Service (Extended service) description: | This Api is used to confirm a payment. Confirmation is required when the link 'ConfirmationRequired' is returned. Confirmation of a payment can be required in two cases 1) When its required by the ASPSP standard 2) when a payment fee is involved. operationId: periodicPaymentConfirmation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentConfirmationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/identification: post: security: - Authorization: [] summary: Payment identification request tags: - Periodic Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. The response of the post payments api will provide a link to this api in the 'PostIdentificationForDecoupled' field if this step is required. operationId: PeriodicPaymentIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/authorisations: post: security: - Authorization: [] summary: Payment authorisation request tags: - Periodic Payment Initiation Service (Extended service) description: | Use this operation to authorise a PSU explicitly. This has to be used if multiple PSU's have to authorise the payment. Background information: If only one PSU has to authorise, this step is started implicitly by the post payments api. operationId: periodicPaymentAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/authorisations/{authorisationId}: put: security: - Authorization: [] summary: Payment authorisation request tags: - Periodic Payment Initiation Service (Extended service) description: | Use this operation to change the authorisation resource. operationId: periodicPaymentAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}: delete: security: - Authorization: [] summary: Payment cancellation request tags: - Periodic Payment Initiation Service (Extended service) description: | Use this operation to cancel a payment on behalf of the Payment Service User. Strong Customer Authentication might be required by the ASPSP, the response will indicate which step is required to complete the cancellation. operationId: periodicPaymentCancellation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/AspspPsuId' - $ref: '#/components/parameters/AspspPsuIdType' - $ref: '#/components/parameters/AspspPsuCorporateId' - $ref: '#/components/parameters/AspspPsuCorporateIdType' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/PsuIpAddress' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentCancellationResponse' 204: $ref: '#/components/responses/204' 405: $ref: '#/components/responses/405' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/cancellation-identification: post: security: - Authorization: [] summary: Payment cancellation identification request tags: - Periodic Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. operationId: periodicPaymentCancellationIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/cancellation-authorisations: post: security: - Authorization: [] tags: - Periodic Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request description: | Use this operation to authorise a PSU explicitly. operationId: periodicPaymentCancellationAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /periodic-payments/{paymentId}/cancellation-authorisations/{authorisationId}: put: security: - Authorization: [] tags: - Periodic Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request update description: | Use this operation to update the authorisation resource. operationId: periodicPaymentCancellationAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments: post: security: - Authorization: [] tags: - Scheduled Payment Initiation Service (Extended service) summary: Payment initiation request description: | Use this operation to initiate a payment on behalf of the Payment Service User. Strong customer authentication might be required by the ASPSP, the response will indicate which step is required to complete the payment. operationId: scheduledPaymentInitiate parameters: - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/AppRedirectPreferred' - $ref: '#/components/parameters/PsuId' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/Digest" requestBody: content: application/json: schema: $ref: '#/components/schemas/ScheduledPaymentInitiationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentInitiationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' x-codegen-request-body-name: body /scheduled-payments/{paymentId}/status: get: security: - Authorization: [] tags: - Scheduled Payment Initiation Service (Extended service) summary: Status of the payment request description: | Use this operation to retrieve the status of a payment. operationId: scheduledPaymentStatus parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/Signature' - $ref: '#/components/parameters/Digest' responses: 200: description: | Successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentDetailedInformation' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/confirmation: post: security: - Authorization: [] summary: Confirmation of the payment request by the PISP tags: - Scheduled Payment Initiation Service (Extended service) description: | This Api is used to confirm a payment. Confirmation is required when the link 'ConfirmationRequired' is returned. Confirmation of a payment can be required in two cases 1) When its required by the ASPSP standard 2) when a payment fee is involved. operationId: scheduledPaymentConfirmation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentConfirmationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/identification: post: security: - Authorization: [] summary: Payment identification request tags: - Scheduled Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. The response of the post payments api will provide a link to this api in the 'PostIdentificationForDecoupled' field if this step is required. operationId: scheduledPaymentIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/authorisations: post: security: - Authorization: [] summary: Payment authorisation request tags: - Scheduled Payment Initiation Service (Extended service) description: | Use this operation to authorise a PSU explicitly. This has to be used if multiple PSU's have to authorise the payment. Background information: If only one PSU has to authorise, this step is started implicitly by the post scheduled-payments api. operationId: scheduledPaymentAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/authorisations/{authorisationId}: put: security: - Authorization: [] summary: Payment authorisation request tags: - Scheduled Payment Initiation Service (Extended service) description: | Use this operation to change the authorisation resource. operationId: scheduledPaymentAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}: delete: security: - Authorization: [] summary: Payment cancellation request tags: - Scheduled Payment Initiation Service (Extended service) description: | Use this operation to cancel a payment on behalf of the Payment Service User. Strong Customer Authentication might be required by the ASPSP, the response will indicate which step is required to complete the cancellation. operationId: scheduledPaymentCancellation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/AspspPsuId' - $ref: '#/components/parameters/AspspPsuIdType' - $ref: '#/components/parameters/AspspPsuCorporateId' - $ref: '#/components/parameters/AspspPsuCorporateIdType' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/PsuIpAddress' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentCancellationResponse' 204: $ref: '#/components/responses/204' 405: $ref: '#/components/responses/405' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/cancellation-identification: post: security: - Authorization: [] summary: Payment cancellation identification request tags: - Scheduled Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. operationId: scheduledPaymentCancellationIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/cancellation-authorisations: post: security: - Authorization: [] tags: - Scheduled Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request description: | Use this operation to authorise a PSU explicitly. operationId: scheduledPaymentCancellationAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /scheduled-payments/{paymentId}/cancellation-authorisations/{authorisationId}: put: security: - Authorization: [] tags: - Scheduled Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request update description: | Use this operation to update the authorisation resource. operationId: scheduledPaymentCancellationAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments: post: security: - Authorization: [] tags: - Bulk Payment Initiation Service (Extended service) summary: Payment initiation request description: | Use this operation to initiate a payment on behalf of the Payment Service User. Strong customer authentication might be required by the ASPSP, the response will indicate which step is required to complete the payment. operationId: bulkPaymentInitiate parameters: - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/AppRedirectPreferred' - $ref: '#/components/parameters/PsuId' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' - $ref: "#/components/parameters/Signature" - $ref: "#/components/parameters/Digest" requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkPaymentInitiationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentInitiationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' x-codegen-request-body-name: body /bulk-payments/{paymentId}/status: get: security: - Authorization: [] tags: - Bulk Payment Initiation Service (Extended service) summary: Status of the payment request description: | Use this operation to retrieve the status of a payment. operationId: bulkPaymentStatus parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/Signature' - $ref: '#/components/parameters/Digest' responses: 200: description: | Successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PaymentDetailedInformation' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/confirmation: post: security: - Authorization: [] summary: Confirmation of the payment request by the PISP tags: - Bulk Payment Initiation Service (Extended service) description: | This Api is used to confirm a payment. Confirmation is required when the link 'ConfirmationRequired' is returned. Confirmation of a payment can be required in two cases 1) When its required by the ASPSP standard 2) when a payment fee is involved. operationId: bulkPaymentConfirmation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentConfirmationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/identification: post: security: - Authorization: [] summary: Payment identification request tags: - Bulk Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. The response of the post payments api will provide a link to this api in the 'PostIdentificationForDecoupled' field if this step is required. operationId: bulkPaymentIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/authorisations: post: security: - Authorization: [] summary: Payment authorisation request tags: - Bulk Payment Initiation Service (Extended service) description: | Use this operation to authorise a PSU explicitly. This has to be used if multiple PSU's have to authorise the payment. Background information: If only one PSU has to authorise, this step is started implicitly by the post bulk-payments api. operationId: bulkPaymentAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/authorisations/{authorisationId}: put: security: - Authorization: [] summary: Payment authorisation request tags: - Bulk Payment Initiation Service (Extended service) description: | Use this operation to change the authorisation resource. operationId: bulkPaymentAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}: delete: security: - Authorization: [] summary: Payment cancellation request tags: - Bulk Payment Initiation Service (Extended service) description: | Use this operation to cancel a payment on behalf of the Payment Service User. Strong Customer Authentication might be required by the ASPSP, the response will indicate which step is required to complete the cancellation. operationId: bulkPaymentCancellation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/AspspPsuId' - $ref: '#/components/parameters/AspspPsuIdType' - $ref: '#/components/parameters/AspspPsuCorporateId' - $ref: '#/components/parameters/AspspPsuCorporateIdType' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/PsuIpAddress' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentCancellationResponse' 204: $ref: '#/components/responses/204' 405: $ref: '#/components/responses/405' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/cancellation-identification: post: security: - Authorization: [] summary: Payment cancellation identification request tags: - Bulk Payment Initiation Service (Extended service) description: | Use this operation to identify a PSU in decoupled approach. operationId: bulkPaymentCancellationIdentification parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/cancellation-authorisations: post: security: - Authorization: [] tags: - Bulk Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request description: | Use this operation to authorise a PSU explicitly. operationId: bulkPaymentCancellationAuthorisation parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' responses: 201: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /bulk-payments/{paymentId}/cancellation-authorisations/{authorisationId}: put: security: - Authorization: [] tags: - Bulk Payment Initiation Service (Extended service) summary: Payment cancellation authorisation request update description: | Use this operation to update the authorisation resource. operationId: bulkPaymentCancellationAuthorisationUpdate parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds: post: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Refund initiation request description: | Use this operation to initiate an order for refunds containing more than 1 refund instruction. operationId: refundInitiate parameters: - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/UseAuthorisationLandingPages' - $ref: '#/components/parameters/Locale' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' requestBody: content: application/json: schema: $ref: '#/components/schemas/RefundInitiationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundInitiationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds/{refundId}/status: get: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Status of the refund description: | Use this operation to retrieve the status of a refund. operationId: refundStatus parameters: - $ref: '#/components/parameters/refundId' - $ref: '#/components/parameters/confirm' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/PsuIpAddress' responses: 200: description: | Successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundStatusResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds/{refundId}/confirmation: post: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Confirmation of the refund request by the PISP description: | This API is used to confirm a refund, confirmation is required when the link 'ConfirmationRequired' is returned. operationId: refundConfirmation parameters: - $ref: '#/components/parameters/refundId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyReturnUrl' - $ref: '#/components/parameters/LastLogin' - $ref: '#/components/parameters/PsuIpAddress' - $ref: '#/components/parameters/PsuIpPort' - $ref: '#/components/parameters/HttpMethod' - $ref: '#/components/parameters/HttpHeaderUserAgent' - $ref: '#/components/parameters/HttpHeaderReferer' - $ref: '#/components/parameters/HttpHeaderAccept' - $ref: '#/components/parameters/HttpHeaderAcceptCharset' - $ref: '#/components/parameters/HttpHeaderAcceptEncoding' - $ref: '#/components/parameters/HttpHeaderAcceptLanguage' - $ref: '#/components/parameters/DeviceId' - $ref: '#/components/parameters/GeoLocation' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfirmationRequest' required: false responses: 200: description: | OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundConfirmationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds/{refundId}/identification: post: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Refund identification request description: | Use this operation to identify a PSU in decoupled approach. The response of the post refunds API will provide a link to this api in the 'PostIdentificationForDecoupled' field if this step is required. operationId: refundIdentification parameters: - $ref: '#/components/parameters/refundId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentIdentificationRequest' responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundIdentificationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds/{refundId}/authorisations: post: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Refund authorisation request description: | Use this operation to authorise a refund explicitly. operationId: refundAuthorisation parameters: - $ref: '#/components/parameters/refundId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: description: | Description of request. content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationRequest' required: false responses: 201: description: | Created headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /refunds/{refundId}/authorisations/{authorisationId}: put: security: - Authorization: [] tags: - Refund Initiation Service V3 (Extended services) summary: Refund authorisation request description: | Use this operation to change the authorisation resource. operationId: refundAuthorisationUpdate parameters: - $ref: '#/components/parameters/refundId' - $ref: '#/components/parameters/authorisationId' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentAuthorisationUpdateRequest' required: false responses: 200: description: | Updated headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/RefundAuthorisationResponse' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: $ref: '#/components/responses/500' 502: $ref: '#/components/responses/502' 503: $ref: '#/components/responses/503' 511: $ref: '#/components/responses/511' /preferences/{Psuid}/: get: security: - Authorization: [] tags: - Debtor Preference Retrieval description: | Currently could be used only for iDEAL 2.0 payments summary: Get PSU prefered bank and prefered account operationId: getAllPsuBanksWithAccounts parameters: - $ref: '#/components/parameters/Psuid' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/Signature' - $ref: "#/components/parameters/Digest" - $ref: "#/components/parameters/AspspId" - $ref: "#/components/parameters/InitiatingPartySubId" responses: 200: description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' content: application/json: schema: $ref: '#/components/schemas/PsuBankPreferences' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: Missing or wrong IP Token content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: Expired IP Token content: application/json: schema: $ref: '#/components/schemas/Error' 404: $ref: '#/components/responses/404' 415: $ref: '#/components/responses/415' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: Authorization: type: http scheme: bearer schemas: PaymentInitiationRequest: description: | Payment Initiation Request required: - CommonPaymentData properties: PaymentProduct: type: array description: | Multiple PaymentProducts can only be supplied if `UseAuthorisationLandingPages` equals `TRUE`. These will then influence ASPSPs visible to the PSU on the Initiation Service pages. The IDEAL payment product cannot be mixed with the other PSD2-xxxx payment products, because it requires a separate subscription and therefore uses a different authorization token. items: $ref: '#/components/schemas/PaymentProductEnum' PaymentProductChangeable: type: boolean default: false description: | Allowing PSU to change pre-selected payment product if the ASPSP supports more than one from the list provided by the Initiating Party. Usable only if `UseAuthorisationLandingPages` equals `TRUE`. Otherwise will be ignored. ProductSpecificMasterData: type: array description: | The array is defined to mention the master data specific to selected payment product items: $ref: '#/components/schemas/ProductSpecificMasterData' PsuData: $ref: '#/components/schemas/PsuData' CommonPaymentData: $ref: '#/components/schemas/PaymentInitiationRequestBasic' IDEALPayments: $ref: '#/components/schemas/IDEALPayments' example: { "PaymentProduct": [ "PSD2-SCT" ], "PsuData": { "AspspId": "20100" }, "CommonPaymentData": { "EndToEndId": "ID-0123456789", "PreferredScaMethod": [ "Redirect" ], "Amount": { "Amount": "123.45", "Currency": "EUR" }, "DebtorInformation": { "Name": "Bob Smith", "Agent": "8QB2EN7P", "Account": { "SchemeName": "IBAN", "Identification": "DE89370400440532013000", "Currency": "EUR" }, }, "RemittanceInformation": "Remittance Information", } } PaymentInitiationRequestBasic: type: object required: - Amount properties: UsePreAuthentication: type: boolean default: false description: | This field is only applicable for Aspsp which support pre-authentication. It can also be filled in payments toward other ASPSP's, but the value will then be ignored. * If set to true the TPP solution will store the pre-authentication token for use with future payments. This will only work if also a PsuId is provided which is stored in the TPP solution. * If set to false the pre-authentication token will only be used to finish one payment. After which it will be discarded. EndToEndId: maxLength: 35 minLength: 1 type: string description: | Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Required for PSD2 payments example: ID-0123456789 InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. Required for PSD2 payments example: InitParty ref-id-23457890 PreferredScaMethod: type: array description: | Multiple preferred methods can be choosen. It is not guaranteed that the ASPSP will use the preferred method. items: type: string enum: - Redirect - Decoupled - Embedded TransactionType: type: string description: | Transaction type used in this transaction. ONLINE - Used particularly for Online transactions, e.g. a webshop QR - Used for transactions from a QR. eg. Invoice INSTORE - Used for instore transactions for eg.- a POS device P2P - Used for peer-to-peer (customer-to-customer) transactions, e.g. a Transaction Request enum: - Online - QR - Instore - P2P default: Online ExpirationPeriod: type: integer description: | Time in seconds after which the transaction will expire. If not provided a default value will be used if the `PaymentProduct` equals `IDEAL`. For ONLINE - 1200 and for INSTORE - 120. Required for QR type transactions minimum: 60 maximum: 3600 exclusiveMinimum: false exclusiveMaximum: false Amount: $ref: '#/components/schemas/Amount' DebtorInformation: $ref: '#/components/schemas/DebtorInformation' CreditorInformation: $ref: '#/components/schemas/CreditorInformation' ChargeBearer: type: string description: | Charge bearer. Note - ISO20022 ChargeBearerType1Code. enum: - DEBT - CRED - SHAR - SLEV PurposeCode: type: string description: | Specifies the purpose code that resulted in a payment initiation. Fill with a 4 characters code from the ExternalPurpose1Code list published by ISO20022 or use the values ‘Commerce’, ‘Carpark’, ‘Transport’. CategoryPurpose: $ref: '#/components/schemas/CategoryPurposeEnum' PaymentContext: $ref: '#/components/schemas/RiskInformation' CrossCurrencyPayments: $ref: '#/components/schemas/CrossCurrencyPayment' RegulatoryReportingCodes: maxItems: 10 minItems: 1 type: array description: | List of needed regulatory reporting codes for international payments items: $ref: '#/components/schemas/RegulatoryReportingCode' x-DefinitionType: ISO20022 RemittanceInformation: maxLength: 140 minLength: 1 type: string description: | Information supplied to enable the matching of an entry with the items that the transfer is intended to settle. This information will be visible to the Payment Service User. **Conditional validation:** * In case the PaymentProduct is set to IDEAL the maxLength is limited to 35 RemittanceInformationStructured: $ref: '#/components/schemas/RemittanceInformationStructured' description: | Basic type for Payment Initiation Request ScheduledPaymentInitiationRequest: description: | ScheduledPaymentInitiationRequest required: - CommonPaymentData properties: PaymentProduct: type: array description: | Multiple PaymentProducts can only be supplied if `UseAuthorisationLandingPages` equals `TRUE`. These will then influence ASPSP's visible to the PSU on the Initiation Service pages. items: $ref: '#/components/schemas/PaymentProductEnum' PaymentProductChangeable: type: boolean default: false description: | Allowing PSU to change pre-selected payment product if the ASPSP supports more than one from the list provided by the Initiating Party. Usable only if `UseAuthorisationLandingPages` equals `TRUE`. Otherwise will be ignored. ProductSpecificMasterData: type: array description: | The array is defined to mention the master data specific to selected payment product items: $ref: '#/components/schemas/ProductSpecificMasterData' PsuData: $ref: '#/components/schemas/PsuData' CommonPaymentData: $ref: '#/components/schemas/ScheduledPaymentInitiationRequestBasic' example: { "PaymentProduct": [ "PSD2-SCT" ], "PsuData": { "AspspId": "20111" }, "CommonPaymentData": { "EndToEndId": "ID-0123456789", "PreferredScaMethod": [ "Redirect" ], "Amount": { "Amount": "123.45", "Currency": "EUR" }, "DebtorInformation": { "Name": "Bob Smith", "Agent": "8QB2EN7P", "Account": { "SchemeName": "IBAN", "Identification": "DE89370400440532013000", "Currency": "EUR" }, }, "RemittanceInformation": "Remittance Information", "RequestedExecutionDate": "2021-12-08T07:01:57.587Z" } } ScheduledPaymentInitiationRequestBasic: type: object required: - Amount - RequestedExecutionDate properties: UsePreAuthentication: type: boolean default: false description: | This field is only applicable for ASPSP's which support pre-authentication. It can also be filled in payments toward other ASPSP's, but the value will then be ignored. * If set to true the TPP solution will store the pre-authentication token for use with future payments. This will only work if also a PsuId is provided which is stored in the TPP solution. * If set to false the pre-authentication token will only be used to finish one payment. After which it will be discarded. EndToEndId: maxLength: 35 minLength: 1 type: string description: | Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Required for PSD2 payments example: ID-0123456789 InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. Required for PSD2 payments example: InitParty ref-id-23457890 PreferredScaMethod: type: array description: | Multiple preferred methods can be choosen. It is not guaranteed that the ASPSP will use the preferred method. items: type: string enum: - Redirect - Decoupled - Embedded TransactionType: type: string description: | Transaction type used in this transaction. ONLINE - Used particularly for Online transactions, e.g. a webshop QR - Used for transactions from a QR. eg. Invoice INSTORE - Used for instore transactions for eg.- a POS device P2P - Used for peer-to-peer (customer-to-customer) transactions, e.g. a Transaction Request enum: - Online - QR - Instore - P2P default: Online ExpirationPeriod: type: integer description: | Time in seconds after which the transaction will expire. If not provided a default value will be used if the `PaymentProduct` equals `IDEAL`. For ONLINE - 1200 and for INSTORE - 120. Required for QR type transactions minimum: 60 maximum: 3600 exclusiveMinimum: false exclusiveMaximum: false Amount: $ref: '#/components/schemas/Amount' DebtorInformation: $ref: '#/components/schemas/DebtorInformation' CreditorInformation: $ref: '#/components/schemas/CreditorInformation' ChargeBearer: type: string description: | Charge bearer. Note - ISO20022 ChargeBearerType1Code. enum: - DEBT - CRED - SHAR - SLEV PurposeCode: type: string description: | Specifies the purpose code that resulted in a payment initiation. Fill with a 4 characters code from the ExternalPurpose1Code list published by ISO20022 or use the values ‘Commerce’, ‘Carpark’, ‘Transport’. CategoryPurpose: $ref: '#/components/schemas/CategoryPurposeEnum' PaymentContext: $ref: '#/components/schemas/RiskInformation' CrossCurrencyPayments: $ref: '#/components/schemas/CrossCurrencyPayment' RegulatoryReportingCodes: maxItems: 10 minItems: 1 type: array description: | List of needed regulatory reporting codes for international payments items: $ref: '#/components/schemas/RegulatoryReportingCode' x-DefinitionType: ISO20022 RemittanceInformation: maxLength: 140 minLength: 1 type: string description: | Information supplied to enable the matching of an entry with the items that the transfer is intended to settle. This information will be visible to the Payment Service User. **Conditional validation:** * In case the PaymentProduct is set to IDEAL the maxLength is limited to 35 RemittanceInformationStructured: $ref: '#/components/schemas/RemittanceInformationStructured' RequestedExecutionDate: type: string description: | Date of first payment execution. ISO 8601 DateTime. format: date-time description: | Basic type for Scheduled Payment InitiationRequest PeriodicPaymentInitiationRequest: description: | Periodic Payment Initiation Request required: - CommonPaymentData properties: PaymentProduct: type: array description: | Multiple PaymentProducts can only be supplied if `UseAuthorisationLandingPages` equals `TRUE`. These will then influence ASPSPs visible to the PSU on the Initiation Service pages. items: $ref: '#/components/schemas/PaymentProductEnum' PaymentProductChangeable: type: boolean default: false description: | Allowing PSU to change pre-selected payment product if the ASPSP supports more than one from the list provided by the Initiating Party. Usable only if `UseAuthorisationLandingPages` equals `TRUE`. Otherwise will be ignored. ProductSpecificMasterData: type: array description: | The array is defined to mention the master data specific to selected payment product items: $ref: '#/components/schemas/ProductSpecificMasterData' PsuData: $ref: '#/components/schemas/PsuData' CommonPaymentData: $ref: '#/components/schemas/PeriodicPaymentInitiationRequestBasic' example: { "PaymentProduct": [ "PSD2-SCT" ], "PsuData": { "AspspId": "20220" }, "CommonPaymentData": { "EndToEndId": "ID-0123456789", "PreferredScaMethod": [ "Redirect" ], "Amount": { "Amount": "67.45", "Currency": "EUR" }, "DebtorInformation": { "Name": "Bob Smith", "Agent": "8QB2EN7P", "Account": { "SchemeName": "IBAN", "Identification": "DE89370400440532013000", "Currency": "EUR" }, }, "RemittanceInformation": "Remittance Information", "PeriodRules": { "StartDateTime": "2022-10-25T08:15:00.856Z", "Frequency" : "MNTH" } } } PeriodicPaymentInitiationRequestBasic: type: object required: - Amount - PeriodRules properties: UsePreAuthentication: type: boolean default: false description: | This field is only applicable for ASPSP's which support pre-authentication. It can also be filled in payments toward other Aspsps, but the value will then be ignored. * If set to true the TPP solution will store the pre-authentication token for use with future payments. This will only work if also a PsuId is provided which is stored in the TPP solution. * If set to false the pre-authentication token will only be used to finish one payment. After which it will be discarded. EndToEndId: maxLength: 35 minLength: 1 type: string description: | Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Required for PSD2 payments example: ID-0123456789 InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. Required for PSD2 payments example: InitParty ref-id-23457890 PreferredScaMethod: type: array description: | Multiple preferred methods can be choosen. It is not guaranteed that the ASPSP will use the preferred method. items: type: string enum: - Redirect - Decoupled - Embedded TransactionType: type: string description: | Transaction type used in this transaction. ONLINE - Used particularly for Online transactions, e.g. a webshop QR - Used for transactions from a QR. eg. Invoice INSTORE - Used for instore transactions for eg.- a POS device P2P - Used for peer-to-peer (customer-to-customer) transactions, e.g. a Transaction Request enum: - Online - QR - Instore - P2P default: Online ExpirationPeriod: type: integer description: | Time in seconds after which the transaction will expire. If not provided a default value will be used if the `PaymentProduct` equals `IDEAL`. For ONLINE - 1200 and for INSTORE - 120. Required for QR type transactions minimum: 60 maximum: 3600 exclusiveMinimum: false exclusiveMaximum: false Amount: $ref: '#/components/schemas/Amount' DebtorInformation: $ref: '#/components/schemas/DebtorInformation' CreditorInformation: $ref: '#/components/schemas/CreditorInformation' ChargeBearer: type: string description: | Charge bearer. Note - ISO20022 ChargeBearerType1Code. enum: - DEBT - CRED - SHAR - SLEV PurposeCode: type: string description: | Specifies the purpose code that resulted in a payment initiation. Fill with a 4 characters code from the ExternalPurpose1Code list published by ISO20022 or use the values ‘Commerce’, ‘Carpark’, ‘Transport’. CategoryPurpose: $ref: '#/components/schemas/CategoryPurposeEnum' PaymentContext: $ref: '#/components/schemas/RiskInformation' CrossCurrencyPayments: $ref: '#/components/schemas/CrossCurrencyPayment' RegulatoryReportingCodes: maxItems: 10 minItems: 1 type: array description: | List of needed regulatory reporting codes for international payments items: $ref: '#/components/schemas/RegulatoryReportingCode' x-DefinitionType: ISO20022 RemittanceInformation: maxLength: 140 minLength: 1 type: string description: | Information supplied to enable the matching of an entry with the items that the transfer is intended to settle. This information will be visible to the Payment Service User. **Conditional validation:** * In case the PaymentProduct is set to IDEAL the maxLength is limited to 35 RemittanceInformationStructured: $ref: '#/components/schemas/RemittanceInformationStructured' PeriodRules: $ref: '#/components/schemas/PeriodRules' description: | Basic type for Periodic Payment InitiationRequest BulkPaymentInitiationRequest: description: | Bulk Payment Initiation Request required: - CommonPaymentData properties: PaymentProduct: type: array description: | Multiple PaymentProducts can only be supplied if `UseAuthorisationLandingPages` equals `TRUE`. These will then influence ASPSPs visible to the PSU on the Initiation Service pages. items: $ref: '#/components/schemas/PaymentProductEnum' PaymentProductChangeable: type: boolean default: false description: | Allowing a PSU to change the pre-selected payment product if the ASPSP supports more than one from the list provided by the Initiating Party. Usable only if `UseAuthorisationLandingPages` equals `TRUE`. Otherwise will be ignored. ProductSpecificMasterData: type: array description: | The array is defined to mention the master data specific to selected payment product items: $ref: '#/components/schemas/ProductSpecificMasterData' PsuData: $ref: '#/components/schemas/PsuData' CommonPaymentData: $ref: '#/components/schemas/BulkPaymentInitiationRequestBasic' example: { "PaymentProduct": [ "PSD2-SCT" ], "PaymentProductChangeable": false, "PsuData": { "AspspId": "20210", "AspspProductCode": "string", "Country": "FR" }, "CommonPaymentData": { "PreferredScaMethod": [ "Redirect" ], "DebtorInformation": { "Name": "Bob Smith", "Agent": "EG8BCROZMX8", "Account": { "SchemeName": "IBAN", "Identification": "DE89370400440532013000", "Currency": "EUR" }, }, "ChargeBearer": "DEBT", "Payments": [ { "EndToEndId": "ID-0123456789-A", "Amount": { "Amount": "123.45", "Currency": "EUR" }, "CreditorInformation": { "Name": "John Smith", "Account": { "SchemeName": "IBAN", "Identification": "DE89370400440532013012", "Currency": "EUR" }, "Agent": "UZWHIKRXVHT", "UltimateCreditor": "Jhon Media Shop U", }, "RemittanceInformation": "Remittance Information", "RemittanceInformationStructured": { "Reference": "Remit-23-43-42", "ReferenceType": "structured", "ReferenceIssuer": "Reference Issuer" } }, { "EndToEndId": "ID-0123456789-B", "Amount": { "Amount": "78.56", "Currency": "EUR" }, "CreditorInformation": { "Name": "Simon Walker", "Account": { "SchemeName": "IBAN", "Identification": "NL98INGB6709624056", "Currency": "EUR" }, }, "RemittanceInformation": "Remittance Information", } ] } } BulkPaymentInitiationRequestBasic: type: object required: - Payments properties: UsePreAuthentication: type: boolean default: false description: | This field is only applicable for ASPSP's which support pre-authentication. It can also be filled in payments toward other ASPSP's, but the value will then be ignored. * If set to true the TPP solution will store the pre-authentication token for use with future payments. This will only work if also a PsuId is provided which is stored in the TPP solution. * If set to false the pre-authentication token will only be used to finish one payment. After which it will be discarded. InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. Required for PSD2 payments example: InitParty ref-id-23457890 PreferredScaMethod: type: array description: | Multiple preferred methods can be choosen. It is not guaranteed that the ASPSP will use the preferred method. items: type: string enum: - Redirect - Decoupled - Embedded TransactionType: type: string description: | Transaction type used in this transaction. ONLINE - Used particularly for Online transactions, e.g. a webshop QR - Used for transactions from a QR. eg. Invoice INSTORE - Used for instore transactions for eg.- a POS device P2P - Used for peer-to-peer (customer-to-customer) transactions, e.g. a Transaction Request enum: - Online - QR - Instore - P2P default: Online ExpirationPeriod: type: integer description: | Time in seconds after which the transaction will expire. If not provided a default value will be used if the `PaymentProduct` equals `IDEAL`. For ONLINE - 1200 and for INSTORE - 120. Required for QR type transactions minimum: 60 maximum: 3600 exclusiveMinimum: false exclusiveMaximum: false DebtorInformation: $ref: '#/components/schemas/DebtorInformation' ChargeBearer: type: string description: | Charge bearer. Note - ISO20022 ChargeBearerType1Code. enum: - DEBT - CRED - SHAR - SLEV CategoryPurpose: $ref: '#/components/schemas/CategoryPurposeEnum' PaymentContext: $ref: '#/components/schemas/RiskInformation' Payments: type: array items: $ref: '#/components/schemas/BulkPaymentsDetails' description: | Basic type for Bulk Payment Initiation Request PaymentInitiationResponse: type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataResponse' Links: $ref: '#/components/schemas/InitiationResponseLinks' UseWaitingScreen: type: boolean description: | if `true` the IP should show a waiting screen even if the the RedirectUrl is provided. On the waiting screen a redirection button should be placed. Click on the button should redirect the PSU by the link from `RedirectUrl` description: | Payment Initiation Response RefundInitiationRequest: type: object required: - CommonPaymentDataRefund - Refunds properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefund' description: | Refund Initiation Request RefundInitiationResponse: type: object required: - CommonPaymentData properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefundResponse' Links: $ref: '#/components/schemas/RefundAuthorisationApproachLinks' CommonPaymentDataResponse: type: object required: - PaymentId - PaymentStatus properties: ExpiryDateTimestamp: type: string format: date-time description: | The timestamp from which the transaction operation will expire, expressed in UTC time format(YYYY-MM-DDThh:mm:ss.sssZ) GuaranteedAmount: description: | The amount guaranteed by the ASPSP/Issuer to the Merchant/CPSP. Will be provided if the min max amount values are defined in the request pattern: ^\d{1,13}\.\d{1,5}$ type: string example: "123.45" PaymentStatus: $ref: '#/components/schemas/PaymentStatusEnum' PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. AspspPaymentId: maxLength: 35 minLength: 1 type: string description: | Id used by the ASPSP/iDEAL Hub to refer to the payment. AspspId: maxLength: 35 minLength: 1 type: string description: | Id of the ASPSP selected by the PSU. InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. FundsAvailable: type: boolean description: | Information whether sufficient funding is available. DebtorInformation: $ref: '#/components/schemas/DebtorInformationResponse' AmountRelatedDetails: $ref: '#/components/schemas/AmountRelatedDetails' AuthorisationRequiredData: $ref: '#/components/schemas/AuthorisationRequiredData' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. CommonPaymentDataRefund: type: object required: - InitiatingPartyReferenceId - Refunds properties: InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. example: InitParty ref-id-23457890 UsePreAuthentication: type: boolean default: false description: | Whether or not the pre-authentication token should be re-used. PreferredScaMethod: type: array items: type: string enum: - Redirect - Decoupled - Embedded PsuData: $ref: '#/components/schemas/PsuData' Refunds: type: array items: $ref: '#/components/schemas/Refund' CommonPaymentDataRefundResponse: type: object required: - RefundId - RefundStatus properties: RefundId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this refund in subsequent api calls. RefundStatus: $ref: '#/components/schemas/PaymentStatusEnum' InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. example: InitParty ref-id-23457890 AmountRelatedDetails: $ref: '#/components/schemas/AmountRelatedDetails' AuthorisationRequiredData: $ref: '#/components/schemas/AuthorisationRequiredData' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. AccountErrors: type: array items: $ref: '#/components/schemas/AccountError' description: | Basic type for Payment Initiation Response PeriodRules: required: - Frequency - StartDateTime type: object properties: StartDateTime: type: string description: | Date of first occurence. ISO 8601 DateTime. format: date-time ExecutionRule: type: string description: | Specifies the execution rule to follow in the cases when the computed execution dates cannot be processed (e.g. bank holidays). The default value sent to the ASPSP will be FWNG. enum: - FWNG - PREC EndDate: type: string description: | Optional date for closing the periodic payment. Must be given in ISO LOCAL DATE format. Frequency: type: string description: | Specifies the frequency of the payment in order to compute further execution dates. enum: - DAIL - WEEK - TOWK - MNTH - TOMN - QUTR - SEMI - YEAR DayOfExecution: maximum: 31 minimum: 1 type: integer description: | Sepcifies the day of execution. Day of the month 1...31. Applicable only for MNTH or higher. BulkPaymentsDetails: required: - EndToEndId - Amount type: object description: | properties: EndToEndId: maxLength: 35 minLength: 1 type: string description: | Unique identification, as assigned by the Initiating Party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Required for PSD2 payments example: ID-0123456789 Amount: $ref: '#/components/schemas/Amount' CreditorInformation: $ref: '#/components/schemas/CreditorInformation' PurposeCode: type: string description: | Specifies the purpose code that resulted in a payment initiation. Fill with a 4 characters code from the ExternalPurpose1Code list published by ISO20022 or use the values ‘Commerce’, ‘Carpark’, ‘Transport’. CrossCurrencyPayments: $ref: '#/components/schemas/CrossCurrencyPayment' RegulatoryReportingCodes: maxItems: 10 minItems: 1 type: array description: | List of needed regulatory reporting codes for international payments items: $ref: '#/components/schemas/RegulatoryReportingCode' x-DefinitionType: ISO20022 RemittanceInformation: maxLength: 140 minLength: 1 type: string description: | Information supplied to enable the matching of an entry with the items that the transfer is intended to settle. This information will be visible to the Payment Service User. **Conditional validation:** * In case the PaymentProduct is set to IDEAL the maxLength is limited to 35 RemittanceInformationStructured: $ref: '#/components/schemas/RemittanceInformationStructured' IDEALPayments: type: object properties: UseDebtorToken: type: boolean default: false description: | Identifies whether the debtor token generated by Access Point should be used DebtorTokenCallbackUrl: deprecated: true type: string description: | The URL which will be used by the notification service post /debtorToken API to send the debtor token provided by the iDEAL Hub. The URL should end with the version number of the notification service. This way the Initiating Party can influence which version of the notification service is used to send the request. At the moment only '/v3' is available. The DebtorTokenCallbackUrl can also be set in the Initiating Party service subscription. This field is deprecated and will be removed from this API in the next version. After which the DebtorTokenCallbackUrl can only be set in the Initiating Party service subscription. example: https://www.mydomain.com/myendpoint/v3 FlowType: type: string enum: - Standard - FastCheckout description: |- Transaction flow which the Merchant/CPSP desires to initiate. * _Standard_ - Used for normal iDEAL transactions. * _FastCheckout_ - Used for initiating the fast checkout flow where the debtor will be requested to provide checkout details which in turn iDEAL provides them to the merchant via a callback eventually. default: Standard ExpectedCheckoutData: type: object description: | By this the Merchant is requesting the checkout data from the iDEAL Hub with the finalization of the transaction. properties: DebtorContactDetails: $ref: "#/components/schemas/DebtorContactDetails" ShippingAddress: type: boolean description: | Request to provide the details of the shipping address of the debtor example: true default: false BillingAddress: type: boolean description: | Request to provide the details of the billing address of the debtor example: true default: false PaymentDetailedInformation: type: object properties: PaymentProductUsed: $ref: '#/components/schemas/PaymentProductEnum' CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataResponse' Links: $ref: '#/components/schemas/StatusResponseLinks' UseWaitingScreen: type: boolean description: | if `true` the Initiating Party should show a waiting screen even if the the RedirectUrl is provided. On the waiting screen a redirection button should be placed. Click on the button should redirect the PSU to the link provided in the `RedirectUrl` field. description: | Payment Status Response RefundStatusResponse: required: - CommonPaymentData type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefundDetailsResponse' Links: $ref: '#/components/schemas/StatusResponseLinks' CommonPaymentDataRefundDetailsResponse: required: - RefundId - RefundStatus type: object properties: RefundId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this refund in subsequent api calls. RefundStatus: $ref: '#/components/schemas/PaymentStatusEnum' InitiatingPartyReferenceId: maxLength: 36 minLength: 1 type: string description: | Reference to the payment created by the Initiating Party. This Id will not be visible to the Payment Service User. example: InitParty ref-id-23457890 FundsAvailable: type: boolean description: | Information whether sufficient funding is available. DebtorInformation: $ref: '#/components/schemas/DebtorInformation' AuthorisationRequiredData: $ref: '#/components/schemas/AuthorisationRequiredData' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. description: | Basic type for Payment Initiation Response ConfirmationRequest: type: object properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' PaymentIdentificationRequest: type: object properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' PaymentAuthorisationRequest: type: object properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' PsuCredentials: type: array items: $ref: '#/components/schemas/PsuAuthCredentials' example: { "PsuData": { "AspspPsuId": "Psu-12345", "AspspCustomerId": "Psu-12345", "AspspPsuIdType": "string", "AspspPsuCorporateId": "string", "AspspPsuCorporateIdType": "string" }, "PsuCredentials": [ { "CredentialId": "ewl-user-id", "CredentialValue": "Test User" }, { "CredentialId": "ewl-password", "CredentialValue": "qwerty" } ] } PaymentAuthorisationResponse: type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataAuthorisationResponse' Links: $ref: '#/components/schemas/AuthorisationResponseLinks' RefundAuthorisationResponse: type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefundAuthorisationResponse' Links: $ref: '#/components/schemas/RefundAuthorisationResponseLinks' PaymentAuthorisationUpdateRequest: type: object properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' PsuCredentials: type: array items: $ref: '#/components/schemas/PsuAuthCredentials' AuthenticationMethodId: type: string description: | Id of the selected method. ScaAuthenticationData: type: string description: | Depending on method. In case of binary data it has to be given base64 encoded. example: { "AuthenticationMethodId": "13" } CommonPaymentDataAuthorisationResponse: type: object required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. PaymentStatus: $ref: '#/components/schemas/PaymentStatusEnum' AuthStatus: $ref: '#/components/schemas/AuthStatusEnum' TransactionFees: $ref: '#/components/schemas/TransactionFees' AuthorisationRequiredData: $ref: '#/components/schemas/AuthorisationRequiredData' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. CommonPaymentDataRefundAuthorisationResponse: type: object required: - RefundId - RefundStatus properties: RefundId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. RefundStatus: $ref: '#/components/schemas/PaymentStatusEnum' AuthStatus: $ref: '#/components/schemas/AuthStatusEnum' TransactionFees: $ref: '#/components/schemas/TransactionFees' AuthorisationRequiredData: $ref: '#/components/schemas/AuthorisationRequiredData' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. PaymentConfirmationResponse: description: | PaymentConfirmationResponse type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataConfirmationResponse' Links: $ref: '#/components/schemas/Links' CommonPaymentDataConfirmationResponse: type: object required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. PaymentStatus: $ref: '#/components/schemas/PaymentStatusEnum' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. RefundConfirmationResponse: type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefundConfirmationResponse' Links: $ref: '#/components/schemas/RefundLinks' CommonPaymentDataRefundConfirmationResponse: type: object required: - RefundId - RefundStatus properties: RefundId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. RefundStatus: $ref: '#/components/schemas/PaymentStatusEnum' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. PaymentIdentificationResponse: description: | PaymentIdentificationresponse type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataIdentificationResponse' Links: $ref: '#/components/schemas/Links' RefundIdentificationResponse: description: | Payment Identification response type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataRefundIdentificationResponse' Links: $ref: '#/components/schemas/RefundLinks' CommonPaymentDataIdentificationResponse: type: object required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. PaymentStatus: $ref: '#/components/schemas/PaymentStatusEnum' AuthStatus: $ref: '#/components/schemas/AuthStatusEnum' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. CommonPaymentDataRefundIdentificationResponse: type: object required: - RefundId - RefundStatus properties: RefundId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. RefundStatus: $ref: '#/components/schemas/PaymentStatusEnum' AuthStatus: $ref: '#/components/schemas/AuthStatusEnum' PsuMessage: maxLength: 1024 minLength: 1 type: string description: | Text to be displayed to the PSU. PaymentCancellationResponse: type: object properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataAuthorisationResponse' Links: $ref: '#/components/schemas/InitiationResponseLinks' Refund: required: - PaymentId - Amount type: object properties: PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. EndToEndId: maxLength: 35 minLength: 1 type: string description: | Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. example: ID-0123456789 Amount: $ref: '#/components/schemas/Amount' CreditorInformation: $ref: '#/components/schemas/CreditorInformation' PaymentProductEnum: type: string default: PSD2-SCT description: | Indicates the requested payment method. enum: - PSD2-SCT - PSD2-SCT-Inst - PSD2-Target2 - PSD2-Domestic - IDEAL ProductSpecificMasterData: type: object required: - ParamName - ParamValue properties: ParamName: type: string minLength: 1 maxLength: 250 description: | Name of the parameter exactly as required by the payment method. ParamValue: type: string minLength: 1 maxLength: 2048 description: | Actual value of the parameter. PsuData: type: object properties: AspspId: minLength: 1 type: string description: | The Id of the ASPSP. The TPP solution needs this information to route the payment, so it has to be either provided in this field or it should be available in PSU management as the preferred bank of the PSU. AspspProductCode: type: string description: | This is describing the ProductCode as defined by the ASPSP. AspspPsuId: type: string example: Psu-12345 description: | PSU’s Id at ASPSP. Allows the unique identification of the PSU at the ASPSP. AspspCustomerId: type: string example: Psu-12345 description: | PSU’s second Id at ASPSP. Required for some ASPSPs AspspPsuIdType: type: string description: | Type of the ASPSP PSU-ID, needed in scenarios where PSU's have several PSU-IDs as access possibility. AspspPsuCorporateId: type: string description: | Identification of a Corporate in the Online Channels. AspspPsuCorporateIdType: type: string description: | This is describing the type of the identification needed by the ASPSP to identify the PsuCorporate-ID content. Country: type: string minLength: 2 maxLength: 2 pattern: '[A-Z]{2,2}' example: FR description: It is used to select a preferred country that is pre-selected on the bank selection page. PsuDataIdentification: properties: AspspPsuId: type: string example: Psu-12345 description: | PSU’s Id at ASPSP. Allows the unique identification of the PSU at the ASPSP. AspspCustomerId: type: string example: Psu-12345 description: | PSU’s second Id at ASPSP. Required for some ASPSPs AspspPsuIdType: type: string description: | Type of the ASPSP PSU-ID, needed in scenarios where PSU's have several PSU-IDs as access possibility. AspspPsuCorporateId: type: string description: | Identification of a Corporate in the Online Channels. AspspPsuCorporateIdType: type: string description: | This is describing the type of the identification needed by the ASPSP to identify the PSUCorporate-ID content. PsuBankPreferences: type: object description: | The PSU preferenes details saved in the PSU Management properties: AspspName: type: string description: | The name of the ASPSP/Issuer AspspLogoUrl: type: string description: | the logo url of the ASPSP/Issuer DebtorAccountIdentification: type: string description: | The masked IBAN or any other identifier recognized by the PSU and ASPSP/Issuer Amount: required: - Amount type: object properties: Type: type: string description: |- * _Fixed_ - The amount defined by the merchant can not be changed by the user * _Change_ - The amount defined by the merchant can be changed by the user within the defined bounds. Currently can be used only for iDEAL Payments * _Define_ - The amount needs to be defined by the user. Currently can be used only for iDEAL Payments enum: - Fixed - Change - Define default: Fixed Amount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Amount of the payment. The decimal separator is a dot. example: "123.45" MaximumAmount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: |- Conditionally used for amount type Change or Define. The value in case of Change should be greater than or equal to the amount value. In case of Fixed, this value will be ignored. example: "1000.00" MinimumAmount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: |- Conditionally used for amount type Change or Define. The value in case of Change should be less than or equal to the amount. In case of Fixed, this value will be ignored. example: "5.00" Currency: pattern: '[A-Z]{3,3}' type: string description: | Currency of the payment. ISO 4217 currency codes should be used. For iDEAL only EUR is possible example: EUR default: EUR AmountBreakdown: $ref: '#/components/schemas/AmountBreakdown' AmountBreakdown: type: object description: |- Breakdown of the transaction amount. The sum of all the fields within this breakdown must be equal to the transaction amount. Possible to use for iDEAL payments, only in the FastCheckout flow. required: - OrderAmount - ShippingCost properties: OrderAmount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Order amount. Possible to use for iDEAL payments, only in the fast-checkout flow. example: "123.45" ShippingCost: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Shipping cost. Possible to use for iDEAL payments, only in the fast-checkout flow. example: "123.45" AmountRelatedDetails: type: object description: | contains additional information about the fees and estimated amount properties: TransactionFees: $ref: '#/components/schemas/TransactionFees' ExchangeRateInformation: $ref: '#/components/schemas/ExchangeRateInformationResponse' CurrencyConversionFee: $ref: '#/components/schemas/CurrencyConversionFee' EstimatedTotalAmount: $ref: '#/components/schemas/EstimatedTotalAmount' EstimatedInterbankSettlementAmount: $ref: '#/components/schemas/EstimatedInterbankSettlementAmount' DebtorInformation: type: object description: | All debtor relavant data properties: Name: maxLength: 140 type: string description: | The name of the debtor. Agent: type: string pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}' description: | BIC of the financial institution servicing an account for the debtor. Account: $ref: '#/components/schemas/DebtorAccount' UltimateDebtor: maxLength: 140 type: string description: | Ultimate party that owes an amount of money to the (ultimate) creditor. ShippingAddress: $ref: '#/components/schemas/AddressData' BillingAddress: $ref: '#/components/schemas/BillingAddress' DebtorAccount: required: - Identification type: object properties: SchemeName: $ref: '#/components/schemas/IdentificationTypeEnum' Identification: type: string description: | Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. SecondaryIdentification: type: string description: | Secondary identification of the Debtor Account, to which a debit entry will be made as a result of the transaction. (Only Openbank UK) Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". DebtorInformationResponse: type: object description: | All debtor relavant data properties: Name: maxLength: 140 type: string description: | The name of the debtor. Agent: type: string pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}' description: | BIC of the financial institution servicing an account for the creditor. Account: $ref: '#/components/schemas/DebtorAccount' ContactDetails: $ref: "#/components/schemas/DebtorContactDetailsResponse" ShippingAddress: $ref: "#/components/schemas/AddressData" BillingAddress: $ref: "#/components/schemas/AddressData" CreditorInformation: type: object description: | All creditor relavant data properties: InitiatingPartySubId: maxLength: 50 minLength: 1 type: string description: | External identification of the subsidiary initiating party. Name: type: string description: | The name of creditor. Can be given for P2P payments only. Account: $ref: '#/components/schemas/CreditorAccount' Agent: pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}' type: string description: | BIC of the financial institution servicing an account for the creditor. UltimateCreditor: maxLength: 140 type: string description: | Ultimate party to which an amount of money is due. PostalAddress: $ref: '#/components/schemas/AddressData' CreditorDateAndPlaceOfBirth: $ref: '#/components/schemas/CreditorDateAndPlaceOfBirth' CreditorAccount: type: object properties: SecondaryIdentification: type: string description: | Secondary identification of the Creditor Account, to which a credit entry will be made as a result of the transaction. (Only Openbank UK) SchemeName: $ref: '#/components/schemas/IdentificationTypeEnum' Identification: type: string description: | Identification of the Creditor Account. Can be given for P2P payments only. Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". IdentificationTypeEnum: type: string description: | Type of the account number. enum: - IBAN - SortCodeAccountNumber AuthorisationRequiredData: type: object description: | The data required for PSU authentication and transaction authorisation properties: PsuCredentials: type: array description: | List of credentials the PSU has on the ASPSP's system. The PSU has to provide the CredentialValue for each of these (Username & Password). items: $ref: '#/components/schemas/PsuCredentials' ScaMethods: type: array description: | Array of available ScaMethods. items: $ref: '#/components/schemas/ScaMethods' ChosenScaMethod: $ref: '#/components/schemas/ScaMethods' ChallengeData: $ref: '#/components/schemas/ScaChallengeData' ScaMethods: required: - AuthenticationMethodId - AuthenticationType type: object properties: AuthenticationType: type: string description: | Type of the SCA authentication method. The following methods are commonly seen coming from the ASPSP: - SMS_OTP: The PSU will receive a One Time Password via SMS - CHIP_OTP: The PSU will be presented with a picture or text to create a One Time Password using their bank card - PHOTO_OTP: The PSU will be presented with a picture to create a One Time Password - PUSH_OTP: The PSU will receive a One Time Password via push notification on their mobile device - SMTP_OTP: The PSU will receive a One Time Password via email AuthenticationMethodId: minLength: 1 type: string description: | Id of the authentication method. Used in subsequent API calls to refer to the authentication method. Version: minLength: 1 type: string description: | Version of the method. Name: minLength: 1 type: string description: | Name of the method in readable form. This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available. Explanation: minLength: 1 type: string description: | Detailed information about the SCA method, meant for the PSU. ScaChallengeData: type: object properties: AdditionalInformation: type: string description: | Additional Information for the PSU describing the method. Data: type: array description: | A collection of strings as challenge data. items: type: string Image: type: string description: | Image in base64 encoding ImageLink: type: string description: | URL of image OtpFormat: type: string description: | The OTP format. OtpMaxLength: type: integer description: | The maximum length for the OTP. format: int32 description: | JSON DTO used to represent challenge data. PsuCredentials: required: - CredentialsDetails type: object properties: AspspProductCode: type: string description: | Product Identification. Used to contextualize the credentials provided by the PSU for those ASPSP that need of it. CredentialsDetails: type: array description: Credentials Details items: $ref: '#/components/schemas/CredentialDetails' description: | PSU Credentials on the Bank system. CredentialDetails: required: - CredentialId - IsSecret - LabelList type: object properties: IsSecret: type: boolean description: | Binary identification of the transparancy of the provided credentials by the PSU. Can have 2 values, * true * false Can be provided by ASPSP. If not provided by the ASPSP then by default, * true, if the CredentialId=ewl-password * false, if CredentialId=ewl-user-id CredentialId: type: string description: | Credential detail identification of the PSU credential at the bank (provided bi CBI if approach is Embedded). If not provided by the aspsp, then default values should be, * ewl-user-id, when IsSecret=false * ewl-password, when IsSecret=true LabelList: type: array description: | The list of the labels to show to the PSU. They are internationalized. items: $ref: '#/components/schemas/CredentialLabel' description: | Credentials Details. PsuAuthCredentials: type: object required: - CredentialId - CredentialValue properties: CredentialId: type: string description: | CredentialId as retrieved in the response of the previous request. CredentialValue: type: string description: | Value of the credential. CredentialLabel: required: - Label - Language type: object properties: Label: type: string description: | The label associated to the credentials to show to the PSU. Language: type: string description: | Label internationalization. It specifies the language of the label. The default value is EN DebtorContactDetails: type: object title: DebtorContactDetailsRequestData properties: FirstName: type: boolean description: | Request to provide the first name of the debtor example: true default: false LastName: type: boolean description: | Request to provide the last name of the debtor example: true default: false PhoneNumber: type: boolean description: | Request to provide the phone number of the debtor in E.164 format example: true default: false Email: type: boolean description: | Request to provide the e-mail address of the debtor example: true default: false DebtorContactDetailsResponse: type: object properties: FirstName: type: string description: | The first name of the debtor LastName: type: string description: | The last name of the debtor PhoneNumber: type: string description: | The phone number of the debtor in E.164 format pattern: "^\\+[1-9][0-9]{1,14}$" example: "+31612345678" Email: type: string description: | The e-mail address of the debtor format: email example: "bob.smith@mymail.com" minLength: 1 AddressData: type: object properties: FirstName: type: string description: | The first name of the debtor example: "Bob" minLength: 1 LastName: type: string description: | The last name of the debtor example: "Smith" minLength: 1 CompanyName: type: string description: | The company name of the debtor example: "Cookie factory" minLength: 1 PostCode: type: string description: | The postal code of the address without spaces example: "1234AB" minLength: 1 BuildingNumber: type: string description: | The house number of the address example: "100" minLength: 1 Floor: type: string description: | The addition of the address example: "3B" minLength: 1 StreetName: type: string description: | The street of the address example: "Coolsingel" minLength: 1 TownName: type: string description: | The city of the address example: "Rotterdam" minLength: 1 Country: type: string description: | The code of the coutry regarding ISO 3166 standard. For the IDEAL payments the country name will be provided minLength: 1 CountrySubDivision: type: string description: | Country sub division. maxLength: 35 minLength: 1 BillingAddress: type: object properties: SameAsShippingAddress: type: boolean default: true description: | Indicates whether the billing addess is the same with shipping address. If true the information provided under `BillingAddressDetails` will be ignored BillingAddressDetails: $ref: '#/components/schemas/AddressData' CreditorDateAndPlaceOfBirth: required: - BirthDate - CityOfBirth - CountryOfBirth type: object properties: BirthDate: type: string description: Date on which a person is born. format: date CityOfBirth: maxLength: 35 type: string description: City where a person was born. CountryOfBirth: pattern: '^[A-Z]{2,2}$' type: string description: Country where a person was born. description: | 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. x-DefinitionType: ISO20022 PaymentStatusEnum: type: string description: | Payment status. enum: - Open - Authorised - PartiallyAuthorised - Pending - SettlementInProcess - SettlementCompleted - ReceivedByCreditorBank - ReceivedOnCreditorAccount - Cancelled - CancelledAtTPP - Error - Expired AuthStatusEnum: description: | This data element is containing information about the status of the SCA method applied. The following codes are defined for this data type. * 'Received': An authorisation or cancellation-authorisation resource has been created successfully. * 'PsuIdentified': The PSU related to the authorisation or cancellation-authorisation resource has been identified. * 'PsuAuthenticated': The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token. * 'ScaMethodSelected': The PSU/TPP has selected the related SCA routine. If the SCA method is chosen implicitly since only one SCA method is available, then this is the first status to be reported instead of 'received'. * 'Started': The addressed SCA routine has been started. * 'Finalised': The SCA routine has been finalised successfully. * 'Failed': The SCA routine failed * 'Exempted': SCA was exempted for the related transaction, the related authorisation is successful. * 'Unconfirmed': SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. type: string enum: - "Received" - "PsuIdentified" - "PsuAuthenticated" - "ScaMethodSelected" - "Started" - "Finalised" - "Failed" - "Exempted" - "Unconfirmed" RiskInformation: type: object properties: PaymentContextCode: type: string description: | Specifies the payment context. Payments for EcommerceGoods and EcommerceServices will be expected to have a MerchantCategoryCode and MerchantCustomerIdentification populated. Payments for EcommerceGoods will also have the DeliveryAddress populated. enum: - BillPayment - ContactlessTravel - EcommerceGoods - EcommerceServices - Kiosk - Parking - P2P - BillingGoodsAndServicesInAdvance - BillingGoodsAndServicesInArrears - PispPayee - EcommerceMerchantInitiatedPayment - FaceToFacePointOfSale - TransferToSelf - TransferToThirdParty MerchantCategoryCode: maxLength: 4 minLength: 3 type: string description: | Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction. MerchantCustomerId: maxLength: 70 minLength: 1 type: string description: | The unique customer identifier of the PSU with the merchant. DeliveryAddress: allOf: - $ref: '#/components/schemas/AddressData' description: | The Object is added for the future use and will be ignored in the current implementation. Use `DebtorInformation.ShippingAddress` from `CommonPaymentData` object instead ChannelType: type: string description: | Payment channel type. enum: - ContactLess - PointOfSale - Ecommerce - UnattendedTerminal ChannelMetaData: type: string description: | Additional information related to the channel. AppliedAuthenticationApproach: type: string description: | Indicates the Applied Authentication Approach enum: - CA - SCA ReferencePaymentOrderId: type: string description: | Indicates the Applied Authentication Approach maxLength: 128 description: | Information used for risk scoring by the ASPSP. TransactionFees: type: object properties: Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". Amount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Amount of the fees. FeesApply: type: boolean default: false description: | Indicates if transaction fees are applicable on the payment. description: | Information used for transporting transaction fees by the ASPSP. CurrencyConversionFee: type: object required: - Currency - Amount properties: Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". Amount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Amount of the fees. description: | Currency Conversion Fee CrossCurrencyPayment: type: object required: - CrossCurrencyTransaction properties: CrossCurrencyTransaction: type: boolean default: false description: | Set to true if a currency exchangeis required. If set to true the ExchangeRateInformation section can be used. ExchangeRateInformation: $ref: '#/components/schemas/ExchangeRateInformationRequest' ExchangeRateInformationRequest: type: object properties: UnitCurrency: pattern: '[A-Z]{3,3}' type: string description: | Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. ExchangeRate: type: number description: | 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. Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%. RateType: type: string description: | Specifies the type used to complete the currency exchange. * Spot: Exchange rate applied is the spot rate. * Sale: Exchange rate applied is the market rate at the time of the sale. * Agreed: Exchange rate applied is the rate agreed between the parties. enum: - Spot - Sale - Agreed ContractIdentification: maxLength: 256 type: string description: | Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent. description: | Provides details on the currency exchange rate and contract. ExchangeRateInformationResponse: type: object properties: UnitCurrency: pattern: '[A-Z]{3,3}' type: string description: | Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. ExchangeRate: type: number description: | 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. Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%. RateType: type: string description: | Specifies the type used to complete the currency exchange. * Spot: Exchange rate applied is the spot rate. * Sale: Exchange rate applied is the market rate at the time of the sale. * Agreed: Exchange rate applied is the rate agreed between the parties. enum: - Spot - Sale - Agreed ContractIdentification: maxLength: 256 minLength: 1 type: string description: | Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent. ExpirationDateTime: type: string description: | Expiration date time. ISO 8601 DateTime. format: date-time description: | Provides details on the currency exchange rate and contract. EstimatedTotalAmount: type: object required: - Currency - Amount properties: Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". Amount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Amount description: | Estimated Total Amount. EstimatedInterbankSettlementAmount: type: object required: - Currency - Amount properties: Currency: pattern: '[A-Z]{3,3}' type: string description: | 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". Amount: pattern: ^\d{1,13}\.\d{1,5}$ type: string description: | Amount description: | Estimated Interbank Settlement Amount. CategoryPurposeEnum: type: string description: | 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. Not all of the given codes might be accepted by all banks. The standard for STET for example is limited to CASH, CORT, DVPM, INTC and TREA enum: - CASH - CORT - DIVI - DVPM - INTC - INTE - PENS - SALA - SSBE - SUPP - TAXS - TREA RegulatoryReportingCode: maxLength: 10 type: string description: | Information needed due to regulatory and statutory requirements. Economical codes to be used are provided by the National Competent Authority x-DefinitionType: ISO20022 RemittanceInformationStructured: required: - Reference type: object properties: Reference: type: string pattern: "[a-zA-Z0-9]{1,35}" description: | The actual reference. ReferenceType: maxLength: 35 minLength: 1 type: string description: | Reference type. ReferenceIssuer: maxLength: 35 minLength: 1 type: string description: | Identification of the issuer of the ReferenceType. InitiationResponseLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'PreAuthenticationForEmbedded': In case of an embedded pre-authentication required by the ASPSP, the Initiating Party has to use this link. * 'RedirectUrl': In case of an Redirect approach, the Initiating Party has to use this link to redirect the PSU’s browser session. * 'PostAuthorisationForExplicit': In case the ASPSP requires explicit start of authorization. * 'PostIdentificationForDecoupled': In case of a Decoupled approach, identification of the PSU required to start the decoupled authorization. * 'PostAuthorisationForEmbedded': In case of an embedded approach, endpoint to be called to start the embedded authorization. * 'SelectAuthenticationMethod': In case of an embedded approach, the Initiating Party has to use this link to pass the SCA method. * 'AuthorizeTransaction': In case of an embedded approach, the Initiating Party has to authorize the payment by providing the SCA OneTimePassword. * 'ConfirmationRequired': Endpoint to be called for payment confirmation for ASPSPs that require explicit confirmation of payments. * 'GetPaymentStatus': Endpoint to be called for retrieving the payment status. properties: PreAuthenticationForEmbedded: $ref: '#/components/schemas/Link' RedirectUrl: $ref: '#/components/schemas/Link' PostAuthorisationForExplicit: $ref: '#/components/schemas/Link' PostIdentificationForDecoupled: $ref: '#/components/schemas/Link' PostAuthorisationForEmbedded: $ref: '#/components/schemas/Link' SelectAuthenticationMethod: $ref: '#/components/schemas/Link' AuthorizeTransaction: $ref: '#/components/schemas/Link' ConfirmationRequired: $ref: '#/components/schemas/Link' GetPaymentStatus: $ref: '#/components/schemas/Link' RefundAuthorisationApproachLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'PreAuthenticationForEmbedded': In case of an embedded pre-authentication required by the ASPSP, the Initiating Party has to use this link. * 'RedirectUrl': In case of an Redirect approach, the Initiating Party has to use this link to redirect the PSU’s browser session to the ASPSP. * 'PostAuthorisationForExplicit': In case the ASPSP requires explicit start of authorization. * 'PostIdentificationForDecoupled': In case of a Decoupled approach, identification of the PSU required to start the decoupled authorization. * 'PostAuthorisationForEmbedded': In case of an embedded approach, endpoint to be called to start the embedded authorization. * 'SelectAuthenticationMethod': In case of an embedded approach, the Initiating Party has to use this link to pass the SCA method. * 'AuthorizeTransaction': In case of an embedded approach, the Initiating Party has to authorize the payment by providing the SCA OneTimePassword. * 'ConfirmationRequired': Endpoint to be called for payment confirmation for ASPSPs that require explicit confirmation of payments. * 'GetRefundStatus': Endpoint to be called for retrieving the refund status. properties: PreAuthenticationForEmbedded: $ref: '#/components/schemas/Link' RedirectUrl: $ref: '#/components/schemas/Link' PostAuthorisationForExplicit: $ref: '#/components/schemas/Link' PostIdentificationForDecoupled: $ref: '#/components/schemas/Link' PostAuthorisationForEmbedded: $ref: '#/components/schemas/Link' SelectAuthenticationMethod: $ref: '#/components/schemas/Link' AuthorizeTransaction: $ref: '#/components/schemas/Link' ConfirmationRequired: $ref: '#/components/schemas/Link' GetRefundStatus: $ref: '#/components/schemas/Link' StatusResponseLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'RedirectUrl': In case of an Redirect approach, the Initiating Party has to use this link to redirect the PSU’s browser session. * 'PostAuthorisationForExplicit': In case the ASPSP requires explicit start of authorization. * 'PostIdentificationForDecoupled': In case of a Decoupled approach, identification of the PSU required to start the decoupled authorization. * 'PutAuthorisationForEmbedded': In case of an embedded approach, endpoint to be called to add information to the Authorization. * 'SelectAuthenticationMethod': In case of an embedded approach, the Initiating Party has to use this link to pass the SCA method. * 'AuthorizeTransaction': In case of an embedded approach, the Initiating Party has to authorize the payment by providing the SCA OneTimePassword. * 'ConfirmationRequired': Endpoint to be called for payment confirmation for ASPSPs that require explicit confirmation of payments. properties: RedirectUrl: $ref: '#/components/schemas/Link' PostAuthorisationForExplicit: $ref: '#/components/schemas/Link' PostIdentificationForDecoupled: $ref: '#/components/schemas/Link' PostAuthorisationForEmbedded: $ref: '#/components/schemas/Link' PutAuthorisationForEmbedded: $ref: '#/components/schemas/Link' SelectAuthenticationMethod: $ref: '#/components/schemas/Link' AuthorizeTransaction: $ref: '#/components/schemas/Link' ConfirmationRequired: $ref: '#/components/schemas/Link' AuthorisationResponseLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'RedirectUrl': In case of an Redirect approach, the Initiating Party has to use this link to redirect the PSU’s browser session. * 'PutAuthorisationForEmbedded': In case of an embedded approach, endpoint to be called to start the embedded authorization. * 'SelectAuthenticationMethod': In case of an embedded approach, the Initiating Party has to use this link to pass the SCA method. * 'AuthorizeTransaction': In case of an embedded approach, the Initiating Party has to authorize the payment by providing the SCA OneTimePassword. * 'ConfirmationRequired': Endpoint to be called for payment confirmation for ASPSPs that require explicit confirmation of payments. * 'GetPaymentStatus': Endpoint to be called for retrieving the payment status. properties: RedirectUrl: $ref: '#/components/schemas/Link' PutAuthorisationForEmbedded: $ref: '#/components/schemas/Link' SelectAuthenticationMethod: $ref: '#/components/schemas/Link' AuthorizeTransaction: $ref: '#/components/schemas/Link' ConfirmationRequired: $ref: '#/components/schemas/Link' GetPaymentStatus: $ref: '#/components/schemas/Link' RefundAuthorisationResponseLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'RedirectUrl': In case of an Redirect approach, the Initiating Party has to use this link to redirect the PSU’s browser session to the ASPSP. * 'PutAuthorisationForEmbedded': In case of an embedded approach, endpoint to be called to add information to the Authorization. * 'SelectAuthenticationMethod': In case of an embedded approach, the Initiating Party has to use this link to pass the SCA method. * 'AuthorizeTransaction': In case of an embedded approach, the Initiating Party has to authorize the payment by providing the SCA OneTimePassword. * 'ConfirmationRequired': Endpoint to be called for payment confirmation for ASPSPs that require explicit confirmation of payments. * 'GetRefundStatus': Endpoint to be called for retrieving the refund status. properties: RedirectUrl: $ref: '#/components/schemas/Link' PutAuthorisationForEmbedded: $ref: '#/components/schemas/Link' SelectAuthenticationMethod: $ref: '#/components/schemas/Link' AuthorizeTransaction: $ref: '#/components/schemas/Link' ConfirmationRequired: $ref: '#/components/schemas/Link' GetRefundStatus: $ref: '#/components/schemas/Link' Links: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'GetPaymentStatus': Endpoint to be called for retrieving the payment status. properties: GetPaymentStatus: $ref: '#/components/schemas/Link' RefundLinks: type: object description: | A list of hyperlinks to be recognized by the Initiating Party. The actual hyperlinks used in the response depend on the dynamical decisions on authorization approach for example. Remark - All links are full links. * 'GetRefundStatus': Endpoint to be called for retrieving the refund status. properties: GetRefundStatus: $ref: '#/components/schemas/Link' Link: required: - Href type: object properties: Href: maxLength: 1024 minLength: 1 type: string AccountError: type: object required: - PaymentId - Error properties: PaymentId: maxLength: 35 minLength: 1 type: string description: | Id generated by the TPP solution. This should be used to refer to this payment in subsequent api calls. Error: required: - Code - Message type: object properties: Code: pattern: '[0-9]{1,3}' type: string Message: maxLength: 140 minLength: 1 type: string description: | |Code |Description |-----|--------------------------------------- |001 |The payment is not authorized. |002 |The payment is not confirmed. |003 |The refund amount is above the payment amount or the remaning payment amount. |004 |The creditor account does not match the initial payment debtor account. |005 |No existing payment found for the paymentId you provided. |006 |Both Identification and SchemeName fields are mandatory for the CreditorAccount. |007 |The refund currency does not match the initial payment currency. |008 |The payment id is missing. |009 |The refund amount is missing. |010 |The refund currency is missing. |011 |The Creditor Account is missing. Error: required: - Code - Message type: object properties: Code: pattern: '[0-9]{1,3}' type: string Message: maxLength: 140 minLength: 1 type: string Details: type: string Link: $ref: '#/components/schemas/Link' description: | |HTTP Status|Code |Description |-----------|-----|--------------------------------------- |400 |001 |Bad client request | |002 |The message does not comply the schema definition | |008 |Duplicate message | |101 |The client or merchant is unknown | |102 |The client or merchant is inactive | |105 |The aspsp is not active | |122 |The PSU consent is not valid | |133 |A conditional field is missing | |136 |Consent could not be found |401 |003 |Invalid signature | |021 |Unauthorized | |123 |The PSU consent is expired | |132 |A pre-authentication is required - but could not be found | |135 |The status of the payment does not allow cancellation. | |140 |The transaction authentication number is wrong | |141 |The transaction authentication number is not valid anymore. | |142 |The transaction authentication number has expired. | |143 |The transaction authentication number is not active anymore. | |144 |The user account is locked. | |145 |The user account is temporarily locked. | |146 |The user password has expired. | |147 |The user account does not support a second factor. | |148 |The user password has expired. | |149 |User credential validation failed. | |153 |The online refunds API has not been activated for your tenant. | |154 |Invalid digest |403 |007 |Initiating Party is not authorised | |017 |Initiating party access token is expired | |109 |No Subscription for psu management | |119 |A PSU subscription is present, but inactive | |120 |Payment status is not in the AUTHORISED state and cannot be confirmed | |134 |The payment amount is above the limit set in your PIS subscription |404 |104 |The Aspsp is unknown | |110 |Resource could not be found | |150 |No pre-authentication found |405 |137 |Request is not supported by Aspsp |415 |158 |Unsupported media type |500 |004 |An internal error occurred | |116 |The aspsp responded with an error | |152 |Invalid response from ASPSP |502 |012 |Aspsp did not authorise |503 |016 |Request limit of the ASPSP server exceeded headers: X-Request-ID: required: true description: | UUID for unique request identification schema: type: string maxLength: 36 minLength: 1 example: abcdef2e-3000-4000-88cc-ae40e3b113d7 MessageCreateDateTime: required: true schema: type: string format: 'date-time' description: | The message create date time. ISO 8601 DateTime. example: "2020-09-25T08:15:00.856Z" Signature: required: false description: | Required for IDEAL payments. schema: type: string Digest: description: Is contained if and only if the `Signature` element is contained in the header of the request. schema: type: string example: "SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=" parameters: AppRedirectPreferred: name: AppRedirectPreferred in: header schema: type: boolean default: false description: | Indicates whether the user uses mobile device\tablet or PC paymentId: name: paymentId in: path description: | The Id used by the TPP solution to refer to a payment. Optionally the payment can also be refered by the **InitiatingPartyReferenceId** or the **EndToEndId**, to do so start with **ref** or **e2e** prefixes followed by the respective identifier. required: true schema: type: string example: 486215 refundId: name: refundId in: path description: | The Id used by the TPP solution to refer to a refund. required: true schema: type: string example: e2e-pid-486215 authorisationId: name: authorisationId in: path required: true schema: type: string example: aid-4846 description: | The Id used by the TPP solution to refer to an authorisation resource. Psuid: name: Psuid in: path description: | The Id of the PSU registered at the TPP solution required: true schema: type: string example: 12345 AspspPsuId: name: AspspPsuId in: header description: | PSU’s Id at ASPSP. Allows the unique identification of the PSU at the ASPSP. schema: type: string example: Psu-12345 AspspPsuIdType: name: AspspPsuIdType in: header description: | Type of the Aspsp PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. schema: type: string AspspPsuCorporateId: name: AspspPsuCorporateId in: header description: | Identification of a Corporate in the Online Channels. schema: type: string AspspPsuCorporateIdType: name: AspspPsuCorporateIdType in: header description: | This is describing the type of the identification needed by the ASPSP to identify the PsuCorporate-ID content. schema: type: string confirm: name: confirm in: query description: | If set to 'true' the transaction will be immediately confirmed by the TPP solution if confirmation of the payment by the Initiating Party is required by the ASPSP. schema: type: string X-Request-ID: name: X-Request-ID in: header description: | UUID for unique request identification. required: true schema: maxLength: 36 minLength: 1 type: string example: "abcdef2e-3000-4000-88cc-ae40e3b113d7" MessageCreateDateTime: name: MessageCreateDateTime in: header description: | The message create date time. ISO 8601 DateTime. required: true schema: type: string format: date-time example: "2020-09-25T08:15:00.856Z" InitiatingPartyNotificationUrl: name: InitiatingPartyNotificationUrl in: header description: | The URL which will be used for notification service request. The URL should end up with the version of eWL Notification API implemented by the Initiating Party. example: https://www.mydomain.com/myendpoint/v3 schema: maxLength: 4000 minLength: 1 type: string default: As defined in PIS subscription. InitiatingPartyReturnUrl: name: InitiatingPartyReturnUrl in: header description: | The callback URL for the redirection back to the initiating party after authorization. schema: maxLength: 4000 minLength: 1 type: string default: https://www.google.com/ UseAuthorisationLandingPages: name: UseAuthorisationLandingPages in: header schema: type: boolean default: false description: | If true, Initiation Service pages will be used to request required information from PSU directly Locale: name: Locale in: header schema: type: string description: | 2-digit ISO-639 code for the language in which the Initiation Service pages are displayed. For special languages can be used 5-digit code like nl-BE, where first is ISO-639 langauge code and the second is ISO-3166 country code. If not set, the language of the Initiation Service pages is taken over from the end user’s browser configuration or the system configuration of the Initiation Service server. PsuId: name: PsuId in: header schema: type: string description: | If this field is filled the TPP solution will try to retrieve previously stored information to complete the payment: * preferred bank of the PSU, if filled it will used to fill the AspspId. * preferred bank account. * check for a pre authentication token in case pre-authentication is available for the ASPSP. * check for debtor token in case of IDEAL payments LastLogin: name: LastLogin in: header description: | PSU Session information. The time when the PSU last logged in with the TPP. ISO 8601 DateTime. schema: type: string format: date-time PsuIpAddress: name: PsuIpAddress in: header description: | PSU Session information. The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP . It shall be contained if and only if this request was actively initiated by the PSU. schema: maxLength: 35 minLength: 1 type: string PsuIpPort: name: PsuIpPort in: header description: | PSU Session information. The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. schema: maxLength: 5 minLength: 1 type: string HttpMethod: name: HttpMethod in: header description: | PSU Session information. HTTP method used at the PSU-TPP interface. Available values - GET, POST, PUT, DELETE. schema: maxLength: 6 minLength: 3 type: string HttpHeaderUserAgent: name: HttpHeaderUserAgent in: header description: | PSU Session information. The forwarded Agent header field of the HTTP request between PSU and TPP. Required if * the `PaymentProduct`equals `IDEAL` * `PsuId`is provided * `UseDebtorToken` does not equal `false` schema: maxLength: 500 minLength: 1 type: string HttpHeaderReferer: name: HttpHeaderReferer in: header description: | PSU Session information. schema: maxLength: 500 minLength: 1 type: string HttpHeaderAccept: name: HttpHeaderAccept in: header description: | PSU Session information. The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP. schema: maxLength: 500 minLength: 1 type: string HttpHeaderAcceptCharset: name: HttpHeaderAcceptCharset in: header description: | PSU Session information. The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP. schema: maxLength: 500 minLength: 1 type: string HttpHeaderAcceptEncoding: name: HttpHeaderAcceptEncoding in: header description: | PSU Session information. The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP. schema: maxLength: 500 minLength: 1 type: string HttpHeaderAcceptLanguage: name: HttpHeaderAcceptLanguage in: header description: | PSU Session information. The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP. schema: maxLength: 500 minLength: 1 type: string DeviceId: name: DeviceId in: header description: | UUID (Universally Unique Identifier) for a device, which is used by the PSU. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. schema: maxLength: 500 minLength: 1 type: string GeoLocation: name: GeoLocation in: header description: | The forwarded Geo Location of the corresponding http request between PSU and TPP. schema: maxLength: 500 minLength: 1 type: string Signature: name: Signature in: header description: | Conditionally required for iDEAL payments. The signature in the request should include a keyId with the value of fingerprint of the certificate schema: type: string Digest: name: Digest in: header description: Is contained if and only if the `Signature` element is contained in the header of the request. schema: type: string example: "SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=" AspspId: name: AspspId in: header description: The aspspId. schema: type: string example: "121" InitiatingPartySubId: name: InitiatingPartySubId in: header schema: type: string description: | External identification of the subsidiary initiating party. responses: 400: description: | Bad Request headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: | Unauthorized headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: | Forbidden headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 404: description: | Not Found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 415: description: | Unsupported Media Type headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: | Internal Server Error headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 502: description: | Bad Gateway headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 503: description: | Service Unavailable' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 511: description: | Network Authentication Required headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error' 204: description: | No Content headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: {} 405: description: | Method not allowed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' content: application/json: schema: $ref: '#/components/schemas/Error'