swagger: '2.0' info: description: 'The current set of APIs will be available in Q2 2026 on Worldline Global Issuing Platforms. Additional APIs are under construction and planned to be available in 2026.' version: 2.41.1 title: Worldline Card Issuing Account - AccountState Scheduled Payment Initiation Service (Extended service) API contact: {} host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing basePath: /api/v2 schemes: - https tags: - name: Scheduled Payment Initiation Service (Extended service) paths: /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/confirmForNotification' - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/MessageCreateDateTime' - $ref: '#/components/parameters/InitiatingPartyNotificationUrl' - $ref: '#/components/parameters/NotificationVersion' - $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' examples: PSD2-SCT - Example request: value: PaymentProduct: - PSD2-SCT PsuData: AspspId: '20111' CommonPaymentData: EndToEndId: ID-0123456789 PreferredScaMethod: - Redirect Amount: Amount: '123.45' Currency: EUR DebtorInformation: Name: Peter Smith Agent: 8QB2EN7P Account: SchemeName: IBAN Identification: DE89370400440532013000 Currency: EUR RemittanceInformation: Remittance Information RequestedExecutionDate: '2021-12-08T07:01:57.587Z' required: false responses: 201: description: 'Created ' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' MessageCreateDateTime: $ref: '#/components/headers/MessageCreateDateTime' AspspScaApproach: $ref: '#/components/headers/AspspScaApproach' 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' AspspScaApproach: $ref: '#/components/headers/AspspScaApproach' Signature: $ref: '#/components/headers/Signature' Digest: $ref: '#/components/headers/Digest' PaymentStatusSource: $ref: '#/components/headers/PaymentStatusSource' DebtorDataSource: $ref: '#/components/headers/DebtorDataSource' 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' AspspScaApproach: $ref: '#/components/headers/AspspScaApproach' 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' components: parameters: 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 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 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 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 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 example: https://www.example.org 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 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 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= PsuId: name: PsuId in: header schema: type: string description: 'If this field is filled the Open Banking Service will try to retrieve previously stored information to complete the payment. The Open Banking Solution will: * check for a pre authentication token in case pre-authentication is available for the ASPSP. * check for debtor token in case of IDEAL payments ' 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 AppRedirectPreferred: name: AppRedirectPreferred in: header schema: type: boolean default: false description: 'If set to ''true'' the Open Banking Service will try to steer the flow towards an App redirect for the authentication of the PSU and authorization of the payment. This can potentially improve the user journey as the banking application may use biometrics for SCA and skip the identification process if the user is already logged in. NOTE that, depending on the implementation of the ASPSP, it may so happen that the flows breaks if the user does not have the banking application installed on their mobile device. ' InitiatingPartyNotificationUrl: name: InitiatingPartyNotificationUrl in: header description: 'The URL which will be used for notification service request. The Open Banking Service supports two ways in which this field can be filled: * **Option A)** with an URL ending on /v2 or /v3, indicating the version of the Notification API implemented by the Initiating Party. In this case the URL called for notifications will be extended with /notification/status by the Open Banking Service. The ''NotificationVersion'' field MUST NOT be filled. * **Option B)** with a full URL. The version information MUST BE provided in the ''NotificationVersion'' field. In this case the provided URL will not be extended, and used as-is. ' examples: Option A: value: https://www.example.org/myendpoint/v3 Option B: value: https://www.example.org/myendpoint/notification schema: maxLength: 4000 minLength: 1 type: string confirm: name: confirm in: query description: 'If set to ''true'' the transaction will be immediately confirmed by the Open Banking Service if confirmation of the payment by the Initiating Party is required by the ASPSP. ' schema: type: string authorisationId: name: authorisationId in: path required: true schema: type: string example: aid-4846 description: 'The Id used by the Open Banking Service to refer to an authorisation resource. ' 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 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 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' AspspPsuCorporateId: name: AspspPsuCorporateId in: header description: 'Identification of a Corporate in the Online Channels. ' schema: type: string confirmForNotification: name: confirm in: query description: 'If set to ''true'' the transaction will be immediately confirmed by the Open Banking Service if confirmation of the payment by the Initiating Party is required by the ASPSP.
**Note:** This field is only applicable when the notification service is used by the Initiating Party to receive the status of the payment. When the notification is not used this flag can be set in the GET status API. ' schema: type: string NotificationVersion: name: NotificationVersion in: header description: "The version of the Notification API, implemented by the Initiating Party, which shall be used for notification service request. Can be filled with v2 or v3. This field is only applicable if option 'B' is chosen, see 'InitiatingPartyNotificationUrl' description. \n" example: v3 schema: 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 HttpHeaderReferer: name: HttpHeaderReferer in: header description: 'PSU Session information. ' schema: maxLength: 500 minLength: 1 type: string Locale: name: Locale in: header schema: type: string description: '2-digit ISO-639 code for the language in which the Bank Selection Interface 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 Bank Selection Interface is taken over from the end user’s browser configuration or the system configuration of the Bank Selection Interface server. ' 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 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 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 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 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 paymentId: name: paymentId in: path description: 'The Id used by the Open Banking Service 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 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 UseAuthorisationLandingPages: name: UseAuthorisationLandingPages in: header schema: type: boolean default: false description: 'If true, Bank Selection Interface will be used to request required information from PSU directly ' schemas: PaymentProductEnum: type: string default: PSD2-SCT description: 'Indicates the requested payment method. ' enum: - PSD2-SCT - PSD2-SCT-Inst - PSD2-Target2 - PSD2-Domestic - PSD2-Domestic-Inst - IDEAL - WERO CommonPaymentDataIdentificationResponse: type: object additionalProperties: false required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: 'Id generated by the Open Banking Service. 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. ' EstimatedTotalAmount: type: object additionalProperties: false 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,2}$ type: string description: 'Amount ' description: 'Estimated Total Amount. ' AddressData: type: object additionalProperties: false 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 InitiationResponseLinks: type: object additionalProperties: false 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. * ''PrintLink'': A link to return a payment link. The payment link can be used by the PSU to authorize the payment. Lifetime is dictated by the PrintOptions parameter. * ''PrintQRCode'': A link to retrieve a QR code. The QR code can be used by the PSU to authorize the payment. Lifetime is dictated by the PrintOptions parameter. ' 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' PrintLink: $ref: '#/components/schemas/Link' PrintQRCode: $ref: '#/components/schemas/Link' Links: type: object additionalProperties: false 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' ProductSpecificMasterData: type: object additionalProperties: false 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. ' CommonPaymentDataResponse: type: object additionalProperties: false 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' LevelOfGuarantee: $ref: '#/components/schemas/LevelOfGuaranteeEnum' PaymentId: maxLength: 35 minLength: 1 type: string description: 'Id generated by the Open Banking Service. 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. ' AuthorisationRequiredData: type: object additionalProperties: false 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' CreditorAccount: type: object additionalProperties: false 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". ' BillingAddress: type: object additionalProperties: false properties: SameAsShippingAddress: type: boolean default: false 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' DebtorContactDetailsResponse: type: object additionalProperties: false 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 PaymentIdentificationResponse: description: 'PaymentIdentificationresponse ' type: object additionalProperties: false properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataIdentificationResponse' Links: $ref: '#/components/schemas/Links' ExchangeRateInformationResponse: type: object additionalProperties: false 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. ' ScaChallengeData: type: object additionalProperties: false 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. ' CredentialLabel: required: - Label - Language type: object additionalProperties: false 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 ' PaymentStatusEnum: type: string description: 'Payment status. * ''TimeoutAtTpp'': This status can only occur in combination with the Bank Selection Interface (UseAuthorisationLandingPages = true). It''s set if the Bank Selection Interface concludes that the payment cannot be completed because of a timeout. It''s a final state. ' enum: - Open - Authorised - PartiallyAuthorised - Pending - SettlementInProcess - SettlementCompleted - ReceivedByCreditorBank - ReceivedOnCreditorAccount - Cancelled - CancelledAtTPP - TimeoutAtTpp - Error - Expired CrossCurrencyPayment: type: object additionalProperties: false 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' ConfirmationRequest: type: object additionalProperties: false properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' CurrencyConversionFee: type: object additionalProperties: false required: - Currency - Amount - Rate 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,2}$ type: string description: 'Amount of the fees. ' Rate: type: number description: 'Currency Conversion Fee ' RiskInformation: type: object additionalProperties: false 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' deprecated: true description: 'The Object is deprecated 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. ' EstimatedInterbankSettlementAmount: type: object additionalProperties: false 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. ' PsuData: type: object additionalProperties: false properties: AspspId: minLength: 1 type: string description: 'The Id of the ASPSP. The Open Banking Service needs this information for PSD2 payments to route the payment. It has to be either provided in this field or by the PSU in the Bank Selection Interface. ' 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. CreditorInformation: type: object additionalProperties: false 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' UltimateCreditorAccount: $ref: '#/components/schemas/CreditorAccount' DebtorInformationResponse: type: object additionalProperties: false 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' ContactDetails: $ref: '#/components/schemas/DebtorContactDetailsResponse' ShippingAddress: $ref: '#/components/schemas/AddressData' BillingAddress: $ref: '#/components/schemas/AddressData' AuthStatusEnum: description: "This data element is containing information about the status of the SCA method applied.\n\nThe following codes are defined for this data type.\n\n * 'Received':\n An authorisation or cancellation-authorisation resource has been created successfully.\n * 'PsuIdentified':\n The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n * 'PsuAuthenticated':\n 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.\n * 'ScaMethodSelected':\n The PSU/TPP has selected the related SCA routine.\n If the SCA method is chosen implicitly since only one SCA method is available,\n then this is the first status to be reported instead of 'received'.\n * 'Started':\n The addressed SCA routine has been started.\n * 'Finalised':\n The SCA routine has been finalised successfully.\n * 'Failed':\n The SCA routine failed\n * 'Exempted':\n SCA was exempted for the related transaction, the related authorisation is successful.\n * 'Unconfirmed':\n SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet.\n" type: string enum: - Received - PsuIdentified - PsuAuthenticated - ScaMethodSelected - Started - Finalised - Failed - Exempted - Unconfirmed AmountBreakdown: type: object additionalProperties: false 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' ExchangeRateInformationRequest: type: object additionalProperties: false 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. ' Amount: required: - Amount type: object additionalProperties: false properties: Type: type: string deprecated: true 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 deprecated: true 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 deprecated: true 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' RemittanceInformationStructured: required: - Reference type: object additionalProperties: false 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. ' Link: required: - Href type: object additionalProperties: false properties: Href: maxLength: 1024 minLength: 1 type: string ScaMethods: required: - AuthenticationMethodId - AuthenticationType type: object additionalProperties: false 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. ' PaymentDetailedInformation: type: object additionalProperties: false 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 ' TransactionFees: type: object additionalProperties: false 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. ' PaymentConfirmationResponse: description: 'PaymentConfirmationResponse ' type: object additionalProperties: false properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataConfirmationResponse' Links: $ref: '#/components/schemas/Links' PsuAuthCredentials: type: object additionalProperties: false 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. ' PaymentCancellationResponse: type: object additionalProperties: false properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataAuthorisationResponse' Links: $ref: '#/components/schemas/InitiationResponseLinks' CredentialDetails: required: - CredentialId - IsSecret - LabelList type: object additionalProperties: false 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. ' PsuDataIdentification: type: object additionalProperties: false 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. ' DebtorInformation: type: object additionalProperties: false 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' 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 LevelOfGuaranteeEnum: type: string description: 'Level of payment guarantee for Payment Status. #### The level of guarantee for banks in countries where SCT Instant is either absent or entails a higher cost, as well as in scenarios where collection services are unavailable, is carefully assessed to ensure adequate risk management and payment assurance. ##### The level of payment guarantee ranges from 0, representing a minimum payment assurance, to 5, denoting a maximum payment guarantee, contingent upon the payment status returned by the customer''s bank. #### Remark: ##### The configuration for this level of payment guarantee is fully customizable, allowing for tailored adjustments based on the specific needs of each tenant and the respective policies of the customer''s bank. ' enum: - 0 - 1 - 2 - 3 - 4 - 5 PaymentInitiationResponse: type: object additionalProperties: false 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 ' StatusResponseLinks: type: object additionalProperties: false 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' 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 PaymentAuthorisationRequest: type: object additionalProperties: false 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 CommonPaymentDataConfirmationResponse: type: object additionalProperties: false required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: 'Id generated by the Open Banking Service. 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. ' ScheduledPaymentInitiationRequestBasic: type: object additionalProperties: false 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 Open Banking Service 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 Open Banking Service. * 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 ' CommonPaymentDataAuthorisationResponse: type: object additionalProperties: false required: - PaymentId - PaymentStatus properties: PaymentId: maxLength: 35 minLength: 1 type: string description: 'Id generated by the Open Banking Service. 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. ' AuthorisationResponseLinks: type: object additionalProperties: false 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' PsuCredentials: required: - CredentialsDetails type: object additionalProperties: false 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. ' IdentificationTypeEnum: type: string description: 'Type of the account number. ' enum: - IBAN - SortCodeAccountNumber CreditorDateAndPlaceOfBirth: required: - BirthDate - CityOfBirth - CountryOfBirth type: object additionalProperties: false 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 ScheduledPaymentInitiationRequest: type: object additionalProperties: false 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 Bank Selection Interface. ' 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' DebtorAccount: required: - Identification type: object additionalProperties: false 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". ' PaymentAuthorisationUpdateRequest: type: object additionalProperties: false 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' PaymentIdentificationRequest: type: object additionalProperties: false properties: PsuData: $ref: '#/components/schemas/PsuDataIdentification' PaymentAuthorisationResponse: type: object additionalProperties: false properties: CommonPaymentData: $ref: '#/components/schemas/CommonPaymentDataAuthorisationResponse' Links: $ref: '#/components/schemas/AuthorisationResponseLinks' AmountRelatedDetails: type: object additionalProperties: false 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' headers: DebtorDataSource: description: "Key- value pair which indicates the source for a certain field in the 'DebtorInformation' object in the body of this request. The following Key's can occur:\n - Name\n - Account.Identification\n\n The following Value's can occur:\n - IP (Initiating Party)\n - PSU (Payment Service User)\n - ASPSP (Account Servicing Payment Service Provider, The Bank of the PSU)\n - Collecting Bank (The bank which receives the money)\n\n More then one Key-Value pair can be provided, separated by a pipe.\n" schema: type: string example: Name:IP|Account.Identification:PSU 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= PaymentStatusSource: description: 'Has the value ''CollectingBank'' if the PaymentStatus originated from the Collecting Bank. If the PaymentStatus originates from another source, such as the debtor bank, then this header is not sent. ' schema: type: string example: CollectingBank 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 AspspScaApproach: description: "Indicates whether a decoupled flow is used by the ASPSP to continue the Strong Customer Authentication. \nThis field only returns the values 'Decoupled' or 'SuspectedDecoupled'. Other possible flow options are communicated within the Links section of the response.\n" schema: type: string securityDefinitions: basic: type: oauth2 flow: application tokenUrl: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/token