Skip to content

Bancontact

Last updated: 14th July 2022

Start accepting payments using Bancontact, a favorite payment method in Belgium.

To start accepting Bancontact payments, please contact your Customer Success Manager.

Model

Collecting

Payment flow

Redirect

Payment method type

Card Payment

One-step payment

Authorization

Capture

Refund

Partial refund

Chargeback

Recurring payment


Overview

Bancontact payments follow a two-step process:


Request a payment

Endpoints

For the full API specification, see the API reference.

    post

    https://api.checkout.com/payments

    Request example

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {
    "amount": 100,
    "currency": "EUR",
    "source": {
    "type": "bancontact",
    "account_holder_name": "Bruce Wayne",
    "payment_country": "BE",
    "billing_descriptor": "CKO Demo - bancontact"
    }
    }

    Response example

    If you receive a 202 Success response, with a status field set to Pending, your request was successful. You now need to redirect your customer as described below.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {
    "id": "pay_scoqartlkpzerp45c5ujmj6uue",
    "status": "Pending",
    "customer": {
    "id": "cus_wqzgcjuiwucudpmfu7kn5mukh4"
    },
    "_links": {
    "self": {
    "href": "https://api.sandbox.checkout.com/payments/pay_scoqartlkpzerp45c5ujmj6uue"
    },
    "redirect": {
    "href": "https://trusted.girogate.de/ti/dumbdummy?tx=455332564&rs=O34Tn460YM76zZzI7yfXXPIsVnnWAhaV&cs=bb716499d072a5adfb314437c5965e1150b15550aac7a298b5d9d317653427a1"
    },
    "bancontact:mobile": {
    "href": "BEPGenApp://DoTx?TransId=1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT"
    }
    }
    }

    Redirect the customer

    Redirect your customer to the redirect link’s href in the response. This will allow the customer to authorize the payment, before they are transferred to your predefined success or failure URL.

    Alternatively, use the bancontact:mobile redirection link in the response to take them to the Bancontact mobile app. This mobile redirection link, however, is only provided in the live environment and only when the amount is less than or equal to 50000 (500 EUR).


    Get details about a payment

    You can retrieve details about an existing Bancontact payment with the following endpoint.

    Use the details below to set up your request.

    Endpoints

    For the full API specification, see the API reference.

      get

      https://api.checkout.com/payments/{id}

      Response example

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      {
      "id": "pay_zvamjy6rl3pehdeufoqaygbjzm",
      "requested_on": "2019-05-17T15:17:06Z",
      "source": {
      "type": "bancontact"
      },
      "amount": 100,
      "currency": "EUR",
      "payment_type": "Regular",
      "status": "Captured",
      "approved": true,
      "risk": {
      "flagged": false
      },
      "customer": {
      "id": "cus_t4rcgkbd2keuzeoo3p36u2xqcu"
      },
      "_links": {
      "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_zvamjy6rl3pehdeufoqaygbjzm"
      },
      "actions": {
      "href": "https://api.sandbox.checkout.com/payments/pay_zvamjy6rl3pehdeufoqaygbjzm/actions"
      },
      "refund": {
      "href": "https://api.sandbox.checkout.com/payments/pay_zvamjy6rl3pehdeufoqaygbjzm/refunds"
      }
      }
      }

      Refund a payment

      Bancontact supports both partial and full refunds. You can refund a payment through the Dashboard or by using the refund API.


      Cancel a payment

      If the customer fails to complete their payment, we will automatically void the payment and send a payment_expired webhook.

      If the customer cancels their payment, we will send a payment_canceled webhook.


      Testing Bancontact

      To start testing, you'll need to contact your Customer Success Manager or Integrations Engineer to activate Bancontact payments in the sandbox environment.

      1. Create a Bancontact transaction as above, following the redirect link in the response to Bancontact's website.
      2. Set the payment response and payment delay as necessary.
      3. Select Submit. You should then be redirected to your predefined success URL.