Account API

Access account balance and transaction history of Belfius customers in total security.

Preliminary steps

  1. Obtain your authorization : All details on this flow can be found in the Flows section of the consent API documentation.
  2. Issue your access/refresh tokens along with your logical ID : All details on this flow can be found in the Flows section of the consent API documentation.

Viewing the details and balance of a customer’s current account

• GET /accounts/{logical-id}

This API allows a Belfius customer to view his account details and its associated balances within a TPP application.

Belfius supports multi-currency account. In this case, the returned account balance is always a balance in euro. This balance is associated to the balance of the euro compartment or the globalized amount in euro of the balance of all compartments (depending on the parameter of the account). A list of each currency compartment with its balance is also provided in the API response.

The steps are as follows:

  1. When a customer would like to view his balance, the TPP calls this API and provides its specified parameters along with the earlier received access token. This communication is secured using eIDAS certificates. If all the provided information is valid, Belfius responds with the account details and its associated balances.

Retrieving a customer current account’s transaction history

• GET /accounts/{logical-id}/transactions

This API allows a Belfius customer to view the transaction history of his account within a TPP application.

Belfius supports multi-currency account. To retrieve transactions of a specific currency compartment the currency parameters should be filled in. If no currency is given in input, only the euro transactions will be returned.

The steps are as follows:

  1. When a customer would like to view his transactions, the TPP calls this API and provides its specified parameters along with the earlier received access token. This communication is secured using eIDAS certificates. If all the provided details are valid, Belfius responds with the account’s transactions.

To keep accessing customer transaction history after 90 days, the PSU will be required to perform again a customer authentication. The specific flow linked to this case is explained in the below section. Up-to-date account balance will still be available to the PSU without the customer authentication.

Retrieving the full transaction history

Retrieving transactions older that 90 days can be done at every moment by the PSU. However two different flows have to be distinguish

  • Retrieving full transaction history after the account enrolment where no additional PSU authentication is required
  • Retrieving transactions older that 90 days at any moment (except after account enrolment) where an authentication of the PSU is required.

After account enrolment, the POST /token API called with a scope “AIS” and with “authorization_code” as grant_type will returned a “SCA token”. This “SCA token” (valid for a period of 1 hour) should be passed as parameter of GET transaction request to retrieve the full transaction history.

The specific flow linked to the second case (at any moment except after account enrolment) is explained in the below section.

Renewing the customer authentication to access transactions

As explained above, the PSU needs to perform a new authentication if

  • The PSU wants to continue accessing transactions and that its last authentication was done more than 90 days ago
  • The PSU wants to retrieve a transaction older than 90 days.

The steps are as follows:

  1. In some cases (explained above), the PSU should authenticate once more. The API responds therefore with the appropriate error message, indicating this to the TPP.
  2. The TPP receives a redirect URL to which it needs to add the required ‘state’. The customer then needs to be directed to the Belfius environment.
  3. The customer authenticates himself in the Belfius environment.
  4. The customer returns to the TPP application.
  5. Now, the TPP retries the original request (GET /accounts/{logical-id}/transactions). Belfius responds successfully by providing the transaction history of the specified current account.

Note that in case where the PSU wants to retrieve transactions older than 90 days, an “SCA token” will be passed after the successful PSU authentication into Belfius environment. This “SCA token” (valid for a period of 1 hour) should be passed as parameter of the request. This will allow the TPP to keep retrieving older transactions without having to redo an SCA at each request.

Retrieving balance and transactions when the PSU is not present

Four unattended calls can be perform on AIS APIs per 24 hours.

In order to do so, the TPP should filled in the “psu_involved” parameter with false.
Note that if this parameter is empty, Belfius considers that the PSU is not present. This call will therefore be counted by Belfius as unattended.