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.
Paths
/{aspsp-cde}/v1-0-4/funds-confirmations
Confirmation of Funds Request
Creates a confirmation of funds request at the ASPSP.
ID of the transaction as determined by the initiating party.
{
"default": ""
}
Shall be contained since “Establish Consent Transaction” was performed via this API before.
{
"default": ""
}
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
{
"default": ""
}
Hash of the message body. Should be present when Request body exists
{
"default": ""
}
The certificate used for signing the request, in base64 encoding. Shall be contained if the signature is used.
{
"default": ""
}
Request date
Identification of the aspsp
{
"default": ""
}
Funds Confirmation Request
{
"schema": {
"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
}
}
Bad Request.
Unauthorized.
Forbidden.
Not Found.
Method Not Allowed.
Not Acceptable.
Request Timeout.
Unsupported Media Type.
Too Many Requests.
Internal Server Error.
Service Unavailable.
Gatewaty Timeout.
Definitions
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,
"pattern": "^[0-9]{1,28}$",
"default": "1111111111111111111111111111"
},
"maskedPan": {
"description": "Primary Account Number in a masked form.",
"type": "string",
"maxLength": 35,
"pattern": "^[0-9]{6,6}([^\\d]{18,18})[0-9]{4,4}$",
"default": "111111******************1111"
},
"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
}
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.\n\nThe decimal separator is a dot.\n",
"type": "string",
"pattern": "^\\-{0,1}[0-9]{1,9}(\\.[0-9]{0,2}){0,1}$",
"default": "00000"
}
},
"additionalProperties": false
}
Error Information.
{
"type": "object",
"properties": {
"tppMessages": {
"$ref": "#/definitions/TppMessageArray",
"description": "Messages to the TPP on operational issues."
}
},
"additionalProperties": false
}
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
}
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
}
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
}
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
}
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
}
Transports additional error information.
{
"required": [
"category",
"code"
],
"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
}
Messages to the TPP on operational issues.
{
"type": "array",
"items": {
"$ref": "#/definitions/TppMessage",
"description": "Transports additional error information."
},
"additionalProperties": false
}