> For the complete documentation index, see [llms.txt](https://apidocs.arionbanki.is/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.arionbanki.is/psd2/api-reference/api-specification/payment-initiation-service-api.md).

# Payment Initiation Service Api

Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments.

## Payment initiation request

> This method is used to initiate a payment at the ASPSP.\
> &#x20;           \
> \## Variants of payment initiation requests\
> &#x20;           \
> This method to initiate a payment at the ASPSP can be sent with either a JSON body or a pain.001\
> body, depending on the payment product in the path.\
> &#x20;           \
> There are the following \*\*payment products\*\* in \*JSON\* format supported:\
> &#x20;           \
> \* \*\*\*credit-transfers\*\*\*\
> \* \*\*\*card-deposits\*\*\*\
> &#x20;           \
> Furthermore the request body depends on the \*\*payment-service\*\*:\
> &#x20;           \
> \* \*\*\*payments\*\*\*: A single payment initiation request.\
> \* \*\*\*bulk-payments\*\*\*: A collection of several payment initiation requests. In case of a \*pain.001\*\
> &#x20; message there is more than one payment contained in the \*pain.001\* message. In case of a \*JSON\*\
> &#x20; there are several JSON payment blocks contained in a joining list.\
> \* \*\*\*periodic-payments\*\*\*: Create a standing order initiation resource for recurrent (i.e. periodic)\
> &#x20; payments addressable under {paymentId}, with all data relevant for the corresponding payment\
> &#x20; product and the execution of the standing order contained in a JSON body. This is the first step\
> &#x20; in the API to initiate the related recurring/periodic payment.\
> &#x20;           \
> \## Single and multilevel SCA processes\
> &#x20;           \
> The payment initiation requests are independent from the need of one or multilevel SCA processing,\
> i.e. independent from the number of authorisations needed for the execution of payments. But the\
> response messages are specific to either one SCA processing or multilevel SCA processing.\
> &#x20;           \
> For payment initiation with multilevel SCA, this specification requires an explicit start of the\
> authorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or\
> 'scaOAuth' cannot be contained in the response message of a payment initiation request for a\
> payment where multiple authorisations are needed. Also, if any data is needed for the next action,\
> selecting an SCA method is not supported in the response, since all starts of the multiple\
> authorisations are fully equal. In these cases, first an authorisation sub-resource has to be\
> generated following the 'startAuthorisation' link.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"PaymentInitiationDomesticJson":{"required":["creditorAccount","debtorAccount"],"type":"object","properties":{"endToEndIdentification":{"maxLength":35,"type":"string","nullable":true},"instructionIdentification":{"maxLength":35,"type":"string","nullable":true},"debtorId":{"maxLength":35,"type":"string","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"chargesAccount":{"$ref":"#/components/schemas/AccountReference"},"ultimateDebtor":{"maxLength":70,"type":"string","description":"Ultimate debtor.","nullable":true},"ultimateDebtorId":{"maxLength":35,"type":"string","description":"Ultimate Debtor Id","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorId":{"maxLength":35,"type":"string","nullable":true},"creditorName":{"maxLength":70,"type":"string","description":"Creditor name.","nullable":true},"creditorAddress":{"$ref":"#/components/schemas/Address"},"creditorAgent":{"pattern":"([A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1})|(^.*$)","type":"string","description":"BICFI or other unambiguous identification of a financial institution\nidentification, when BICFI does not apply.","nullable":true},"creditorAgentName":{"maxLength":70,"type":"string","description":"Creditor agent name.","nullable":true},"creditorAgentAddress":{"$ref":"#/components/schemas/Address"},"ultimateCreditor":{"maxLength":70,"type":"string","description":"Ultimate creditor.","nullable":true},"ultimateCreditorId":{"maxLength":35,"type":"string","description":"Ultimate Creditor Id","nullable":true},"centralBankPurposeCode":{"maxLength":3,"type":"string","description":"Standardised definition of purpose code required by the Icelandic Central Bank.","nullable":true},"icelandicPurposeCode":{"maxLength":2,"type":"string","description":"Standardised definition of transaction used in the Iceland market to define\nthe purpose of the transaction.","nullable":true},"remittanceInformationUnstructured":{"maxLength":140,"type":"string","description":"Unstructured remittance information.","nullable":true},"remittanceInformationStructured":{"type":"array","items":{"$ref":"#/components/schemas/RemittanceInformationStructured"},"description":"Array of structured remittance information.","nullable":true},"requestedExecutionDate":{"type":"string","description":"The date on which the payment is to be executed. Used for forward-dated (future)\npayments.","format":"date-time","nullable":true},"partialPayment":{"type":"boolean","description":"Payment used to pay claim (Icelandic).","nullable":true},"chargeBearer":{"$ref":"#/components/schemas/ChargeBearer"},"serviceLevel":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Generic body for a domestic payment initiation via JSON.\n            \nPayment types:\n            \n* credit-transfers\n* card-deposits"},"AccountReference":{"type":"object","properties":{"iban":{"pattern":"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}","type":"string","description":"IBAN of an account.","nullable":true},"bban":{"pattern":"[a-zA-Z0-9]{1,30}","type":"string","description":"Basic Bank Account Number (BBAN) Identifier. This data element can be used in the\nbody of the consent request. Message for retrieving account access consent from\nthis account. This data elements is used for payment accounts which have no IBAN.\nISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial\ninstitutions, i.e., in individual countries, generally as part of a National Account\nNumbering Scheme(s), which uniquely identifies the account of a customer.","nullable":true},"maskedPan":{"maxLength":35,"type":"string","description":"Masked Primary Account Number in the format 123456******1234. The first 6 and\nlast 4 digits of the card number are visible, with the middle digits masked\nusing asterisks (*).","nullable":true},"msisdn":{"maxLength":35,"type":"string","description":"Mobile phone number.","nullable":true},"currency":{"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code.","nullable":true},"cashAccountType":{"type":"string","description":"ExternalCashAccountType1Code from ISO 20022.","nullable":true}},"additionalProperties":false,"description":"Reference to an account by either:\n            \n* IBAN, of a payment accounts, or\n* BBAN, for payment accounts if there is no IBAN, or\n* the Masked Primary Account Number (maskedPan) of a card in the format 123456******1234, or\n* an alias to access a payment account via a registered mobile phone number (MSISDN)."},"Amount":{"required":["amount","currency"],"type":"object","properties":{"currency":{"minLength":1,"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code."},"amount":{"minLength":1,"pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string","description":"The amount given with fractional digits, where fractions must be compliant to the\ncurrency definition. Up to 14 significant figures. Negative amounts are signed by\nminus. The decimal separator is a dot.\n            \n**Example:** Valid representations for EUR with up to two decimals are:\n            \n* 1056\n* 5768.2\n* -1.50\n* 5877.78"}},"additionalProperties":false,"description":""},"Address":{"required":["country"],"type":"object","properties":{"streetName":{"maxLength":70,"type":"string","nullable":true},"buildingNumber":{"type":"string","nullable":true},"townName":{"type":"string","nullable":true},"postCode":{"type":"string","nullable":true},"country":{"minLength":1,"pattern":"[A-Z]{2}","type":"string","description":"ISO 3166 ALPHA2 country code."}},"additionalProperties":false,"description":""},"RemittanceInformationStructured":{"required":["reference"],"type":"object","properties":{"reference":{"maxLength":35,"minLength":1,"type":"string"},"referenceType":{"maxLength":35,"type":"string","nullable":true},"referenceIssuer":{"maxLength":35,"type":"string","nullable":true}},"additionalProperties":false,"description":"Structured remittance information."},"ChargeBearer":{"enum":["DEBT","CRED","SHAR","SLEV"],"type":"string","description":"Charge Bearer. ChargeBearerType1Code from ISO20022."},"PeriodicPaymentInitiationDomesticJson":{"required":["debtorAccount","instructedAmount"],"type":"object","properties":{"endToEndIdentification":{"maxLength":35,"type":"string","nullable":true},"debtorId":{"maxLength":35,"type":"string","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorId":{"maxLength":35,"type":"string","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"icelandicPurposeCode":{"maxLength":2,"type":"string","description":"Standardised definition of transaction used in the Iceland market to define\nthe purpose of the transaction.","nullable":true},"remittanceInformationUnstructured":{"maxLength":140,"type":"string","description":"Unstructured remittance information.","nullable":true},"remittanceInformationStructured":{"maxLength":140,"type":"string","description":"Array of structured remittance information.","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"executionRule":{"$ref":"#/components/schemas/ExecutionRule"},"endDate":{"type":"string","format":"date-time","nullable":true},"frequency":{"$ref":"#/components/schemas/FrequencyCode"},"dayOfExecution":{"$ref":"#/components/schemas/DayOfExecution"}},"additionalProperties":false,"description":"Generic body for a domestic periodic payment initiation via JSON.\n            \nPayment types:\n            \n* credit-transfers\n* card-deposits"},"ExecutionRule":{"enum":["following","preceding"],"type":"string","description":"\\\"following\\\" or \\\"preceding\\\" supported as values.  This data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday.  The payment is then executed either the \\\"preceding\\\" or \\\"following\\\" working day. ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting  this execution rule."},"FrequencyCode":{"enum":["Daily","Weekly","EveryTwoWeeks","Monthly","EveryTwoMonths","Quarterly","SemiAnnual","Annual"],"type":"string","description":"The following codes from the \\\"EventFrequency7Code\\\" of ISO 20022 are supported: - \\\"Daily\\\" - \\\"Weekly\\\" - \\\"EveryTwoWeeks\\\" - \\\"Monthly\\\" - \\\"EveryTwoMonths\\\" - \\\"Quarterly\\\" - \\\"SemiAnnual\\\" - \\\"Annual\\\""},"DayOfExecution":{"enum":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"],"type":"string","description":"Day of execution as string.  This string consists of up two characters. Leading zeroes are not allowed.  31 is ultimo of the month."},"BulkPaymentInitiationDomesticJson":{"required":["paymentInformationId","payments"],"type":"object","properties":{"batchBookingPreferred":{"type":"boolean","description":"If this element equals 'true', the PSU prefers only one booking entry.\nIf this element equals 'false', the PSU prefers individual booking of all contained\nindividual transactions.\n            \nThe ASPSP will follow this preference according to contracts agreed on with the PSU.","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"paymentInformationId":{"maxLength":35,"minLength":1,"type":"string","description":"Unique identifier for the bulk payment, assigned by the TPP. Required for bulk\npayment initiation. A bulk payment submitted with a paymentInformationId that has\nalready been used is rejected as a duplicate."},"requestedExecutionDate":{"type":"string","description":"The date on which the payment is to be executed. Used for forward-dated (future)\npayments.","format":"date-time","nullable":true},"payments":{"type":"array","items":{"$ref":"#/components/schemas/PaymentInitiationBulkElementDomesticJson"},"description":"A list of generic JSON bodies domestic payment initations for bulk payments via JSON.  Note: Some fields from single payments do not occcur in a bulk payment element"},"chargesAccount":{"$ref":"#/components/schemas/AccountReference"}},"additionalProperties":false,"description":"Generic body for a domestic bulk payment initiation via JSON.\n            \nPayment types:\n            \n* credit-transfers\n* card-deposits"},"PaymentInitiationBulkElementDomesticJson":{"required":["creditorAccount","instructedAmount"],"type":"object","properties":{"endToEndIdentification":{"type":"string","nullable":true},"instructionIdentification":{"type":"string","nullable":true},"resourceId":{"type":"string","nullable":true},"debtorId":{"type":"string","description":"Debtor Id.","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"ultimateDebtor":{"type":"string","description":"Ultimate debtor.","nullable":true},"ultimateDebtorId":{"type":"string","description":"Ultimate Debtor Id","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"creditorId":{"type":"string","nullable":true},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"ultimateCreditor":{"type":"string","description":"Ultimate creditor.","nullable":true},"ultimateCreditorId":{"type":"string","description":"Ultimate Creditor Id","nullable":true},"icelandicPurposeCode":{"type":"string","description":"Standardised definition of transaction used in the Iceland market to define the purpose of the transaction.","nullable":true},"centralBankPurposeCode":{"type":"string","description":"Standardised definition of purpose code required by the Icelandic Central Bank.","nullable":true},"remittanceInformationUnstructured":{"type":"string","description":"Unstructured remittance information.","nullable":true},"remittanceInformationStructuredArray":{"type":"array","items":{"$ref":"#/components/schemas/RemittanceInformationStructured"},"description":"Array of structured remittance information.","nullable":true},"partialPayment":{"type":"boolean","description":"Payment used to pay claim (Icelandic)"}},"additionalProperties":false,"description":"Generic body for a bulk payment initation entry.  The bulk entry type is a type which follows the JSON formats for the supported products for single payments excluding the data elements (if supported):   * requestedExecutionDate.    These data elements may not be contained in any bulk entry. Foreign (sepa and cross-border) payments must skip exclude the data elements:   * debtorAccount   * requestedExecutionDate   * chargesAccount      The should only be present on the parent bulkPaymentInitiationDomestic_json bulk initation entity.  This data object can be used to represent valid bulk payment initiations entry for the following JSON based payment product,  which where defined in the Implementation Guidelines:    * credit-transfers   * claim-payments   * card-deposits   * sepa-credit-transfers   * cross-border-credit-transfers  For the convenience of the implementer additional which are already predefinded in the Implementation Guidelines  are included (but commented in source code), such that an ASPSP may add them easily.  Take care: Since the format is intended to fit for all payment products  there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for detailes."},"PaymentInitationRequestResponse201":{"required":["_links","paymentId","transactionStatus"],"type":"object","properties":{"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"paymentId":{"minLength":1,"type":"string","description":"Resource identification of the generated payment initiation resource."},"transactionFees":{"$ref":"#/components/schemas/Amount"},"currencyConversionFee":{"$ref":"#/components/schemas/Amount"},"transactionFeeIndicator":{"type":"boolean","description":"If equals 'true', the transaction will involve specific transaction cost as shown by\nthe ASPSP in their public price list or as agreed between ASPSP and PSU.\n            \nIf equals 'false', the transaction will not involve additional specific transaction\ncosts to the PSU unless the fee amount is given specifically in the data elements\ntransactionFees and/or currencyConversionFees.\n            \nIf this data element is not used, there is no information about transaction fees unless\nthe fee amount is given explicitly in the data element transactionFees and/or\ncurrencyConversionFees.","nullable":true},"scaMethods":{"type":"array","items":{"$ref":"#/components/schemas/AuthenticationObject"},"description":"This data element might be contained, if SCA is required and if the PSU has a choice\nbetween different authentication methods.\n            \nDepending on the risk management of the ASPSP this choice might be offered before or\nafter the PSU has been identified with the first relevant factor, or if an access token\nis transported.\n            \nIf this data element is contained, then there is also a hyperlink of type\n'startAuthorisationWithAuthenticationMethodSelection' contained in the response body.\n            \nThese methods shall be presented towards the PSU for selection by the TPP.","nullable":true},"chosenScaMethod":{"$ref":"#/components/schemas/ChosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/ChallengeData"},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A list of hyperlinks to be recognised by the TPP.\n            \nThe actual hyperlinks used in the response depend on the dynamical decisions of the\nASPSP when processing the request.\n            \n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n            \nType of links admitted in this response, (further links might be added for ASPSP defined extensions):\n            \n* **scaRedirect**: In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser.\n* **scaOAuth**: In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.\n* **confirmation**: Might be added by the ASPSP if either the \"scaRedirect\" or \"scaOAuth\" hyperlink is returned in the same response message. This hyperlink defines the URL to the resource which needs to be updated with\n  * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or\n  * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.\n* **startAuthorisation**: In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded).\n* **startAuthorisationWithPsuIdentification**: The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU identification data.\n* **startAuthorisationWithPsuAuthentication**: The link to the authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data.\n* **startAuthorisationWithEncryptedPsuAuthentication**: Same as startAuthorisationWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.\n* **startAuthorisationWithAuthenticationMethodSelection**: The link to the authorisation end-point, where the authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element \"scaMethods\".\n* **startAuthorisationWithTransactionAuthorisation**: The link to the authorisation end-point, where the authorisation sub-resource has to be generated while authorising the transaction e.g. by uploading an OTP received by SMS.\n* **self**: The link to the payment initiation resource created by this request. This link can be used to retrieve the resource data.\n* **status**: The link to retrieve the transaction status of the payment initiation.\n* **scaStatus**: The link to retrieve the scaStatus of the corresponding authorisation sub-resource. This link is only contained, if an authorisation sub-resource has been already created.\n* **confirmIobwsStraightThroughProcessingAuthorisation**: The link to the URL end-point for IOBWS scenarios, which needs to be called to authorise the transaction e.g. by invoking the authorisation end-point where the authorisation sub-resource has been pre-generated. If the latter case, the payload should confirm to the \"authorisationConfirmation\" type with confirmation code containing the reason or ID generated by the invoker."},"psuMessage":{"maxLength":500,"type":"string","description":"Text to be displayed to the PSU.","nullable":true},"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage2XX"},"nullable":true},"transactionFeesDetails":{"type":"array","items":{"$ref":"#/components/schemas/TransactionFeesDetail"},"description":"A list of transaction fees, for example: foreignBankServiceFees, priorityFees or\notherFees.","nullable":true},"exchangeRateInformation":{"$ref":"#/components/schemas/PaymentExchangeRate"}},"additionalProperties":false,"description":"Body of the response for a successful payment initiation request."},"TransactionStatus":{"enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"],"type":"string","description":"The transaction status is filled with codes of the ISO 20022 data table:\n            \n* **ACCC** (AcceptedSettlementCompleted): Settlement on the creditor's account has been completed.\n* **ACCP** (AcceptedCustomerProfile): Preceding check of technical validation was successful. Customer profile check was also successful.\n* **ACSC** (AcceptedSettlementCompleted): Settlement on the debtor's account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.\n* **ACSP** (AcceptedSettlementInProcess): All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n* **ACTC** (AcceptedTechnicalValidation): Authentication and syntactical and semantical validation are successful.\n* **ACWC** (AcceptedWithChange): Instruction is accepted but a change will be made, such as date or remittance not sent.\n* **ACWP** (AcceptedWithoutPosting): Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account.\n* **RCVD** (Received): Payment initiation has been received by the receiving agent.\n* **PDNG** (Pending): Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.\n* **RJCT** (Rejected): Payment initiation or individual transaction included in the payment initiation has been rejected.\n* **CANC** (Cancelled): Payment initiation has been cancelled before execution. Remark: This code is accepted as new code by ISO20022.\n* **ACFC** (AcceptedFundsChecked): Preceding check of technical validation and customer profile was successful and an automatic funds check was positive. Remark: This code is accepted as new code by ISO20022.\n* **PATC** (PartiallyAcceptedTechnicalCorrect): The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is accepted as new code by ISO20022.\n* **PART** (PartiallyAccepted): A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status. Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected."},"AuthenticationObject":{"required":["authenticationMethodId","authenticationType"],"type":"object","properties":{"authenticationType":{"$ref":"#/components/schemas/AuthenticationType"},"authenticationVersion":{"type":"string","description":"Depending on the \\\"authenticationType\\\". This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. This version can be referred to in the ASPSP?s documentation.","nullable":true},"authenticationMethodId":{"maxLength":35,"minLength":1,"type":"string"},"name":{"type":"string","description":"This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. Alternatively this could be a description provided by the ASPSP like \\\"SMS OTP on phone +49160 xxxxx 28\\\". This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.","nullable":true},"explanation":{"type":"string","description":"Detailed information about the SCA method for the PSU.","nullable":true}},"additionalProperties":false,"description":"Authentication object."},"AuthenticationType":{"enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP"],"type":"string","description":"Type of the authentication method. More authentication types might be added during implementation\nprojects and documented in the ASPSP documentation.\n            \n* **SMS_OTP**: An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n* **CHIP_OTP**: An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. To contact the card, the PSU normally needs a (handheld) device. With this device, the PSU either reads the challenging data through a visual interface like flickering or the PSU types in the challenge through the device key pad. The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n* **PHOTO_OTP**: An SCA method, where the challenge is a QR code or similar encoded visual data which can be read in by a consumer device or specific mobile app. The device resp. the specific app than derives an OTP from the visual challenge data and displays the OTP to the PSU.\n* **PUSH_OTP**: An OTP is pushed to a dedicated authentication APP and displayed to the PSU."},"ChosenScaMethod":{"type":"object","additionalProperties":false,"description":""},"ChallengeData":{"type":"object","properties":{"image":{"type":"string","description":"PNG data (max. 512 kilobyte) to be displayed to the PSU, Base64 encoding, cp. [RFC4648]. This attribute is used only, when PHOTO_OTP or CHIP_OTP is the selected SCA method.","format":"byte","nullable":true},"data":{"type":"array","items":{"type":"string"},"description":"A collection of strings as challenge data.","nullable":true},"imageLink":{"type":"string","description":"A link where the ASPSP will provides the challenge image for the TPP.","nullable":true},"otpMaxLength":{"type":"integer","description":"The maximal length for the OTP to be typed in by the PSU.","format":"int32","nullable":true},"otpFormat":{"$ref":"#/components/schemas/OtpFormatEnum"},"additionalInformation":{"type":"string","description":"Additional explanation for the PSU to explain e.g. fallback mechanism for the chosen SCA method. The TPP is obliged to show this to the PSU.","nullable":true}},"additionalProperties":false,"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link."},"OtpFormatEnum":{"enum":["characters","integer"],"type":"string","description":"The format type of the OTP to be typed in. The admitted values are \\\"characters\\\" or \\\"integer\\\"."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"TppMessage2XX":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode2XX"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode2XX":{"enum":["WARNING"],"type":"string","description":"Message codes for HTTP Error codes 2XX."},"TransactionFeesDetail":{"required":["feeType","value"],"type":"object","properties":{"feeType":{"minLength":1,"type":"string"},"value":{"$ref":"#/components/schemas/Amount"}},"additionalProperties":false,"description":"A single transaction fee details. - fees: Standard fee - priorityFees: The priority payment fee - foreignBankServiceFees:"},"PaymentExchangeRate":{"type":"object","properties":{"unitCurrency":{"type":"string","nullable":true},"exchangeRate":{"type":"string","nullable":true},"contractIdentification":{"type":"string","nullable":true},"rateType":{"$ref":"#/components/schemas/RateTypeEnum"}},"additionalProperties":false,"description":"Exchange Rate."},"RateTypeEnum":{"enum":["SPOT","SALE","AGRD"],"type":"string"},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}":{"post":{"tags":["PaymentInitiationServiceApi"],"summary":"Payment initiation request","description":"This method is used to initiate a payment at the ASPSP.\n            \n## Variants of payment initiation requests\n            \nThis method to initiate a payment at the ASPSP can be sent with either a JSON body or a pain.001\nbody, depending on the payment product in the path.\n            \nThere are the following **payment products** in *JSON* format supported:\n            \n* ***credit-transfers***\n* ***card-deposits***\n            \nFurthermore the request body depends on the **payment-service**:\n            \n* ***payments***: A single payment initiation request.\n* ***bulk-payments***: A collection of several payment initiation requests. In case of a *pain.001*\n  message there is more than one payment contained in the *pain.001* message. In case of a *JSON*\n  there are several JSON payment blocks contained in a joining list.\n* ***periodic-payments***: Create a standing order initiation resource for recurrent (i.e. periodic)\n  payments addressable under {paymentId}, with all data relevant for the corresponding payment\n  product and the execution of the standing order contained in a JSON body. This is the first step\n  in the API to initiate the related recurring/periodic payment.\n            \n## Single and multilevel SCA processes\n            \nThe payment initiation requests are independent from the need of one or multilevel SCA processing,\ni.e. independent from the number of authorisations needed for the execution of payments. But the\nresponse messages are specific to either one SCA processing or multilevel SCA processing.\n            \nFor payment initiation with multilevel SCA, this specification requires an explicit start of the\nauthorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or\n'scaOAuth' cannot be contained in the response message of a payment initiation request for a\npayment where multiple authorisations are needed. Also, if any data is needed for the next action,\nselecting an SCA method is not supported in the response, since all starts of the multiple\nauthorisations are fully equal. In these cases, first an authorisation sub-resource has to be\ngenerated following the 'startAuthorisation' link.","operationId":"InitiatePayment","parameters":[{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. If not available, the TPP shall use the IP Address used by the TPP when submitting this request.","required":true,"schema":{"type":"string","format":"ipv4"}},{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"PSU-ID","in":"header","description":"Client ID of the PSU in the ASPSP client interface (kennitala).   Might be mandated in the ASPSP's documentation.  It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding AIS service in the same session. In this case the ASPSP might check whether PSU-ID and token match,  according to ASPSP documentation.","schema":{"type":"string"}},{"name":"PSU-ID-Type","in":"header","description":"Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.  In this case, the mean and use are then defined in the ASPSP’s documentation.","schema":{"type":"string"}},{"name":"PSU-Corporate-ID","in":"header","description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.","schema":{"type":"string"}},{"name":"PSU-Corporate-Id-Type","in":"header","description":"Might be mandated in the ASPSP's documentation. Only used in a corporate context.","schema":{"type":"string"}},{"name":"Consent-ID","in":"header","description":"This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.","schema":{"type":"string"}},{"name":"TPP-Redirect-Preferred","in":"header","description":"If it equals \\\"true\\\", the TPP prefers a redirect over an embedded SCA approach. If it equals \\\"false\\\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU.","schema":{"type":"string"}},{"name":"TPP-Redirect-URI","in":"header","description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.  Mandated for the Redirect SCA Approach, specifically  when TPP-Redirect-Preferred equals \\\"true\\\". It is recommended to always use this header field.  **Remark for Future:**  This field might be changed to mandatory in the next version of the specification.","schema":{"type":"string"}},{"name":"TPP-Nok-Redirect-URI","in":"header","description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP.","schema":{"type":"string"}},{"name":"TPP-Explicit-Authorisation-Preferred","in":"header","description":"If it equals \\\"true\\\", the TPP prefers to start the authorisation process separately,  e.g. because of the usage of a signing basket.  This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.  If it equals \\\"false\\\" or if the parameter is not used, there is no preference of the TPP.  This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step,  without using a signing basket.","schema":{"type":"string"}},{"name":"TPP-Rejection-No-Funds-Preferred","in":"header","description":"If it equals \\\"true\\\" then the TPP prefers a rejection of the payment initiation in case the ASPSP is  providing an integrated confirmation of funds request an the result of this is that not sufficient  funds are available.  If it equals \\\"false\\\" then the TPP prefers that the ASPSP is dealing with the payment initiation like  in the ASPSPs online channel, potentially waiting for a certain time period for funds to arrive to initiate the payment.  This parameter might be ignored by the ASPSP.","schema":{"type":"string"}},{"name":"TPP-Brand-Logging-Information","in":"header","description":"This header might be used by TPPs to inform the ASPSP about the brand used by the TPP towards the PSU.  This information is meant for logging entries to enhance communication between ASPSP and PSU or ASPSP and TPP.  This header might be ignored by the ASPSP.","schema":{"type":"string"}},{"name":"TPP-Notification-URI","in":"header","description":"URI for the endpoint of the TPP-API to which the status of the payment initiation should be\nsent. This header field may be ignored by the ASPSP.\n            \nFor security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is\nsecured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:\n            \nURIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by\nthe eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate.\nPlease note that in case of example-TPP.com as certificate entry, a TPP-Notification-URI like\nwww.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction-id/notifications or\nnotifications.example-TPP.com/xs2a-client/v1/ASPSPidentifcation/mytransaction-id/notifications\nwould be compliant.\n            \nWildcard definitions shall be taken into account for compliance checks by the ASPSP. ASPSPs may\nrespond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.","schema":{"type":"string"}},{"name":"TPP-Notification-Content-Preferred","in":"header","description":"The string has the form `status=X1, ..., Xn` where Xi is one of the constants SCA, PROCESS, LAST\nand where constants are not repeated. The usage of the constants supports the following semantics:\n            \n* **SCA:** A notification on every change of the scaStatus attribute for all related authorisation\n  processes is preferred by the TPP.\n* **PROCESS:** A notification on all changes of consentStatus or transactionStatus attributes is\n  preferred by the TPP.\n* **LAST:** Only a notification on the last consentStatus or transactionStatus as available in the\n  XS2A interface is preferred by the TPP.\n            \nThis header field may be ignored, if the ASPSP does not support resource notification services\nfor the related TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"PSU-Device-ID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Idempotent value for the operation being performed.","schema":{"type":"string"}}],"requestBody":{"description":"JSON request body for a payment initiation request message. The accepted shape depends on the `payment-service` (`payments`, `periodic-payments`, `bulk-payments`).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInitiationDomesticJson"},{"$ref":"#/components/schemas/PeriodicPaymentInitiationDomesticJson"},{"$ref":"#/components/schemas/BulkPaymentInitiationDomesticJson"}]}}},"required":true},"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitationRequestResponse201"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaymentInitationRequestResponse201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```

## Get payment information

> Returns the content of a payment object

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"PaymentInitiationDomesticWithStatusResponse":{"required":["creditorAccount","creditorName","debtorAccount","instructedAmount"],"type":"object","properties":{"endToEndIdentification":{"maxLength":35,"type":"string","nullable":true},"debtorName":{"maxLength":70,"type":"string","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"debtorId":{"maxLength":35,"type":"string","nullable":true},"ultimateDebtor":{"maxLength":70,"type":"string","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"exchangeRateInformation":{"$ref":"#/components/schemas/PaymentExchangeRate"},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorAgent":{"type":"string","nullable":true},"creditorName":{"maxLength":70,"minLength":1,"type":"string"},"creditorAddress":{"$ref":"#/components/schemas/Address"},"creditorId":{"maxLength":35,"type":"string","description":"Identification of Creditors, e.g. a SEPA Creditor ID.","nullable":true},"ultimateCreditor":{"maxLength":70,"type":"string","nullable":true},"chargeBearer":{"$ref":"#/components/schemas/ChargeBearer"},"remittanceInformationUnstructured":{"maxLength":140,"type":"string","nullable":true},"remittanceInformationStructured":{"maxLength":140,"type":"string","nullable":true},"requestedExecutionDate":{"type":"string","format":"date-time","nullable":true},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"transactionFeesDetails":{"type":"array","items":{"$ref":"#/components/schemas/TransactionFeesDetail"},"description":"A list of transaction fees for example: foreignBankServiceFees, priorityFees fees or otherFees","nullable":true},"icelandicPurposeCode":{"maxLength":2,"type":"string","nullable":true},"chargesAccount":{"$ref":"#/components/schemas/AccountReference"}},"additionalProperties":false,"description":"Generic JSON response body consistion of the corresponding payment initation JSON body together with an optional transaction status field."},"AccountReference":{"type":"object","properties":{"iban":{"pattern":"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}","type":"string","description":"IBAN of an account.","nullable":true},"bban":{"pattern":"[a-zA-Z0-9]{1,30}","type":"string","description":"Basic Bank Account Number (BBAN) Identifier. This data element can be used in the\nbody of the consent request. Message for retrieving account access consent from\nthis account. This data elements is used for payment accounts which have no IBAN.\nISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial\ninstitutions, i.e., in individual countries, generally as part of a National Account\nNumbering Scheme(s), which uniquely identifies the account of a customer.","nullable":true},"maskedPan":{"maxLength":35,"type":"string","description":"Masked Primary Account Number in the format 123456******1234. The first 6 and\nlast 4 digits of the card number are visible, with the middle digits masked\nusing asterisks (*).","nullable":true},"msisdn":{"maxLength":35,"type":"string","description":"Mobile phone number.","nullable":true},"currency":{"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code.","nullable":true},"cashAccountType":{"type":"string","description":"ExternalCashAccountType1Code from ISO 20022.","nullable":true}},"additionalProperties":false,"description":"Reference to an account by either:\n            \n* IBAN, of a payment accounts, or\n* BBAN, for payment accounts if there is no IBAN, or\n* the Masked Primary Account Number (maskedPan) of a card in the format 123456******1234, or\n* an alias to access a payment account via a registered mobile phone number (MSISDN)."},"Amount":{"required":["amount","currency"],"type":"object","properties":{"currency":{"minLength":1,"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code."},"amount":{"minLength":1,"pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string","description":"The amount given with fractional digits, where fractions must be compliant to the\ncurrency definition. Up to 14 significant figures. Negative amounts are signed by\nminus. The decimal separator is a dot.\n            \n**Example:** Valid representations for EUR with up to two decimals are:\n            \n* 1056\n* 5768.2\n* -1.50\n* 5877.78"}},"additionalProperties":false,"description":""},"PaymentExchangeRate":{"type":"object","properties":{"unitCurrency":{"type":"string","nullable":true},"exchangeRate":{"type":"string","nullable":true},"contractIdentification":{"type":"string","nullable":true},"rateType":{"$ref":"#/components/schemas/RateTypeEnum"}},"additionalProperties":false,"description":"Exchange Rate."},"RateTypeEnum":{"enum":["SPOT","SALE","AGRD"],"type":"string"},"Address":{"required":["country"],"type":"object","properties":{"streetName":{"maxLength":70,"type":"string","nullable":true},"buildingNumber":{"type":"string","nullable":true},"townName":{"type":"string","nullable":true},"postCode":{"type":"string","nullable":true},"country":{"minLength":1,"pattern":"[A-Z]{2}","type":"string","description":"ISO 3166 ALPHA2 country code."}},"additionalProperties":false,"description":""},"ChargeBearer":{"enum":["DEBT","CRED","SHAR","SLEV"],"type":"string","description":"Charge Bearer. ChargeBearerType1Code from ISO20022."},"TransactionStatus":{"enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"],"type":"string","description":"The transaction status is filled with codes of the ISO 20022 data table:\n            \n* **ACCC** (AcceptedSettlementCompleted): Settlement on the creditor's account has been completed.\n* **ACCP** (AcceptedCustomerProfile): Preceding check of technical validation was successful. Customer profile check was also successful.\n* **ACSC** (AcceptedSettlementCompleted): Settlement on the debtor's account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.\n* **ACSP** (AcceptedSettlementInProcess): All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n* **ACTC** (AcceptedTechnicalValidation): Authentication and syntactical and semantical validation are successful.\n* **ACWC** (AcceptedWithChange): Instruction is accepted but a change will be made, such as date or remittance not sent.\n* **ACWP** (AcceptedWithoutPosting): Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account.\n* **RCVD** (Received): Payment initiation has been received by the receiving agent.\n* **PDNG** (Pending): Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.\n* **RJCT** (Rejected): Payment initiation or individual transaction included in the payment initiation has been rejected.\n* **CANC** (Cancelled): Payment initiation has been cancelled before execution. Remark: This code is accepted as new code by ISO20022.\n* **ACFC** (AcceptedFundsChecked): Preceding check of technical validation and customer profile was successful and an automatic funds check was positive. Remark: This code is accepted as new code by ISO20022.\n* **PATC** (PartiallyAcceptedTechnicalCorrect): The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is accepted as new code by ISO20022.\n* **PART** (PartiallyAccepted): A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status. Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected."},"TransactionFeesDetail":{"required":["feeType","value"],"type":"object","properties":{"feeType":{"minLength":1,"type":"string"},"value":{"$ref":"#/components/schemas/Amount"}},"additionalProperties":false,"description":"A single transaction fee details. - fees: Standard fee - priorityFees: The priority payment fee - foreignBankServiceFees:"},"PeriodicPaymentInitiationDomesticWithStatusResponse":{"required":["creditorAccount","creditorName","debtorAccount","frequency","instructedAmount","startDate"],"type":"object","properties":{"endToEndIdentification":{"maxLength":35,"type":"string","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorAgent":{"type":"string","nullable":true},"creditorName":{"maxLength":70,"minLength":1,"type":"string"},"creditorAddress":{"$ref":"#/components/schemas/Address"},"remittanceInformationUnstructured":{"maxLength":140,"type":"string","nullable":true},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time","nullable":true},"executionRule":{"$ref":"#/components/schemas/ExecutionRule"},"frequency":{"$ref":"#/components/schemas/FrequencyCode"},"dayOfExecution":{"$ref":"#/components/schemas/DayOfExecution"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"}},"additionalProperties":false,"description":"Generic JSON response body consistion of the corresponding periodic payment initation JSON body together with an optional transaction status field."},"ExecutionRule":{"enum":["following","preceding"],"type":"string","description":"\\\"following\\\" or \\\"preceding\\\" supported as values.  This data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday.  The payment is then executed either the \\\"preceding\\\" or \\\"following\\\" working day. ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting  this execution rule."},"FrequencyCode":{"enum":["Daily","Weekly","EveryTwoWeeks","Monthly","EveryTwoMonths","Quarterly","SemiAnnual","Annual"],"type":"string","description":"The following codes from the \\\"EventFrequency7Code\\\" of ISO 20022 are supported: - \\\"Daily\\\" - \\\"Weekly\\\" - \\\"EveryTwoWeeks\\\" - \\\"Monthly\\\" - \\\"EveryTwoMonths\\\" - \\\"Quarterly\\\" - \\\"SemiAnnual\\\" - \\\"Annual\\\""},"DayOfExecution":{"enum":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"],"type":"string","description":"Day of execution as string.  This string consists of up two characters. Leading zeroes are not allowed.  31 is ultimo of the month."},"BulkPaymentInitiationDomesticWithStatusResponse":{"required":["batchBookingPreferred","paymentInformationId","payments"],"type":"object","properties":{"batchBookingPreferred":{"type":"boolean"},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"paymentInformationId":{"maxLength":35,"minLength":1,"type":"string"},"requestedExecutionDate":{"type":"string","format":"date-time","nullable":true},"payments":{"type":"array","items":{"$ref":"#/components/schemas/BulkPaymentInitiationElementDomesticWithStatus"},"description":"A list of generic JSON bodies payment initations for bulk payments via JSON.  Note: Some fields from single payments do not occcur in a bulk payment element"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"chargesAccount":{"$ref":"#/components/schemas/AccountReference"},"exchangeRateInformation":{"$ref":"#/components/schemas/PaymentExchangeRate"},"transactionFeesDetails":{"type":"array","items":{"$ref":"#/components/schemas/TransactionFeesDetail"},"description":"A list of transaction fees for example: foreignBankServiceFees, priorityFees fees or otherFees","nullable":true}},"additionalProperties":false,"description":"Generic JSON response body consistion of the corresponding bulk payment initation JSON body together with an optional transaction status field."},"BulkPaymentInitiationElementDomesticWithStatus":{"required":["creditorAccount","instructedAmount"],"type":"object","properties":{"errors":{"$ref":"#/components/schemas/Error400NGPIS"},"endToEndIdentification":{"type":"string","nullable":true},"instructionIdentification":{"type":"string","nullable":true},"resourceId":{"type":"string","nullable":true},"debtorId":{"type":"string","description":"Debtor Id.","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"ultimateDebtor":{"type":"string","description":"Ultimate debtor.","nullable":true},"ultimateDebtorId":{"type":"string","description":"Ultimate Debtor Id","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"creditorId":{"type":"string","nullable":true},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"ultimateCreditor":{"type":"string","description":"Ultimate creditor.","nullable":true},"ultimateCreditorId":{"type":"string","description":"Ultimate Creditor Id","nullable":true},"icelandicPurposeCode":{"type":"string","description":"Standardised definition of transaction used in the Iceland market to define the purpose of the transaction.","nullable":true},"centralBankPurposeCode":{"type":"string","description":"Standardised definition of purpose code required by the Icelandic Central Bank.","nullable":true},"remittanceInformationUnstructured":{"type":"string","description":"Unstructured remittance information.","nullable":true},"remittanceInformationStructuredArray":{"type":"array","items":{"$ref":"#/components/schemas/RemittanceInformationStructured"},"description":"Array of structured remittance information.","nullable":true},"partialPayment":{"type":"boolean","description":"Payment used to pay claim (Icelandic)"}},"additionalProperties":false,"description":""},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"RemittanceInformationStructured":{"required":["reference"],"type":"object","properties":{"reference":{"maxLength":35,"minLength":1,"type":"string"},"referenceType":{"maxLength":35,"type":"string","nullable":true},"referenceIssuer":{"maxLength":35,"type":"string","nullable":true}},"additionalProperties":false,"description":"Structured remittance information."},"BulkPaymentInitiationWithStatusResponse":{"required":["debtorAccount","payments"],"type":"object","properties":{"batchBookingPreferred":{"type":"boolean","nullable":true},"requestedExecutionDate":{"type":"string","format":"date-time","nullable":true},"acceptorTransactionDateTime":{"type":"string","format":"date-time","nullable":true},"debtorAccount":{"$ref":"#/components/schemas/AccountReference"},"paymentInformationId":{"maxLength":35,"type":"string","nullable":true},"payments":{"type":"array","items":{"$ref":"#/components/schemas/PaymentInitiationBulkElementJson"},"description":"A list of generic JSON bodies payment initations for bulk payments via JSON.  Note: Some fields from single payments do not occcur in a bulk payment element"},"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"}},"additionalProperties":false,"description":"Generic JSON response body consistion of the corresponding bulk payment initation JSON body together with an optional transaction status field."},"PaymentInitiationBulkElementJson":{"required":["creditorAccount","creditorName","instructedAmount"],"type":"object","properties":{"endToEndIdentification":{"maxLength":35,"type":"string","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"},"creditorAccount":{"$ref":"#/components/schemas/AccountReference"},"creditorAgent":{"pattern":"[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}","type":"string","nullable":true},"creditorAgentName":{"maxLength":70,"type":"string","nullable":true},"creditorName":{"maxLength":70,"minLength":1,"type":"string"},"chargeBearer":{"$ref":"#/components/schemas/ChargeBearer"},"creditorAddress":{"$ref":"#/components/schemas/Address"},"remittanceInformationUnstructured":{"maxLength":140,"type":"string","nullable":true}},"additionalProperties":false,"description":"Generic body for a bulk payment initation entry.  The bulk entry type is a type which follows the JSON formats for the supported products for single payments excluding the data elements (if supported):   * debtorAccount   * requestedExecutionDate,   * requestedExecutionTime. These data elements may not be contained in any bulk entry.  This data object can be used to represent valid bulk payment initiations entry for the following JSON based payment product,  which where defined in the Implementation Guidelines:    * sepa-credit-transfers   * instant-sepa-credit-transfers   * target-2-payments   * cross-border-credit-transfers  For the convenience of the implementer additional which are already predefinded in the Implementation Guidelines  are included (but commented in source code), such that an ASPSP may add them easily.  Take care: Since the format is intended to fit for all payment products  there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for detailes.   The following data element are depending on the actual payment product available (in source code):             <table style=\\\"width:100%\\\">  <tr><th>Data Element</th><th>SCT EU Core</th><th>SCT INST EU Core</th><th>Target2 Paym. Core</th><th>Cross Border CT Core</th></tr>  <tr><td>endToEndIdentification</td><td> optional</td> <td>optional</td> <td>optional</td> <td>n.a.</td> </tr>  <tr><td>instructionIdentification</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>debtorName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>debtorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>ultimateDebtor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>instructedAmount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>  <tr><td>transactionCurrency</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>exchangeRateInformation</td> <td>n.a.</td> <td>n.a.</td><td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>creditorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>  <tr><td>creditorAgent</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>  <tr><td>creditorAgentName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>creditorName</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr>  <tr><td>creditorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>creditorAddress</td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr>  <tr><td>creditorNameAndAddress</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>ultimateCreditor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>purposeCode</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>chargeBearer</td> <td>n.a.</td> <td>n.a.</td> <td>optional</td> <td>conditional </td> </tr>  <tr><td>remittanceInformationUnstructured</td> <td>optional</td> <td>optional</td> <td> optional</td> <td>optional</td> </tr>  <tr><td>remittanceInformationUnstructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>remittanceInformationStructured</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>  <tr><td>remittanceInformationStructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr>     </td></tr>   </table>    IMPORTANT: In this API definition the following holds:   *  All data elements mentioned above are defined, but some of them are commented,      i.e. they are only visible in the source code and can be used by uncommenting them.   * Data elements which are mandatory in the table above for all payment products      are set to be mandatory in this specification.   * Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code.   * Data elements which are indicated to be option, conditional or mandatory for at least one payment product      in the table above are set to be optional in the s specification except the case where all are definde to be mandatory.    * Data element which are inticated to be n.a. can be used by the ASPS if needed.      In this case uncomment tthe the relatetd lines in the source code.   * If one uses this data types for some payment products he has to ensure that the used data type is      valid according to the underlying payment product, e.g. by some appropriate validations."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}/{paymentId}":{"get":{"tags":["PaymentInitiationServiceApi"],"summary":"Get payment information","description":"Returns the content of a payment object","operationId":"GetPaymentInformation","parameters":[{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"name":"paymentId","in":"path","description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"type":"string"}},{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"PSU-Device-ID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInitiationDomesticWithStatusResponse"},{"$ref":"#/components/schemas/PeriodicPaymentInitiationDomesticWithStatusResponse"},{"$ref":"#/components/schemas/BulkPaymentInitiationDomesticWithStatusResponse"}]}},"application/xml":{"schema":{"$ref":"#/components/schemas/BulkPaymentInitiationWithStatusResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```

## Payment cancellation request

> This method initiates the cancellation of a payment. Depending on the payment-service, the\
> payment-product and the ASPSP's implementation, this TPP call might be sufficient to cancel a\
> payment. If an authorisation of the payment cancellation is mandated by the ASPSP, a corresponding\
> hyperlink will be contained in the response message.\
> &#x20;           \
> Cancels the addressed payment with resource identification paymentId if applicable to the\
> payment-service and payment-product, and received within product related timelines (e.g. before\
> end of business day for scheduled payments of the last business day before the scheduled execution\
> day).\
> &#x20;           \
> The response to this DELETE command will tell the TPP whether the:\
> &#x20;           \
> \* access method was rejected,\
> \* access method was successful, or\
> \* access method is generally applicable, but further authorisation processes are needed.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"PaymentInitiationCancelResponse202":{"required":["transactionStatus"],"type":"object","properties":{"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"scaMethods":{"type":"array","items":{"$ref":"#/components/schemas/AuthenticationObject"},"description":"This data element might be contained, if SCA is required and if the PSU has a choice between different authentication methods.  Depending on the risk management of the ASPSP this choice might be offered before or after the PSU has been identified with the first relevant factor, or if an access token is transported.  If this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection' contained in the response body.  These methods shall be presented towards the PSU for selection by the TPP.","nullable":true},"chosenScaMethod":{"$ref":"#/components/schemas/ChosenScaMethod"},"challengeData":{"$ref":"#/components/schemas/ChallengeData"},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response\ndepend on the dynamical decisions of the ASPSP when processing the request.\n            \n**Remark:** All links can be relative or full links, to be decided by the ASPSP.\n            \nType of links admitted in this response, (further links might be added for ASPSP defined extensions):\n            \n* **startAuthorisation**: In case, where just the authorisation process of the cancellation needs to be started, but no additional data needs to be updated for time being (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded).\n* **startAuthorisationWithPsuIdentification**: In case where a PSU identification needs to be updated when starting the cancellation authorisation: The link to the cancellation-authorisations end-point, where the cancellation sub-resource has to be generated while uploading the PSU identification data.\n* **startAuthorisationWithPsuAuthentication**: In case of a yet to be created authorisation sub-resource: The link to the cancelation authorisation end-point, where the authorisation sub-resource has to be generated while uploading the PSU authentication data.\n* **startAuthorisationWithEncryptedPsuAuthentication**: Same as startAuthorisationWithPsuAuthentication where the authentication data need to be encrypted on application layer in uploading.\n* **startAuthorisationWithAuthenticationMethodSelection**: The link to the authorisation end-point, where the cancellation-authorisation sub-resource has to be generated while selecting the authentication method. This link is contained under exactly the same conditions as the data element 'scaMethods'.","nullable":true}},"additionalProperties":false,"description":"Body of the response for a successful cancel payment request."},"TransactionStatus":{"enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"],"type":"string","description":"The transaction status is filled with codes of the ISO 20022 data table:\n            \n* **ACCC** (AcceptedSettlementCompleted): Settlement on the creditor's account has been completed.\n* **ACCP** (AcceptedCustomerProfile): Preceding check of technical validation was successful. Customer profile check was also successful.\n* **ACSC** (AcceptedSettlementCompleted): Settlement on the debtor's account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.\n* **ACSP** (AcceptedSettlementInProcess): All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n* **ACTC** (AcceptedTechnicalValidation): Authentication and syntactical and semantical validation are successful.\n* **ACWC** (AcceptedWithChange): Instruction is accepted but a change will be made, such as date or remittance not sent.\n* **ACWP** (AcceptedWithoutPosting): Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account.\n* **RCVD** (Received): Payment initiation has been received by the receiving agent.\n* **PDNG** (Pending): Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.\n* **RJCT** (Rejected): Payment initiation or individual transaction included in the payment initiation has been rejected.\n* **CANC** (Cancelled): Payment initiation has been cancelled before execution. Remark: This code is accepted as new code by ISO20022.\n* **ACFC** (AcceptedFundsChecked): Preceding check of technical validation and customer profile was successful and an automatic funds check was positive. Remark: This code is accepted as new code by ISO20022.\n* **PATC** (PartiallyAcceptedTechnicalCorrect): The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is accepted as new code by ISO20022.\n* **PART** (PartiallyAccepted): A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status. Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected."},"AuthenticationObject":{"required":["authenticationMethodId","authenticationType"],"type":"object","properties":{"authenticationType":{"$ref":"#/components/schemas/AuthenticationType"},"authenticationVersion":{"type":"string","description":"Depending on the \\\"authenticationType\\\". This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type. This version can be referred to in the ASPSP?s documentation.","nullable":true},"authenticationMethodId":{"maxLength":35,"minLength":1,"type":"string"},"name":{"type":"string","description":"This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP. Alternatively this could be a description provided by the ASPSP like \\\"SMS OTP on phone +49160 xxxxx 28\\\". This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.","nullable":true},"explanation":{"type":"string","description":"Detailed information about the SCA method for the PSU.","nullable":true}},"additionalProperties":false,"description":"Authentication object."},"AuthenticationType":{"enum":["SMS_OTP","CHIP_OTP","PHOTO_OTP","PUSH_OTP"],"type":"string","description":"Type of the authentication method. More authentication types might be added during implementation\nprojects and documented in the ASPSP documentation.\n            \n* **SMS_OTP**: An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.\n* **CHIP_OTP**: An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. To contact the card, the PSU normally needs a (handheld) device. With this device, the PSU either reads the challenging data through a visual interface like flickering or the PSU types in the challenge through the device key pad. The device then derives an OTP from the challenge data and displays the OTP to the PSU.\n* **PHOTO_OTP**: An SCA method, where the challenge is a QR code or similar encoded visual data which can be read in by a consumer device or specific mobile app. The device resp. the specific app than derives an OTP from the visual challenge data and displays the OTP to the PSU.\n* **PUSH_OTP**: An OTP is pushed to a dedicated authentication APP and displayed to the PSU."},"ChosenScaMethod":{"type":"object","additionalProperties":false,"description":""},"ChallengeData":{"type":"object","properties":{"image":{"type":"string","description":"PNG data (max. 512 kilobyte) to be displayed to the PSU, Base64 encoding, cp. [RFC4648]. This attribute is used only, when PHOTO_OTP or CHIP_OTP is the selected SCA method.","format":"byte","nullable":true},"data":{"type":"array","items":{"type":"string"},"description":"A collection of strings as challenge data.","nullable":true},"imageLink":{"type":"string","description":"A link where the ASPSP will provides the challenge image for the TPP.","nullable":true},"otpMaxLength":{"type":"integer","description":"The maximal length for the OTP to be typed in by the PSU.","format":"int32","nullable":true},"otpFormat":{"$ref":"#/components/schemas/OtpFormatEnum"},"additionalInformation":{"type":"string","description":"Additional explanation for the PSU to explain e.g. fallback mechanism for the chosen SCA method. The TPP is obliged to show this to the PSU.","nullable":true}},"additionalProperties":false,"description":"It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA. In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link."},"OtpFormatEnum":{"enum":["characters","integer"],"type":"string","description":"The format type of the OTP to be typed in. The admitted values are \\\"characters\\\" or \\\"integer\\\"."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPISCANC":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PISCANC"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PISCANC":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PISCANC"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PISCANC":{"enum":["CANCELLATION_INVALID","SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}/{paymentId}":{"delete":{"tags":["PaymentInitiationServiceApi"],"summary":"Payment cancellation request","description":"This method initiates the cancellation of a payment. Depending on the payment-service, the\npayment-product and the ASPSP's implementation, this TPP call might be sufficient to cancel a\npayment. If an authorisation of the payment cancellation is mandated by the ASPSP, a corresponding\nhyperlink will be contained in the response message.\n            \nCancels the addressed payment with resource identification paymentId if applicable to the\npayment-service and payment-product, and received within product related timelines (e.g. before\nend of business day for scheduled payments of the last business day before the scheduled execution\nday).\n            \nThe response to this DELETE command will tell the TPP whether the:\n            \n* access method was rejected,\n* access method was successful, or\n* access method is generally applicable, but further authorisation processes are needed.","operationId":"CancelPayment","parameters":[{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"name":"paymentId","in":"path","description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"type":"string"}},{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"TPP-Redirect-Preferred","in":"header","description":"If it equals \\\"true\\\", the TPP prefers a redirect over an embedded SCA approach. If it equals \\\"false\\\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU.","schema":{"type":"string"}},{"name":"TPP-Nok-Redirect-URI","in":"header","description":"If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP.","schema":{"type":"string"}},{"name":"TPP-Redirect-URI","in":"header","description":"URI of the TPP, where the transaction flow shall be redirected to after a Redirect.  Mandated for the Redirect SCA Approach, specifically  when TPP-Redirect-Preferred equals \\\"true\\\". It is recommended to always use this header field.  **Remark for Future:**  This field might be changed to mandatory in the next version of the specification.","schema":{"type":"string"}},{"name":"TPP-Excplicit-Authorisation-Preferred","in":"header","description":"If it equals \\\"true\\\", the TPP prefers to start the authorisation process separately,  e.g. because of the usage of a signing basket.  This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.  If it equals \\\"false\\\" or if the parameter is not used, there is no preference of the TPP.  This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step,  without using a signing basket.","schema":{"type":"string"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Acccept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Acccept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Acccept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Acccept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"pSUDeviceID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}}],"responses":{"202":{"description":"Received","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationCancelResponse202"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaymentInitiationCancelResponse202"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPISCANC"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPISCANC"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```

## Payment initiation status request

> Check the transaction status of a payment initiation.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"PaymentInitiationStatusResponse200Json":{"required":["transactionStatus"],"type":"object","properties":{"transactionStatus":{"$ref":"#/components/schemas/TransactionStatus"},"fundsAvailable":{"type":"boolean","nullable":true},"psuMessage":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":"Body of the response for a successful payment initiation status request in case of an JSON based endpoint."},"TransactionStatus":{"enum":["ACCC","ACCP","ACSC","ACSP","ACTC","ACWC","ACWP","RCVD","PDNG","RJCT","CANC","ACFC","PATC","PART"],"type":"string","description":"The transaction status is filled with codes of the ISO 20022 data table:\n            \n* **ACCC** (AcceptedSettlementCompleted): Settlement on the creditor's account has been completed.\n* **ACCP** (AcceptedCustomerProfile): Preceding check of technical validation was successful. Customer profile check was also successful.\n* **ACSC** (AcceptedSettlementCompleted): Settlement on the debtor's account has been completed. **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. **Warning:** this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.\n* **ACSP** (AcceptedSettlementInProcess): All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n* **ACTC** (AcceptedTechnicalValidation): Authentication and syntactical and semantical validation are successful.\n* **ACWC** (AcceptedWithChange): Instruction is accepted but a change will be made, such as date or remittance not sent.\n* **ACWP** (AcceptedWithoutPosting): Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account.\n* **RCVD** (Received): Payment initiation has been received by the receiving agent.\n* **PDNG** (Pending): Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.\n* **RJCT** (Rejected): Payment initiation or individual transaction included in the payment initiation has been rejected.\n* **CANC** (Cancelled): Payment initiation has been cancelled before execution. Remark: This code is accepted as new code by ISO20022.\n* **ACFC** (AcceptedFundsChecked): Preceding check of technical validation and customer profile was successful and an automatic funds check was positive. Remark: This code is accepted as new code by ISO20022.\n* **PATC** (PartiallyAcceptedTechnicalCorrect): The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful. Remark: This code is accepted as new code by ISO20022.\n* **PART** (PartiallyAccepted): A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status. Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected."},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}/{paymentId}/status":{"get":{"tags":["PaymentInitiationServiceApi"],"summary":"Payment initiation status request","description":"Check the transaction status of a payment initiation.","operationId":"GetPaymentInitiationStatus","parameters":[{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"name":"paymentId","in":"path","description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"type":"string"}},{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"PSU-Device-ID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationStatusResponse200Json"}},"application/xml":{"schema":{"$ref":"#/components/schemas/PaymentInitiationStatusResponse200Json"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```

## Get payment initiation authorisation sub-resources request

> Read a list of all authorisation subresources IDs which have been created.  This function returns an array of hyperlinks to all generated authorisation sub-resources.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"Authorisations":{"required":["authorisationIds"],"type":"object","properties":{"authorisationIds":{"type":"array","items":{"type":"string"},"description":"An array of all authorisationIds."}},"additionalProperties":false,"description":"An array of all authorisationIds."},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations":{"get":{"tags":["PaymentInitiationServiceApi"],"summary":"Get payment initiation authorisation sub-resources request","description":"Read a list of all authorisation subresources IDs which have been created.  This function returns an array of hyperlinks to all generated authorisation sub-resources.","operationId":"GetPaymentInitiationAuthorisation","parameters":[{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"name":"paymentId","in":"path","description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"type":"string"}},{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"PSU-Device-ID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Authorisations"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Authorisations"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```

## Read the SCA status of the payment authorisation

> This method returns the SCA status of a payment initiation's authorisation sub-resource.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"PaymentInitiationServiceApi","description":"Payment Initiation Service (PIS) — initiate, authorise, cancel and track payments."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["pis:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"ScaStatusResponse":{"required":["scaStatus"],"type":"object","properties":{"scaStatus":{"$ref":"#/components/schemas/ScaStatus"},"psuMessage":{"maxLength":500,"type":"string","description":"Text to be displayed to the PSU.","nullable":true},"trustedBeneficiaryFlag":{"type":"boolean","description":"Additional Service: Trusted Beneficiaries.\n            \nWithin this data element, the ASPSP might optionally communicate towards the TPP\nwhether the creditor was part of the related trusted beneficiary list.\n            \nThis attribute is only contained in case of a final scaStatus.","nullable":true}},"additionalProperties":false,"description":"Body of the JSON response with SCA Status."},"ScaStatus":{"enum":["received","psuIdentified","psuAuthenticated","scaMethodSelected","started","unconfirmed","finalised","failed","exempted"],"type":"string","description":"This data element is containing information about the status of the SCA method applied. The following codes are defined for this data type.\n            \n* **received**: An authorisation or cancellation-authorisation resource has been created successfully.\n* **psuIdentified**: The PSU related to the authorisation or cancellation-authorisation resource has been identified.\n* **psuAuthenticated**: The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token.\n* **scaMethodSelected**: The PSU/TPP has selected the related SCA routine. If the SCA method is chosen implicitly since only one SCA method is available, then this is the first status to be reported instead of 'received'.\n* **unconfirmed**: SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet.\n* **started**: The addressed SCA routine has been started.\n* **finalised**: The SCA routine has been finalised successfully (including a potential confirmation command). This is a final status of the authorisation resource.\n* **failed**: The SCA routine failed. This is a final status of the authorisation resource.\n* **exempted**: SCA was exempted for the related transaction, the related authorisation is successful. This is a final status of the authorisation resource."},"Error400NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400PIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","PAYMENT_FAILED","EXECUTION_DATE_INVALID","DEBTOR_ACCOUNT_NOT_FOUND","CREDITOR_ACCOUNT_NOT_FOUND","CLAIM_NOT_FOUND","CLAIM_ALREADY_PAID","INSUFFICIENT_FUNDS","CARD_NOT_FOUND","RECIPIENT_INFO_INSUFFICIENT","MARKETS_CLOSED","RECIPIENT_COUNTRY_IS_IBAN_ONLY"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST)."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"Error401NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED","REQUIRED_KID_MISSING"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","PRODUCT_INVALID","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIS":{"enum":["RESOURCE_UNKNOWN","PRODUCT_UNKNOWN"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}":{"get":{"tags":["PaymentInitiationServiceApi"],"summary":"Read the SCA status of the payment authorisation","description":"This method returns the SCA status of a payment initiation's authorisation sub-resource.","operationId":"GetPaymentInitiationScaStatus","parameters":[{"name":"payment-service","in":"path","description":"Payment service. Possible values:\n            \n* payments\n* bulk-payments\n* periodic-payments","required":true,"schema":{"type":"string"}},{"name":"payment-product","in":"path","description":"The addressed payment product endpoint. The ASPSP will publish which of the payment\nproducts/endpoints will be supported. The following payment products are supported:\n            \n* credit-transfers\n* card-deposits","required":true,"schema":{"type":"string"}},{"name":"paymentId","in":"path","description":"Resource identification of the generated payment initiation resource.","required":true,"schema":{"type":"string"}},{"name":"authorisationId","in":"path","description":"Resource identification of the related SCA.","required":true,"schema":{"type":"string"}},{"name":"X-Request-ID","in":"header","description":"ID of the request, unique to the call, as determined by the initiating party.","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}},{"name":"PSU-IP-Address","in":"header","description":"The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.","schema":{"type":"string"}},{"name":"PSU-IP-Port","in":"header","description":"The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Charset","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Encoding","in":"header","description":"The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Accept-Language","in":"header","description":"Language that the SCA page will be presented in. Possible options are:\n            \n* \"is\" - Icelandic\n* \"en\" - English\n            \nIf parameter is empty, the default language will be English.","schema":{"type":"string"}},{"name":"PSU-User-Agent","in":"header","description":"The forwarded Agent header field of the HTTP request between PSU and TPP, if available.","schema":{"type":"string"}},{"name":"PSU-Http-Method","in":"header","description":"HTTP method used at the PSU → TPP interface, if available. Valid values: GET, POST, PUT, PATCH, DELETE.","schema":{"type":"string"}},{"name":"PSU-Device-ID","in":"header","description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.","schema":{"type":"string","format":"uuid"}},{"name":"PSU-Geo-Location","in":"header","description":"The forwarded Geo Location of the corresponding http request between PSU and TPP if available.","schema":{"pattern":"GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}","type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScaStatusResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/ScaStatusResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGPIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```
