--- swagger: "2.0" info: version: 4.0.14 title: Availability of Funds x-ibm-name: sibs-psd2-funds-confirmation-api description: | Confirmation on the availability of funds API enables to check in real time if your clients have enough available funds to honor a purchase they are doing with the card you issued to them. With this API you may reduce the risk of being unable to recover the funds from your clients, after having guaranteed a payment to an acquirer or merchant. This API intends to provide an interface to access PSD2 Availability of Funds service. The API is designed on a REST model using JSON structures. contact: name: "" url: "" license: name: "" url: "" basePath: / schemes: - https produces: - application/json consumes: - application/json paths: /{aspsp-cde}/v1-0-4/funds-confirmations: post: operationId: confirmationFundsRequest tags: - Confirmation of Funds Request summary: Confirmation of Funds Request description: Creates a confirmation of funds request at the ASPSP. parameters: - $ref: '#/parameters/X-Request-ID' - $ref: '#/parameters/Consent-ID' - $ref: '#/parameters/Signature' - $ref: '#/parameters/Digest' - $ref: '#/parameters/TPP-Signature-Certificate' - $ref: '#/parameters/Date' - $ref: '#/parameters/aspsp-cde' - $ref: '#/parameters/FundsConfirmationRequest' responses: 200: description: Ok headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/FundsConfirmationResponseResource' 400: description: Bad Request. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 401: description: Unauthorized. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 403: description: Forbidden. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 404: description: Not Found. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 405: description: Method Not Allowed. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 406: description: Not Acceptable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 408: description: Request Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 415: description: Unsupported Media Type. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 429: description: Too Many Requests. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 500: description: Internal Server Error. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 503: description: Service Unavailable. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' 504: description: Gatewaty Timeout. headers: Location: type: string description: Response Location. schema: $ref: '#/definitions/ErrorMessageWithStatus' definitions: AccountReference: description: PSU's account number type: object properties: iban: description: International Bank Account Number type: string pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ default: PT0000 bban: description: This data elements is used for payment accounts which have no IBAN. type: string default: "" pan: description: Primary Account Number. type: string maxLength: 35 default: "" maskedPan: description: Primary Account Number in a masked form. type: string maxLength: 35 default: "" msisdn: description: An alias to access a payment account via a registered mobile phone number type: string maxLength: 35 default: "" currency: description: ISO 4217 Alpha 3 currency code. type: string default: "" additionalProperties: false Amount: description: Transaction amount to be checked within the funds check mechanism. type: object required: - currency - amount properties: currency: description: ISO 4217 Alpha 3 currency code. type: string pattern: ^[A-Z]{3,3}$ default: AAA amount: description: | The amount given with fractional digits, where fractions must be compliant to the currency definition. The decimal separator is a dot. type: string pattern: ^\-{0,1}[0-9]{1,9}(\.[0-9]{0,2}){0,1}$ default: "00000" additionalProperties: false ErrorMessage: description: Error Information. type: object properties: tppMessages: $ref: '#/definitions/TppMessageArray' description: Messages to the TPP on operational issues. additionalProperties: false ErrorMessageWithStatus: description: Error and status Information. type: object properties: transactionStatus: $ref: '#/definitions/TransactionStatusType' description: The transaction status is filled with codes of the ISO 20022 corresponding element. tppMessages: $ref: '#/definitions/TppMessageArray' description: Messages to the TPP on operational issues. additionalProperties: false FundsConfirmationRequestResource: description: Creates a confirmation of funds request at the ASPSP. type: object required: - account - instructedAmount properties: cardNumber: description: Card Number of the card issued by the PIISP. Must be delivered if available. type: string maxLength: 70 account: description: PSU's account number $ref: '#/definitions/AccountReference' payee: description: The merchant where the card is accepted as an information to the PSU. type: string maxLength: 70 instructedAmount: description: Transaction amount to be checked within the funds check mechanism. $ref: '#/definitions/Amount' additionalProperties: false FundsConfirmationResponseResource: description: Inform TPP about confirmation of funds request. type: object required: - fundsAvailable properties: fundsAvailable: description: Equals 'true' if sufficient funds are available at the time of the request, 'false' otherwise. type: boolean default: false additionalProperties: false MessageCode: description: Message error codes. type: string enum: - SERVICE_BLOCKED - CORPORATE_ID_IVALID - CONSENT_UNKNOWN - CONSENT_INVALID - CONSENT_EXPIRED - RESOURCE_UNIKNOWN - RESOURCE_EXPIRED - TIMESTAMP_INVALID - PERIOD_INVALID - SCA_METHOD_UNKKNOWN - TRANSACTION_ID_INVALID - PRODUCT_INVALID - PRODUCT_UNKNOWN - PAYMENT_FAILED - REQUIRED_KID_MISSING - SESSIONS_NOT_SUPPORTED - ACCESS_EXCEEDED - REQUESTED_FORMATS_INVALID - CARD_INVALID - NO_PIIS_ACTIVATION default: SERVICE_BLOCKED additionalProperties: false TransactionStatusType: description: | ISO20022: The transaction status is filled with value of the ISO20022 data table. ACTC : ACCEPTED TECHNICAL VALIDATION RJCT : REJECTED type: string enum: - ACTC - RJCT default: RJCT additionalProperties: false TppMessage: required: - category - code description: Transports additional error information. properties: category: type: string default: "" description: Category of the error. Only "ERROR" or "WARNING" permitted. code: $ref: '#/definitions/MessageCode' description: Message error code. path: type: string default: "" description: Path of the element of the request message which provoked this error message. text: type: string maxLength: 512 default: "" description: Additional explaining text. additionalProperties: false TppMessageArray: type: array description: Messages to the TPP on operational issues. items: $ref: '#/definitions/TppMessage' description: Transports additional error information. additionalProperties: false parameters: aspsp-cde: name: aspsp-cde in: path description: Identification of the aspsp required: true type: string default: "" Consent-ID: name: Consent-ID in: header description: Shall be contained since “Establish Consent Transaction” was performed via this API before. required: false type: string default: "" X-Request-ID: name: X-Request-ID in: header description: 'ID of the transaction as determined by the initiating party. ' required: true type: string format: uuid default: "" Signature: name: Signature in: header description: A signature of the request by the TPP on application level. This might be mandated by ASPSP. required: true type: string default: "" Digest: name: Digest type: string required: true in: header description: Hash of the message body. Should be present when Request body exists default: "" TPP-Signature-Certificate: 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. required: false type: string default: "" Date: name: Date in: header description: Request date required: true type: string format: date-time FundsConfirmationRequest: name: fundsConfirmationRequest in: body description: Funds Confirmation Request required: true schema: $ref: '#/definitions/FundsConfirmationRequestResource' x-ibm-configuration: enforced: true testable: true phase: realized securityDefinitions: x-ibm-client-id: type: apiKey description: "" in: header name: X-IBM-Client-Id security: - x-ibm-client-id: [] x-ibm-endpoints: - endpointUrl: https://site1.sibsapimarket.com/sibs/apimarket type: - production - endpointUrl: https://site2.sibsapimarket.com/sibs/apimarket type: - production - endpointUrl: https://site2.sibsapimarket.com:8444/sibs/apimarket type: - development - endpointUrl: https://site1.sibsapimarket.com:8444/sibs/apimarket type: - development ...