- METHOD TYPECards
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Bancontact is a Belgium card scheme allowing customers to pay globally with mobile wallet apps and cards issued by over 25 issuers in Belgium.
Supported Countries
- Belgium
Supported Currencies
- EUR
Payment (Deposit) Flow
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment Request
Perform the payment by sending a /payment request with its mandatory parameters, including:
userTokenIdamountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_BanContact” – Users can use the Payconiq by Bancontact mobile app or manually enter card details (PAN).
ORpaymentMethod: “apmgw_Bancontact_Card” – Users manually enter card details (PAN).
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,email
Marketplace merchants must also include the marketplace addendum with its mandatory parameters, including subMerchantId. With certain providers, if the request includes subMerchantName, Nuvei sends it to the provider as the point of sale, up to 50 characters. Otherwise, Nuvei sends subMerchantId.
Example /payment Request
{
"sessionToken": "<sessionToken from getSessionToken>",
"merchantId": "<your merchantId>",
"merchantSiteId": "<your merchantSiteId>",
"clientRequestId": "<unique request ID in merchant system>",
"amount": "100",
"currency": "EUR",
"userTokenId": "<unique customer identifier in merchant system>",
"clientUniqueId": "<unique transaction ID in merchant system>",
"paymentOption": {
"alternativePaymentMethod": {
"paymentMethod": "apmgw_Bancontact_Card"
}
},
"deviceDetails": {
"ipAddress": "<customer's IP address>"
},
"billingAddress": {
"firstName": "John",
"lastName": "Smith",
"country": "BE",
"email": "[email protected]"
},
"timeStamp": "YYYYMMDDHHmmss>",
"checksum": "<calculated checksum>"
}
The response generates and returns a redirect URL (redirectUrl) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId) for use in future transactions.
Example /payment Response
{
"internalRequestId": 1059290818,
"status": "SUCCESS",
"errCode": 0,
"reason": "",
"merchantId": "979047831696752006",
"merchantSiteId": "217268",
"version": "1.0",
"clientRequestId": "20240515094913",
"sessionToken": "0224aa6d-2766-4c2a-b36d-ead365f58695",
"clientUniqueId": "20180327175242",
"orderId": "444017748",
"userTokenId": "TestToken",
"paymentOption": {
"redirectUrl": "https://gw-apm-globalpayapi.nuvei.com/Home?PaymentToken=B1E4E65933DD30661004C8773684266C.27144784",
"userPaymentOptionId": "111309498",
"card": {}
},
"transactionStatus": "REDIRECT"
}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the urlDetails.notificationUrl, which Nuvei recommends including in the /payment request.
User Experience
App Payment or Manual PAN Entry
- The user is redirected to the provider’s website.
Desktop

Mobile

- The user chooses to pay by scanning the QR code using the Payconiq by Bancontact mobile app (desktop); directly with the app (mobile); or with a card by entering the card details.
- The user confirms the payment.
- A successful/failed transaction message appears.
