worldline Direct
Sign up

Bancontact

Intro

Bancontact (formerly known as MisterCash BCMC) is a Belgian debit card scheme.

It is the most frequently used payment method in Belgium.

Bancontact allows your customers to make immediate online payments. They can choose between the online payment system of their home bank or the Payconiq by Bancontact app. Either option offers them to pay quickly and in their preferred way.
Bancontact cards are most often co-badged with Maestro cards. Following the introduction of EU regulations, you need to offer your Belgian customers Bancontact in addition to Maestro. This empowers your customers to choose between the different brands.

Overview

Payment group:
Payment product id:
3012
Key benefits
  • Real-time authorisation approval/decline response
  • Supports mobile payments through Payconiq by Bancontact app
  • Fast settlement cycle
  • Easy authentication process for your customers to ensure Fraud-proof payments

Boarding

To use this payment method, we need to pre-configure your account for you. Contact us so we can take care of this.

Countries & currencies

Supported countries

Supported currencies

  • Euro (EUR)

Integration

We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:

Find a high level overview in the "Process flows" chapter.

Depending on the integration mode, differences apply:

Hosted Checkout Page

Before you start processing transactions, set up the payment method in your account:

  • Log in to the Back Office. Go to Configuration > Payment methods > Bancontact > PM options > BCMC Mobile Application solution activation
  • Select the available payment modes your customers can choose from on the Hosted Checkout Page:
    Mode Description
    Display QR code? Allow your customers to pay by scanning a QR code.
    Display URL intent? Allow your customers to pay with the Payconiq by Bancontact app.
  • Click on "Save" to confirm your choices
  • Depending on your choice, the following modes are available for the respective devices:
    Mobile Tablet Desktop
    QR code No Yes Yes
    URL intent Yes Yes No
    PAN Bancontact card Yes Yes Yes

Regardless of your choice, the option to pay with the Bancontact card (PAN) is always available.

Now you are ready to integrate the payment method into your webshop or mobile app.

Add the following properties to a standard CreateHostedCheckout request:

{
"cardPaymentMethodSpecificInput":{
"authorizationMode":"SALE",
"paymentProductId":3012,
"threeDSecure":{

},
"transactionChannel":"ECOMMERCE"
},
"hostedCheckoutSpecificInput":{
"locale":"en_EN",
"returnUrl":"https://yourReturnUrl.com"
},
"order":{
"additionalInput":{

},
"amountOfMoney":{
"amount":1000,
"currencyCode":"EUR"
},
"customer":{
"billingAddress":{
"countryCode":"BE"
}
},
"references":{
"merchantReference":"Your reference"
}
}
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

hostedCheckoutSpecificInput
     returnURL
     locale

returnURL: The URL we redirect your customers to after the payment has been finalised.
locale: The language version of our Hosted Checkout Page.

cardPaymentMethodSpecificInput.paymentProductId

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter. It instructs our platform to send your customers directly to the Bancontact-branded version of our Hosted Checkout Page. If left out, our platform sends your customers to the Hosted Checkout Page instead, allowing them to choose this or any other payment method in your account.

Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.

Server-to-server

Add the following properties to a standard CreatePayment request:

{
"cardPaymentMethodSpecificInput":{
"card":{
"cardholderName":"BCMC Buyer",
"cardNumber":"0000000000000000",
"expiryDate":"0130"
},
"threeDSecure":{
"redirectionData":{
"returnUrl":"https://secure.ogone.com/ncol/test/displayparams.asp"
}
},
"authorizationMode":"SALE",
"recurring":{

},
"transactionChannel":"ECOMMERCE",
"paymentProductId":3012
},
"fraudFields":{
"customerIpAddress":"40.91.241.131"
},
"order":{
"additionalInput":{

},
"amountOfMoney":{
"amount":1000,
"currencyCode":"EUR"
},
"customer":{
"billingAddress":{
"countryCode":"BE"
}
},
"references":{
"merchantReference":"BDD_20230118060724344_UNNERD0101E1_SS_00"
}
}
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order
currencyCode: The ISO 4217 currency code for this amount

cardPaymentMethodSpecificInput
     card
          cardNumber
          expiryDate
          cardholderName
     returnURL
     paymentProductId

card: The credentials of the card used for the payment
Make sure to fulfill the necessary PCI DSS requirements for sending sensitive data

returnURL: The URL we redirect your customers to after the payment has been finalised

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter

Find detailed information about this object and its properties in our CreatePaymentAPI.

Mobile/Client Integration

As this payment method is available only via Hosted Checkout Page for mobile payments, your app needs to implement the respective flow/request.

Check out the "Process flows" chapter / Hosted Checkout Page chapter to learn more.

Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.

Process flows

The process flow depends on these factors:

To help you understand the resulting payment flows involving these factors, have a look at this table leading you to individual chapters:

Hosted Checkout Page Server-to-server Mobile/Client Integration
Available
payment
modes
QR code
URL intent
PAN
PAN URL intent
(via Hosted Checkout Page)

Hosted Checkout Page

This integration mode allows you to process transactions via payment modes

QR code process flow

This flow involves both your customers’ mobile/tablet and desktop device interacting with each other.

  1. Your customers finalise an order on their desktop device in your shop and select this payment method.
  2. You send this CreateHostedCheckout request to our platform.
  3. You redirect your customers on their desktop device via the redirectUrl to the Hosted Checkout Page. Your customers scan the displayed QR code with their mobile/tablet device.
  4. The mobile/tablet device opens the Payconiq app. Your customers confirm the payment in the app.
  5. We receive the transaction result.
  6. The mobile/tablet device opens the standard browser and redirects your customers to your returnURL. We redirect your customers to your returnURL on their desktop device.
  7. You request the transaction result from our platform via GetPayment or receive the result via webhooks.
  8. If the transaction was successful, you can deliver the goods / services.

URL intent process flow

This flow involves only your customers’ mobile device.

  1. Your customers finalise an order on their mobile device in your shop and select this payment method.
  2. You send this CreateHostedCheckout request to our platform.
  3. You redirect your customers on their mobile device via the redirectUrl to the Hosted Checkout Page. Your customers click on the "Open your app" button.
  4. The mobile device opens the Payconiq app. Your customers confirm the payment in the app.
  5. We receive the transaction result.
  6. The mobile device opens the standard browser and redirects your customers to your returnURL
  7. You request the transaction result from our platform via GetPayment or receive the result via webhooks.
  8. If the transaction was successful, you can deliver the goods / services.

PAN Bancontact process flow

This flow involves only one device (either your customers’ mobile/tablet or desktop device).

  1. Your customers finalise an order in your shop and select this payment method.
  2. You send this CreateHostedCheckout request to our platform.
  3. You redirect your customers via the redirectUrl to the Hosted Checkout Page.
  4. Your customers provide their Bancontact card number. We redirect them to their issuer for 3-D Secure authentication.
  5. Our system receives the 3-D authentication result from the issuer. We process the transaction and receive the result from the acquirer.
  6. We redirect your customers to your returnURL
  7. You request the transaction result from our platform via GetPayment or receive the result via webhooks.
  8. If the transaction was successful, you can deliver the goods / services.

Read our Hosted Checkout Page guide for a general overview about the payment flow for this integration mode.

Server-to-server

This integration mode allows you to process transactions via payment mode PAN.

PAN Bancontact process flow

This flow involves only one device (either your customers’ mobile/tablet or desktop device).

  1. Your customers finalise an order in your shop and select this payment method.
  2. Your customers go to your check-out page and enter their Bancontact card data.
  3. You send this CreatePayment request to our platform.
  4. Our platform sends a response containing a merchantAction object, instructing you to redirect your customers to their issuer for 3-D Secure authentication.
  5. Our system receives the 3-D authentication result from the issuer. We process the transaction and receive the result from the acquirer.
  6. We redirect your customers to your returnURL
  7. You request the transaction result from our platform via GetPayment or receive the result via webhooks.
  8. If the transaction was successful, you can deliver the goods / services.

Read our Server-to-server guide for a general overview about the payment flow for this integration mode.

Mobile/Client Integration

This integration mode allows you to process transactions via payment mode URL intent.

Bancontact is available only via Hosted Checkout Page for mobile apps.

URL intent process flow

This flow involves only your customers’ mobile device.

  1. Your customers finalise an order in your app and select this payment method.
  2. Your e-commerce server sends this CreateHostedCheckout request to our platform.
  3. You redirect your customers in your app to the Hosted Checkout Page via the redirectUrl. Your customers click on the "Open your app" button. Your app stores the identifier of the hosted checkout session (hostedcheckoutsessionid) when the payment starts.
  4. The mobile device opens the Payconiq app. Your customers confirm the payment in the app.
  5. We receive the transaction result.
  6. You request the transaction result from our platform via GetPayment or receive the result via webhooks.
  7. The Payconiq app opens your app using the identifier provided in step 3), displaying the transaction result.
  8. If the transaction was successful, you can deliver the goods / services.
  • When redirecting back to your app, we do not add identifiers (i.e. payment or hostedcheckoutsessionid) to the returnUrl. It is possible for you to add one of these identifiers with values on your own, as we will pass them through to your mobile app.
  • Read our Mobile/Client Integration guide for a general overview about the payment flow for this integration mode.

.

Testing

Refer to our Test cases for test data and detailed instructions.

Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.

Additional information

Process refunds
You can process full and partial refunds if you have processed the original transaction via our Full Service model.

The following options/conditions apply:

  • The refund value does not exceed 100% of the value of the original transaction.
  • Your business does not fall under merchant category code 7995. If it does, you need to refund the transaction offline.
  • You can perform the refund either via the Merchant Portal or our API. When using our API, always send the original transaction reference number in your request.
  • The refund can only be paid back to the bank account linked to the card used to make the original transaction.

Was this page helpful?

Do you have any comments?

Thank you for your response.