About

Bancontact is a widely used payment method in Belgium. The Bancontact and Payconiq brands both belong to the same group, and the mobile app available to end users is the same: Payconiq by Bancontact.

This article concerns the Bancontact pay-in flow, which allows users to complete the payment by scanning a QR code, or by using a Bancontact-branded card (that is not saved).

Mangopay offers two other flows from the Bancontact Payconiq Group:

  • Direct card pay-in – A payment with a Bancontact-branded card that is tokenized like any other card brand.
  • Payconiq pay-in – A payment using the Payconiq by Bancontact app to scan a QR code to complete payment (see Payconiq guide).
Region

Belgium

Currencies

EUR

Refunds

Yes

Disputes

Yes

Preauthorization

No

Recurring payments

Planned

How it works

The Bancontact pay-in flow provides the following checkout experience:

1

User chooses payment method

On your app or website, the user selects Bancontact as the payment method

2

Payment initiation

You create the payment request by calling POST Create a Bancontact PayIn, specifying the ReturnURL.

If the ReturnURL redirects to your app, rather than a website, you need to also set the PaymentFlow to APP.

3

Redirection

On a web browser, you redirect the user to a hosted payment page via the RedirectURL in the API response.

On the webpage, the user can:

  • Enter their Bancontact card number, or
  • Scan a QR code with a Belgian banking app (that supports QR code scan) or the Payconiq by Bancontact app. The QR-code flow is available for transactions up to €1,500. Above this amount, the user is only presented with the card option.

Note – Card must be branded Bancontact

The Bancontact pay-in flow only accepts Bancontact cards, which are always co-branded with Visa, Mastercard, or Maestro.

Cards that don’t carry the Bancontact name, but are only branded Maestro for example, can’t be used on Bancontact pay-ins.

In an app-to-app flow, you redirect the user to their Payconiq by Bancontact app via the DeepLinkURL in the API response, where they confirm and authenticate the payment.

4

Return

After payment, the user is returned on your specified ReturnURL:

  • To a website if PaymentFlow is WEB (default value)
  • To a mobile app if the PaymentFlow is APP
5

Outcome

The transaction is complete when the pay-in status changes from CREATED to SUCCEEDED or FAILED, indicating the outcome.

Hooks

You should also set up hook notifications for the relevant event types:

  • PAYIN_NORMAL_SUCCEEDED
  • PAYIN_NORMAL_FAILED

Legacy integrations

The Bancontact PayIn replaces Mangopay’s legacy Bancontact integration, which is the Web Card PayIn with CardType value BCMC. The web card flow continues to be supported, and no change is required from platforms.

The Direct Card PayIn flow for Bancontact cards remains available.

The new Bancontact pay-in flow provides options to the user that are not available in the legacy flow:

  • Scanning the QR code
  • Opening the Payconiq by Bancontact app via the DeepLinkURL