Payment API

Initiate payments from a Belfius payment account.

Payment initiation services (PIS) – PSD2 APIs

This API provides Belfius customers the possibility to initiate a SEPA payment using their account on a TPP application. As soon as the payment has been made and signed, the TPP receives an authorization code if an access token wasn’t provided at the start of the process. This TPP can then use this authorization code to get an access token and a refresh token which can then be used for future payment initiations and payment initiation cancellations.

Initiating and signing a payment

• POST /payments/sepa-credit-transfers

A Belfius customer can initiate a SEPA payment in the TPP application.

The steps are as follows:

  1. 1. When a customer would like to initiate a SEPA payment in a TPP application, the TPP calls this API and provides its specified parameters. Along with account IBAN numbers, payment treatment type (value accepted are NORMAL and URGENT) should be included. Some of these offered services are paying services. You can consult our website to know the exact charges due.
  2. If the TPP has the required access authorizations, the API responds with either:
    • a message indicating that the payment has been successfully initiated. Belfius does not currently support SCA exemption for payment initiation, this case is therefore not currently applicable.
    • a message indicating the payment initiation requires a signature. In this case, the TPP application also receives a URL in ‘Location header’
  3. The TPP redirects the customer to the URL mentioned in the answer above and adds the required ‘state’. The customer is redirected to the Belfius environment.
  4. The PSU authenticates himself and signs the payment.
  5. Belfius generates an authorization code.
  6. The customer is again redirected to the TPP application, thus transmitting the authorization code and the ‘state’ in the redirect URL.

Now the TPP can exchange this authorization code for an access token and a refresh token using the /token endpoint. This newly acquired access token can then be used for future payments and payment initiation cancellations. When a valid access token has been inputted, no authorization code will be provided in the redirect URL in future calls. All details on this flow can be found in the Flows section of the consent API documentation.

Cancelling a payment

• DELETE /payments/sepa-credit-transfers/{logical-ID}

A Belfius customer can cancel an uncompleted SEPA payment transaction initiated earlier in the TPP application. Only unsigned, future dated and payment in recycling are cancellable. Please note that in order to cancel the payment, TPP must provide a valid access token as a Bearer token in Authorization header of cancel payment API. This Bearer token is in fact the access token received after calling the token API using the authorization code provided by Belfius at the end of the payment initiation. All details on this flow can be found in the Flows section of the consent API documentation.

The steps are as follows:

  1. When a customer would like to cancel a confirmed payment, TPP calls this API with the earlier received access token. This communication is secured using eIDAS certificates. If all the provided details are valid, and the payment was indeed not confirmed by that time, Belfius will initiate a payment cancellation and respond with the confirmation.