Introduction
With Nuvei’s manual PAN entry solution for Bancontact cards, merchants can accept Bancontact cards for payments as they do for global card schemes, without any extra integration steps. Nuvei can process co-badged Bancontact + Visa and Bancontact + Mastercard/Maestro cards as Bancontact cards. This method supports manually entering card details (full PAN and expiration date).
Transactions using this solution require 3D-Secure v2 (3DS2) authentication.
This solution supports the following transaction types: Sale, Zero-Authorization, Void, Refund, and Payout. Pre-authorization and Recurring transactions are not currently supported.
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. Initialize 3D-Secure
Press here for details.
3. Send a /payment
Request
Perform the payment by sending a /payment
request with its mandatory parameters, including:
userTokenId
amount
currency
card
class containing:cardNumber
cardHolderName
expirationMonth
expirationYear
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
This solution supports Sale transactions (transactionType
: “Sale“). It does not support Auth and Settle transactions (transactionType
: “Auth”).
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": { "card": { "cardNumber": "<Bancontact card number>", "cardHolderName": "John Smith", "expirationMonth": "06", "expirationYear": "2027" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "address": "22 Main Street", "city": "Brussels", "country": "BE", "email": "[email protected]", "phone": "323094526617", "zip": "1000" }, "userDetails": { "firstName": "John", "lastName": "Smith", "address": "22 Main Street", "city": "Brussels", "country": "BE", "email": "[email protected]", "phone": "323094526617", "zip": "1000", "dateOfBirth": "2000-06-30", "gender": "Male" }, "timeStamp": "YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
Example /payment
Response
{ "internalRequestId": 80296351849, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5555385017539610145", "merchantSiteId": "288139", "version": "1.0", "clientRequestId": "Pay1-0722.182826", "sessionToken": "9f3ab64d-2fd9-478d-9b82-abf24fe5a13e", "clientUniqueId": "Pay-0722.1828", "orderId": "65168189559", "userTokenId": "Kc-01", "paymentOption": { "userPaymentOptionId": "4358108418", "card": { "ccCardNumber": "6****6004", "bin": "670307", "last4Digits": "6004", "ccExpMonth": "12", "ccExpYear": "27", "acquirerId": "512", "cvv2Reply": "", "avsCode": "", "cardType": "Debit", "cardBrand": "Maestro", "issuerBankName": "BELFIUS BANK N.V. / BELFIUS BA", "issuerCountry": "BE", "isPrepaid": "false", "processedBrand": "BancontactCard" } }, "transactionStatus": "REDIRECT", "gwErrorCode": 0, "gwExtendedErrorCode": 0, "issuerDeclineCode": "", "issuerDeclineReason": "", "transactionType": "Auth3D", "transactionId": "1120000001657324139", "externalTransactionId": "", "authCode": "", "customData": "", "externalSchemeTransactionId": "", "merchantAdviceCode": "" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in urlDetails.notificationUrl
, which Nuvei recommends including in the /payment
request.
User Experience
When the merchant is using the Nuvei Payment Page integration method, the user selects the Bancontact Card payment method and enters card details.