Bancontact
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:
User chooses payment method
On your app or website, the user selects Bancontact as the payment method
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
.
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.
Return
After payment, the user is returned on your specified ReturnURL
:
- To a website if
PaymentFlow
isWEB
(default value) - To a mobile app if the
PaymentFlow
isAPP
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