--- swagger: "2.0" info: description: |- The PIS API implements the Payment Initiation Service parts of the PSD2 specification, and provides the following services to authorized TPPs: * Initiation and update of a payment request * Status information of a payment * Singing baskets - authorising several transactions with one SCA operation Access to the Payment Initiation Service API is controlled through the general onboarding/enrollment flow. I.e. the API is only accessible to valid TPPs, who have completed the enrollment in order to upload and verify their qualified certificates. By accessing the API, you confirm that you already have status as an authorized TPP - or (for sandbox access only) that your application has been submitted to a local NCA and is pending approval. Only TPPs who can document their authorization status are elegible for support. The PIS API is part of the general PSD2 XS2A implementation and works in the same security context. In addition to the information contained below, all communication, headers and additional steps adhere to the general [security model and flows](https://apiportal.prod.bec.dk/openbanking/sandbox/security-model-and-flows). Refer to this link for up to date information on required security headers. The API is implemented against [Berlin Group XS2A version 1.3](https://www.berlin-group.org/psd2-access-to-bank-accounts). **Note about this version** This version of the PIS API now also supports testing of security and SCA flows in sandbox with full security context. * The sandbox API works on (stateless) mocked data. The mock API simulates creation of a payment request, but no simulation of actual payment is done. And nor will creation of a payment request cause any mutation of state with respect to subsequent calls to inquery the payment request details or status. * The security model for TPP enrollment and PSU authentication/authorization is implemented and enforced for both production and sandbox API **Access to API Endpoints** **Production and sandbox access:** Prior to calling the API the TPP must complete the (one-time) process for Onboarding on a per-bank basis. Separate API URL/host endpoints are required for each bank under the BEC Umbrella. Consult the Environments section for information on URL schemas in production and sandbox environments. See list of included ASPSPs and their corresponding urls by following this link. The X-IBM-Client-Id attribute is not required in this version. version: 1.0.11 title: PSD2 BG Payment Initiation Service API (PIS) contact: name: BEC PSD2 Support url: https://apiportal.prod.bec.dk/openbanking/sandbox/ email: psd2.support@bec.dk license: name: The API is made available to TPPs who have been authorized for the relevant roles by a NCA - or to TPPs applying to be authorized at a NCA with approval pending. x-ibm-name: psd2-bg-payment-initiation-api-pis host: api.sandbox.openbanking.bec.dk basePath: /bg/openbanking/v1 tags: - name: Berlin Group Payment Initiation description: |- Payment Initiation Service (PIS) offers the following services: * Initiation and update of a payment request * Status information of a payment paths: /payments/{paymentProduct}: post: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint initializes payment for specific payment product operationId: postInitiatePaymentUsingPOST consumes: - application/json produces: - application/json parameters: - name: paymentProduct in: path description: paymentProduct required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: TPP-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected after SCA. - name: TPP-Nok-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected in case of a negative result of the SCA. - in: body name: Payment Initiation Payload description: Payment initiation payload. See the Payment Initiation model for Details required: true schema: $ref: '#/definitions/PaymentInitiation' responses: 201: description: Created schema: $ref: '#/definitions/PaymentInitiationResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /periodic-payments/{paymentProduct}: post: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint initializes periodic payment for specific payment product operationId: postInitiatePeriodicPaymentUsingPOST consumes: - application/json produces: - application/json parameters: - name: paymentProduct in: path description: Only domestic transfers are currently supported required: true type: string enum: - domestic-credit-transfers - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: TPP-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected after SCA. - name: TPP-Nok-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected in case of a negative result of the SCA. - in: body name: Payment Initiation Payload description: Payment initiation payload. See the Payment Initiation model for Details required: true schema: $ref: '#/definitions/PeriodicPaymentInitiation' responses: 201: description: Created schema: $ref: '#/definitions/PaymentInitiationResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /{paymentService}/{paymentProduct}/{paymentId}/authorisations: post: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint creates an authorisation sub-resource and start the authorisation process. operationId: postAddAuthorisationsForPeriodicPaymentUsingPOST consumes: - application/json produces: - application/json parameters: - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: paymentProduct in: path description: 'paymentProduct Note: for periodic-payments service currently on domestic-credit-transfers are supported' required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string responses: 201: description: Created schema: $ref: '#/definitions/AuthorisationResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found get: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint extracts authorisation sub-resource(s) operationId: getPaymentInitiationAuthorisations produces: - application/json parameters: - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: paymentProduct in: path description: 'paymentProduct Note: for periodic-payments service currently on domestic-credit-transfers are supported' required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string responses: 200: description: OK schema: $ref: '#/definitions/AuthorisationIdsResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /{paymentService}/{paymentProduct}/{paymentId}: get: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint gets detailed information of specific payment operationId: getPeriodicPaymentInitiationInfoUsingGET produces: - application/json parameters: - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: paymentProduct in: path description: 'paymentProduct Note: for periodic-payments service currently on domestic-credit-transfers are supported' required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string responses: 200: description: OK schema: $ref: '#/definitions/PaymentInitiationInfoResponse' 400: description: Bad request. In cases like like for example the incorrect product, is used for a given id. 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found delete: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint cancels payment initiation previously created operationId: cancelInitiatePaymentUsingDELETE consumes: - application/json produces: - application/json parameters: - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: paymentProduct in: path description: paymentProduct required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers (only for payments service) - intraday-domestic-credit-transfers (only for payments service) - sepa-credit-transfers (only for payments service) - cross-border-credit-transfers (only for payments service) - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: TPP-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected after SCA. - name: TPP-Nok-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected in case of a negative result of the SCA. responses: 202: description: Authorization needed. schema: $ref: '#/definitions/PaymentInitiationCancelResponse' 204: description: No content. Inititation deleted, no further actions needed. 400: description: Bad request. In cases like like for example the incorrect product, is used for a given id. 403: description: Forbidden 404: description: Not Found /{paymentService}/{paymentProduct}/{paymentId}/status: get: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint gets status for specific payment operationId: getPaymentInitiationStatusUsingGET produces: - application/json parameters: - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: paymentProduct in: path description: 'paymentProduct Note: for periodic-payments service currently on domestic-credit-transfers are supported' required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string responses: 200: description: OK schema: $ref: '#/definitions/PaymentInitiationStatusResponse' 400: description: Bad request. In cases like like for example the incorrect product, is used for a given id. 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /{paymentService}/{paymentProduct}/{paymentId}/authorisations/{authorisationId}: get: tags: - Berlin Group Payment Initiation Service API (PIS) summary: This endpoint retrieves detailed information for a specific payment operationId: getPaymentInitiationAuthorisationUsingGET produces: - application/json parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: paymentProduct in: path description: 'paymentProduct Note: for periodic-payments service currently on domestic-credit-transfers are supported' required: true type: string enum: - domestic-credit-transfers - instant-domestic-credit-transfers - intraday-domestic-credit-transfers - sepa-credit-transfers - cross-border-credit-transfers - name: paymentId in: path description: paymentId received from payment creation endpoint required: true type: string - name: paymentService in: path description: Type of a payment service used required: true type: string enum: - payments - periodic-payments - name: authorisationId in: path description: authorisationId received from payment creation endpoint required: true type: string responses: 200: description: OK schema: $ref: '#/definitions/Authorisation' 400: description: Bad request. In cases like like for example the incorrect product, is used for a given id. 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /signing-baskets: post: summary: Create a signing basket resource description: |- Create a signing basket resource for authorising several transactions with one SCA method. The resource identifications of these transactions are contained in the payload of this access method. Please not that: * paymentIds and consentIds parameteres ARE mutually exclusive * consentIds parameter IS NOT SUPPORTED operationId: createSigningBasket tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - in: body name: Signing Basket initiation payload description: Payload for establishing signing basket. required: true schema: $ref: '#/definitions/SigningBasket' responses: 201: description: Created schema: $ref: '#/definitions/SigningBasketInitializationResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /signing-baskets/{basketId}: get: summary: Returns the content of an signing basket object description: Returns the content of a signing basket object. operationId: getSigningBasket tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: basketId in: path type: string description: Signing basket identifier as received from create signing basket resource. required: true responses: 200: description: OK schema: $ref: '#/definitions/SigningBasketResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found delete: summary: Delete the signing basket description: | Delete the signing basket structure as long as no (partial) authorisation has yet been applied. The undlerying transactions are not affected by this deletion. Remark: The signing basket as such is not deletable after a first (partial) authorisation has been applied. Nevertheless, single transactions might be cancelled on an individual basis on the XS2A interface. operationId: deleteSigningBasket tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: basketId in: path type: string description: Signing basket identifier as received from create signing basket resource. required: true responses: 204: description: No content. Inititation deleted, no further actions needed. 400: description: Incorrect request input 403: description: Forbidden 404: description: Not Found /signing-baskets/{basketId}/status: get: summary: Read the status of the signing basket description: | Returns the status of a signing basket object. operationId: getSigningBasketStatus tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: basketId in: path type: string required: true description: Signing basket identifier as received from create signing basket resource. responses: 200: description: OK schema: $ref: '#/definitions/SigningBasketStatusResponse' 400: description: Incorrect request input 403: description: Forbidden 404: description: Not Found /signing-baskets/{basketId}/authorisations: post: summary: Start the authorisation process for a signing basket description: | Create an authorisation sub-resource and start the authorisation process of a signing basket. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the signing-baskets. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST signing basket call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment initiation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms: * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' * 'startAuthorisationWithEncryptedPsuAuthentication' * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with a 'startAuthorisation' hyperlink in the preceding payment cancellation response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. operationId: startSigningBasketAuthorisation tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: TPP-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected after SCA. - name: TPP-Nok-Redirect-URI in: header type: string format: uuid required: true description: | URI to which the PSU is redirected in case of a negative result of the SCA. - name: basketId in: path type: string required: true description: Signing basket identifier as received from create signing basket resource. responses: 201: description: Created schema: $ref: '#/definitions/AuthorisationResponse' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found /signing-baskets/{basketId}/authorisations/{authorisationId}: get: summary: Read the SCA status of the signing basket authorisation description: | This method returns the SCA status of a signing basket's authorisation sub-resource. operationId: getSigningBasketScaStatus tags: - Signing Baskets (SBS) parameters: - name: X-Request-ID in: header type: string format: uuid required: true description: | ID of the request (in UUID format), unique to the call (generated by the initiating party, who must ensure uniqueness). - name: basketId in: path type: string required: true description: Signing basket identifier as received from create signing basket resource. - name: authorisationId in: path type: string required: true description: Authorisation identifier as received from creating a new authorisation responses: 200: description: OK schema: $ref: '#/definitions/Authorisation' 400: description: Incorrect request input 401: description: Unauthorized 403: description: Forbidden 404: description: Not Found definitions: Account: type: object properties: bban: type: string example: 1234567890123 description: "BBAN (Basic Bank Account Number) up to 14 digits forming the account number used to identify an account intranationally \n Pattern: [0-9]{1,14}" maxLength: 14 iban: type: string example: DK9520000123456789 description: "IBAN (International Bank Account Number) up to 34 alphanumeric characters consisting of a two letter country code, a two digit checksum, and a BBAN \n Pattern: [A-Z]{2}[0-9]{2}[A-Z0-9]{1-30}" maxLength: 34 title: Account description: Account representation. Either iban or bban MUST be filled out Amount: type: object required: - amount - currency properties: amount: type: number example: 5864.850000 description: |- The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.: -?[0-9]{1,14}(\.[0-9]{1,3})? currency: type: string example: DKK description: The Currency code. This MUST be a valid ISO 4217 currency code. See the ASPSPs' documentation for details of supported currencies. minLength: 3 maxLength: 3 title: Amount description: Monetary Amount, including currency code and value Authorisation: type: object properties: scaStatus: type: string enum: - CREATED - PENDING - APPROVED title: Authorisation Link: type: object properties: href: type: string example: /v1/link/to/some/resource description: URL pointing to a resource title: Link description: Link to a resource Links: type: object properties: scaStatus: $ref: '#/definitions/Link' self: $ref: '#/definitions/Link' status: $ref: '#/definitions/Link' title: Links description: Collection of links AuthorisationResponseLinks: type: object properties: scaRedirect: $ref: '#/definitions/Link' title: SCA redirect authorisation link description: SCA redirect link provided with authorisation object AuthorisationResponse: allOf: - $ref: '#/definitions/Authorisation' - properties: authorisationId: type: string example: e73c4feb-801a-4e6d-a836-ec7bfe78aa18 _links: $ref: '#/definitions/AuthorisationResponseLinks' title: Authorisation response description: Authorisation object (with id and SCA redirect link provided) created response AuthorisationIdsResponse: type: object properties: authorisationIds: type: array items: type: string example: e73c4feb-801a-4e6d-a836-ec7bfe78aa18 title: Authorisations sub-resource response description: Authorisation object(s) (list of ids provided) response PaymentInitiation: type: object properties: chargeBearer: type: string example: DEBT description: "Supported only by cross-border-credit-transfers. ChargeBearerType1Code from ISO20022 defines who should be charged for the transaction\n* DEBT: All transaction charges are to be borne by the debtor.\n* CRED: All transaction charges are to be borne by the creditor.\n* SHAR: In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the\nreceiver side are to be borne by the creditor. In a direct debit context,means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor. \n* SLEV: Charges are to be applied following the rules agreed in the service level and/or scheme." enum: - DEBT - CRED - SHAR - SLEV creditorAccount: $ref: '#/definitions/Account' creditorAgent: type: string example: DSLRLQEAFB8 description: "BICFI Identifier \nPattern: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" creditorName: type: string example: Scrooge McDuck description: Name of the payment recipient maxLength: 70 debtorAccount: $ref: '#/definitions/Account' endToEndIdentification: type: string description: Unique end to end identity maxLength: 35 instructedAmount: $ref: '#/definitions/Amount' purposeCode: type: string example: SALA description: ISO 20022 ExternalPurpose1Code explaining the purpose of the transaction minLength: 4 maxLength: 4 remittanceInformationStructured: type: string example: AH-64E description: Reference as contained in the structured remittance reference structure (without the surrounding XML structure). maxLength: 140 remittanceInformationUnstructured: type: string example: Very important payment for services rendered description: Remittance information used to identify the payment maxLength: 140 remittanceInformationUnstructuredArray: type: array example: - Very important payment for services rendered description: Remittance information used to identify the payment in form of lines array items: type: string requestedExecutionDate: type: string example: "2019-10-01" description: "Date the payment is requested to be executed on. \n* Please NOTE! that requestedExecutionDate field is mandatory for domestic-credit-transfers, and NOT SUPPORTED for instant-domestic-credit-transfers." ultimateCreditor: type: string example: Scrooge McDuck description: Name of the ultimate recipient maxLength: 70 title: PaymentInitiation description: |- Payment Initiation model is shared by all the types of payments supported. However, please note that not every field is in every context. Moreover the validations does differ from product to product. * For sepa-credit-transfers both debtorAccount, and creditorAccount numbers must be provided in IBAN format. * For cross-border-credit-transfers payments creditorAccount must be given as a valid BICFI value, and debtorAccount number needs to be IBAN. * In instant-domestic-credit-transfers the requestedExecutionDate must not be used. * chargeBearer field is valid only for cross-border-credit-transfers. * Please NOTE! that requestedExecutionDate field is mandatory for domestic-credit-transfers, and NOT SUPPORTED for instant-domestic-credit-transfers. PeriodicPaymentInitiation: type: object properties: creditorAccount: $ref: '#/definitions/Account' creditorAgent: type: string example: DSLRLQEAFB8 description: "BICFI Identifier \nPattern: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" creditorName: type: string example: Scrooge McDuck description: Name of the payment recipient maxLength: 70 debtorAccount: $ref: '#/definitions/Account' endToEndIdentification: type: string description: Unique end to end identity maxLength: 35 instructedAmount: $ref: '#/definitions/Amount' purposeCode: type: string example: SALA description: ISO 20022 ExternalPurpose1Code explaining the purpose of the transaction minLength: 4 maxLength: 4 remittanceInformationStructured: type: string example: AH-64E description: Reference as contained in the structured remittance reference structure (without the surrounding XML structure). maxLength: 140 remittanceInformationUnstructured: type: string example: Very important payment for services rendered description: Remittance information used to identify the payment maxLength: 140 remittanceInformationUnstructuredArray: type: array example: - Very important payment for services rendered description: Remittance information used to identify the payment in form of lines array items: type: string requestedExecutionDate: type: string example: "2019-10-01" description: NOT SUPPORTED! use startDate with dayOfExecution for periodics ultimateCreditor: type: string example: Scrooge McDuck description: Name of the ultimate recipient maxLength: 70 startDate: type: string example: "2021-10-01" description: Date the payment period starts endDate: type: string example: "2021-10-01" description: Date the payment period ends dayOfExecution: type: string example: 14 description: Day of a month the transfer should be normally executed. Value from range [0,31] maxLength: 2 frequency: type: string example: Monthly description: Execution period, values Daily and EveryTwoMonths are currently not supported. enum: - Daily - Weekly - EveryTwoWeeks - Monthly - EveryTwoMonths - Quarterly - SemiAnnual - Annual executionRule: type: string example: following description: Rule for execution when payment date falls on a weekend, or bank holiday. Currently not supported, as BEC comes with a custom way of handling that date. enum: - following - preceding title: PeriodicPaymentInitiation description: |- Payment Initiation model is shared by all the types of payments supported. However, please note that not every field is in every context. Moreover the validations does differ from product to product. * For sepa-credit-transfers both debtorAccount, and creditorAccount numbers must be provided in IBAN format. * For cross-border-credit-transfers payments creditorAccount must be given as a valid BICFI value, and debtorAccount number needs to be IBAN. * In instant-domestic-credit-transfers the requestedExecutionDate must not be used. * chargeBearer field is valid only for cross-border-credit-transfers. * Please NOTE! that requestedExecutionDate field is mandatory for domestic-credit-transfers, and NOT SUPPORTED for instant-domestic-credit-transfers. PaymentInitiationInfoResponse: type: object properties: chargeBearer: type: string example: DEBT description: "Supported only by cross-border-credit-transfers. ChargeBearerType1Code from ISO20022 defines who should be charged for the transaction\n* DEBT: All transaction charges are to be borne by the debtor.\n* CRED: All transaction charges are to be borne by the creditor.\n* SHAR: In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the\nreceiver side are to be borne by the creditor. In a direct debit context,means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor. \n* SLEV: Charges are to be applied following the rules agreed in the service level and/or scheme." enum: - DEBT - CRED - SHAR - SLEV creditorAccount: $ref: '#/definitions/Account' creditorAgent: type: string example: DSLRLQEAFB8 description: "BICFI Identifier \nPattern: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}" creditorName: type: string example: Scrooge McDuck description: Name of the payment recipient maxLength: 70 debtorAccount: $ref: '#/definitions/Account' endToEndIdentification: type: string description: Unique end to end identity maxLength: 35 instructedAmount: $ref: '#/definitions/Amount' purposeCode: type: string example: SALA description: ISO 20022 ExternalPurpose1Code explaining the purpose of the transaction minLength: 4 maxLength: 4 remittanceInformationStructured: type: string example: MH-370 description: Reference as contained in the structured remittance reference structure (without the surrounding XML structure). maxLength: 140 remittanceInformationUnstructured: type: string example: Very important payment for services rendered description: Remittance information used to identify the payment maxLength: 140 remittanceInformationUnstructuredArray: type: array example: Very important payment for services rendered description: Remittance information used to identify the payment in form of lines array. items: type: string requestedExecutionDate: type: string example: "2019-10-01" description: Date the payment is to be executed on transactionStatus: type: string example: ACSC description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC ultimateCreditor: type: string example: Scrooge McDuck description: Name of the ultimate recipient maxLength: 70 startDate: type: string example: "2021-10-01" description: Available for periodic payments only! Date the payment period starts endDate: type: string example: "2021-10-01" description: Available for periodic payments only! Date the payment period ends dayOfExecution: type: string example: 14 description: Available for periodic payments only! Day of a month the transfer should be normally executed. Value from range [0,31] maxLength: 2 frequency: type: string example: Monthly description: Available for periodic payments only! Execution period, values Daily and EveryTwoMonths are currently not supported. enum: - Daily - Weekly - EveryTwoWeeks - Monthly - EveryTwoMonths - Quarterly - SemiAnnual - Annual executionRule: type: string example: following description: Available for periodic payments only! Rule for execution when payment date falls on a weekend, or bank holiday. Currently not supported, as BEC comes with a custom way of handling that date. enum: - following - preceding title: PaymentInitiationInfoResponse description: Payment Initiation Information Response PaymentInitiationResponse: type: object properties: _links: $ref: '#/definitions/Links' paymentId: type: string example: 48659f7a-2ded-11e9-b210-d663bd873d93 description: paymentId from a call to payment initiation request transactionStatus: type: string example: RCVD description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC title: PaymentInitiationResponse description: Response to a payment initiation request PaymentInitiationCancelResponse: type: object properties: _links: $ref: '#/definitions/Links' transactionStatus: type: string example: RCVD description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC title: PaymentInitiationCancelResponse description: Response to a payment cancelation request PaymentInitiationStatusResponse: type: object properties: transactionStatus: type: string example: RJCT description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC title: PaymentInitiationStatusResponse description: Response to a payment initiation status request SigningBasket: type: object properties: paymentIds: type: array minItems: 1 items: type: string example: 48659f7a-2ded-11e9-b210-d663bd873d93 description: Payment identifiers from a calls to payment initiation request consentIds: type: array minItems: 0 items: type: string example: 15b708e5-531f-36f2-bea5-647c5dddec8e description: Identifiers of the corresponding consent objects as returned by an account information consent request. example: paymentIds: - 316cc3e6-4abe-3151-a384-a60ef90cc0d8 - e9ac7162-2051-3de9-adda-beed1e6b6e36 SigningBasketInitializationResponse: type: object properties: basketId: type: string example: f5b23695-980a-4aa8-a093-b3a63c072679 transactionStatus: type: string example: RCVD description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC _links: type: object properties: self: $ref: '#/definitions/Link' status: $ref: '#/definitions/Link' startAuthorisation: $ref: '#/definitions/Link' SigningBasketResponse: type: object properties: basketId: type: string example: f5b23695-980a-4aa8-a093-b3a63c072679 transactionStatus: type: string example: RCVD description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC payments: type: array minItems: 1 items: type: string example: 48659f7a-2ded-11e9-b210-d663bd873d93 description: paymentId from a call to payment initiation request _links: type: object properties: self: $ref: '#/definitions/Link' status: $ref: '#/definitions/Link' startAuthorisation: $ref: '#/definitions/Link' SigningBasketStatusResponse: type: object properties: transactionStatus: type: string example: RJCT description: |- Status of the transaction * ACCP: AcceptedCustomerProfile * ACSC: AcceptedSettlementCompleted * ACSP: AcceptedSettlementInProcess * ACTC: AcceptedTechnicalValidation * ACWC: AcceptedWithChange * ACWP: AcceptedWithoutPosting * RCVD: Received * PDNG: Pending * RJCT: Rejected * CANC: Cancelled enum: - ACCP - ACSC - ACSP - ACTC - ACWC - ACWP - RCVD - PDNG - RJCT - CANC title: SigningBasketStatusResponse description: Response to a signing basket status request x-ibm-configuration: testable: false enforced: true phase: realized x-ibm-endpoints: - endpointUrl: https://api.sandbox.openbanking.bec.dk type: - development ...