Overview
Nuvei supports card scheme services that verify the name a customer provides to a merchant matches the cardholder name on file with the card issuer. These services provide an additional security check during card onboarding and pre-transaction checks, when amount
=0. Name verification can help reduce exposure to fraud and scams in subsequent Card Not Present (CNP) transactions and in pull/push payments (AFTs/OCTs). For example, cardholder name verification might be performed ad-hoc by an eCommerce merchant.
To enable cardholder name verification for a merchant, contact Nuvei’s Integration Team.
Implementation
REST API Methods
These Nuvei REST API methods support cardholder name verification:
/payment
– For Zero-Authorization transactions (amount
=0 andtransactionType
=Auth)./authorize3D
– Specifyamount
=0.
To perform cardholder name verification, if available, include the following in the /payment
or /authorize3D
request:
cardHolderNameVerification
performNameVerification
: “true“
billingAddress
firstName
middleName
lastName
Example /payment
Zero-Auth Request (Non-3D-Secure)
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "0", "currency": "USD", "transactionType": "Auth", "authenticationOnlyType": "ADDCARD", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "card": { "cardNumber": "4000027891380961", "cardHolderName": "John Smith", "expirationMonth": "12", "expirationYear": "2030", "CVV": "217" } }, "cardHolderNameVerification": { "performNameVerification": "true" }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "middleName": "Stephen", "lastName": "Smith", "email": "[email protected]", "country": "US" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
Responses
Responses to these requests include the cardHolderNameVerification
class, which contains:
nameVerificationRequestResult
– Possible values:- NameVerificationPerformed
- NameVerificationNotPerformed
- NameVerificationNotSupported
nameVerificationResult
firstNameVerificationResult
middleNameVerificationResult
lastNameVerificationResult
If nameVerificationRequestResult
: “NameVerificationPerformed“, the possible values for each of the four VerificationResult
parameters are:
- Match
- PartialMatch
- NoMatch
If nameVerificationRequestResult
: “NameVerificationNotPerformed” or “NameVerificationNotSupported“, the only possible value for each of the four VerificationResult
parameters is Unverified.
Example /payment
Zero-Auth Response (Non-3D-Secure)
{ "internalRequestId": 1138839878, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "850502379161961074", "merchantSiteId": "229708", "version": "1.0", "clientRequestId": "20240701145933", "sessionToken": "e8792666-d279-4458-bbc4-87fe6e14fe58", "orderId": "464015818", "paymentOption": { "userPaymentOptionId": "", "card": { "ccCardNumber": "4****0961", "bin": "400002", "last4Digits": "0961", "ccExpMonth": "12", "ccExpYear": "30", "acquirerId": "19", "cvv2Reply": "", "avsCode": "", "cardType": "Credit", "cardBrand": "VISA", "issuerBankName": "River Valley Credit Union", "issuerCountry": "US", "isPrepaid": "false", "threeD": {} } }, "transactionStatus": "APPROVED", "gwErrorCode": 0, "gwExtendedErrorCode": 0, "issuerDeclineCode": "", "issuerDeclineReason": "", "transactionType": "Auth", "transactionId": "7110000000001101353", "externalTransactionId": "", "authCode": "111487", "customData": "", "fraudDetails": { "finalDecision": "Accept", "score": "0" }, "cardHolderNameVerification": { "nameVerificationRequestResult": "NameVerificationPerformed", "nameVerificationResult": "Match", "firstNameVerificationResult": "Match", "middleNameVerificationResult ": "Match", "lastNameVerificationResult": "Match" }, "externalSchemeTransactionId": "483297487227965", "isAFT": "False", "isAFTOverridden": "False", "merchantAdviceCode": "" }
DMNs
Direct Merchant Notifications (DMNs) for transactions involving cardholder name verification include:
cardHolderNameVerification_nameVerificationRequestResult
– Possible values:- NameVerificationPerformed
- NameVerificationNotPerformed
- NameVerificationNotSupported
cardHolderNameVerification_nameVerificationResult
cardHolderNameVerification_firstNameVerificationResult
cardHolderNameVerification_middleNameVerificationResult
cardHolderNameVerification_lastNameVerificationResult
If cardHolderNameVerification_nameVerificationRequestResult
: “NameVerificationPerformed“, the possible values for each of the four VerificationResult
parameters are:
- Match
- PartialMatch
- NoMatch
If cardHolderNameVerification_nameVerificationRequestResult
: “NameVerificationNotPerformed” or “NameVerificationNotSupported“, the only possible value for each of the four VerificationResult
parameters is Unverified.