Bancontact for Payment Setup API
Last updated: April 30, 2026
To accept Bancontact payments, you must:
- Create a payment setup.
- Confirm the payment.
- Redirect the customer to Bancontact.
Call the Create a payment setup endpoint.
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
post
https://{prefix}.api.checkout.com/payments/setups
1{2"amount": 1000,3"currency": "EUR",4"customer": {5"country": "BE"6},7"payment_methods": {8"bancontact": {9"account_holder_name": "Hannah Bret"10}11},12"settings": {13"success_url": "https://example.com/payments/success",14"failure_url": "https://example.com/payments/failure"15}16}
In the request body, provide the following:
| Field | Description |
|---|---|
number | The payment amount, in the minor currency unit. |
string | Three-letter ISO 4217 currency code. |
string | The customer's country. |
string | Min length: 3 |
string | The URL to redirect the customer to if the payment fails. |
string | The URL to redirect the customer to if the payment is successful. |
object | The customer's billing details. |
object | The customer's billing address. |
string | The first line of the billing address. |
string | The city of the billing address. |
string | The country of the billing address. |
string | A description of the payment. |
string | A reference you can use to identify the payment. |
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 1000,5"currency": "EUR",6"payment_type": "Regular",7"reference": "ORDER_01234",8"description": "Bancontact payment",9"payment_methods": {10"bancontact": {11"status": "ready",12"flags": []13}14},15"available_payment_methods": [16"bancontact"17],18"settings": {19"success_url": "https://example.com/payments/success",20"failure_url": "https://example.com/payments/failure"21}22}
The response returns a payment_methods object, which contains the payment methods enabled on your account.
When all required fields are present, the payment_methods.bancontact object shows a ready status.
Confirm the payment by calling the Confirm a payment setup endpoint and provide:
- The payment setup
idas the{id}path parameter. bancontactas the payment method name.
post
https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/bancontact
1{2"id": "pay_scoqartlkpzerp45c5ujmj6uue",3"status": "Pending",4"customer": {5"id": "cus_wqzgcjuiwucudpmfu7kn5mukh4"6},7"_links": {8"self": {9"href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_scoqartlkpzerp45c5ujmj6uue"10},11"redirect": {12"href": "https://trusted.girogate.de/ti/dumbdummy?tx=455332564&rs=O34Tn460YM76zZzI7yfXXPIsVnnWAhaV&cs=bb716499d072a5adfb314437c5965e1150b15550aac7a298b5d9d317653427a1"13},14"bancontact:mobile": {15"href": "BEPGenApp://DoTx?TransId=1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT"16}17}18}
Redirect the customer to the redirect.href URL from the response. The customer completes the payment on the Bancontact page and is then redirected back to your settings.success_url or settings.failure_url.
Alternatively, use the bancontact:mobile link in the response to redirect the customer to the Bancontact mobile app. This link is only available in the production environment when the amount is 50000 or less (500 EUR).