What is Confirmation of Funds (COF)?
The purpose of the API for Confirmation of Funds (COF) is to enable a TPP to check if the necessary funds are available in a payer’s account (for example before executing a payment initiation). The bank has to respond Y/N to a TPP request on whether there are sufficient funds in the account (specified with the relevant IBAN). Customers have to give their explicit consent before this service can be used.
API endpoints
Link |
Resource | Endpoints |
Funds Confirmation Consent | funds-confirmation-consent | POST /funds-confirmation-consents |
Funds Confirmation | funds-confirmation |
POST /funds-confirmations |
How does it work?
KBC/CBC has developed its APIs according to the Berlin Group NextGenPSD2 Framework Implementation Guidelines V1.1. The terminology is therefore based on those guidelines.
Step 1: agree funds confirmation
- The process begins with a PSU committing to give consent to the ASPSP (KBC/CBC) in response to confirmation of funds requests from the CBPII.
Step 2: set up funds confirmation consent
- The CBPII connects to KBC/CBC’s API Gateway and creates a funds-confirmation-consent resource.
- This informs KBC that one of its PSUs would like to grant access to confirm the availability of funds to a CBPII.
- KBC responds with a ConsentId, which is the intent identifier for the resource.
- This step includes a POST request to the /funds-confirmation-consents endpoint, under a client credentials grant.
- The setup payload will include the following fields:
- Debtor account – mandatory debtor account details to identify the account for which the availability of funds is to be confirmed
- Expiration date time – an optional expiration date and time for CBPII access to confirm the funds in the PSU account.
Step 3: agree funds confirmation consent
- The CBPII requests KBC/CBC to confirm whether the necessary amount for a payment transaction is available.
- The CBPII redirects the PSU to KBC/CBC and the PSU will give its consent to KBC/CBC before confirming the availability of the funds to the CBPII.
- The redirection includes the ConsentId that was generated in the previous step.
- This allows KBC/CBC to identify the established funds-confirmation-consent.
- KBC/CBC authenticates the PSU.
- The PSU gives explicit consent to KBC/CBC to respond to the confirmation of funds requests from the CBPII.
- KBC/CBC updates the status of the funds-confirmation-consent resource internally to indicate that the resource has been authorised.
- Once the consent has been authorised, the PSU is redirected back to the CBPII.
Step 4: confirm availability of funds
- The CBPII connects to KBC/CBC’s API Gateway and creates a funds-confirmation resource.
- This informs KBC/CBC that the CBPII would like to receive confirmation of the availability of funds for the specified account.
- KBC/CBC responds with a simple ‘yes’ (true) or ‘no’ (false) answer. It does not provide the account balance.
- This step includes a POST request to the /funds-confirmations endpoint under an authorisation code grant.
- The setup payload will include the following fields describing the data that the PSU has consented to with the CBPII:
- Amount – the amount to be confirmed as available
- ConsentId – an ID that links the request to a funds-confirmation-consent and a specific account with the ASPSP. This ID must match the intent identifier.