Overview
Know your customer (KYC) is the process of a business identifying and verifying the identity of its clients as part of due diligence requirements. The objective of KYC guidelines is to prevent financial institutions from being used, intentionally or unintentionally, by criminal elements for money laundering activities.
Nuvei’s anti-money laundering (AML) and electronic KYC (eKYC) solutions enable businesses to quickly and easily identify high-risk applicants and manage them appropriately. Our electronic identity checks help organizations meet their KYC and AML obligations when new accounts are created and when existing consumers need to be checked.
This method can be used for initiating a real time electronic identity check/Pep and Sanctions (politically exposed persons and financial sanctions) checks via multiple leading providers.
Preliminary KYC Verification Requirements
Prior to initializing KYC verification, be sure to invoke the /createUser
method for generating a userTokenId
parameter since this is a mandatory field for any KYC check.
Interpreting KYC Results
The KYC transaction results can be interpreted by a combination of the transaction result (technical) and the KYC result (business).
- eKYC verification results are derived from the provider’s response regarding the number of matches among the name, address and date of birth, and other data sources.
- Document verification results are derived from the list of issues detected in the uploaded proof-of-identity images.
Transaction Results
- Approved – The transaction was finalized as successful following a provider asynchronous notification.
- Pending – The transaction was initialized successfully but is still pending on an asynchronous notification by the provider. Once a notification is sent a correction is updated in the system.
- Declined – The transaction was finalized as unsuccessful following a provider asynchronous notification.
- Error – The transaction could not be completed due to technical errors.
KYC Result
- Approve – It is recommended to allow the customer to progress and update the end user’s KYC status accordingly.
- Error – The verification could not be accomplished due to technical errors.
- Review – It is recommended to manually review the details and make a decision regarding the end user’s KYC status.
- Reject – It is recommended to update the end user’s KYC status accordingly.
- None – Verification could not be performed at the provider side. It is recommended to revise the request parameters.
To view the eKYC parameters and integration types on our Developer’s Portal, please press here.
Verify API
Merchants in Australia and in Canada / Ontario are required to authenticate customers prior to submitting a /payment
request. To comply with this requirement and ensure safe payment processing, Nuvei offers the Verify API eKYC service.
Merchants in Australia can use Verify API to authenticate customers using PayID. Most Australian banks, building societies, and credit unions offer PayID to their customers. The merchant submits an /eKYC
request with a user’s PayID and a PayID type that can be a mobile phone number, email address, ABN/ACN, or Organisation Identifier.
Merchants in Canada / Ontario can use Verify API to authenticate customers by providing account holder information in the /eKYC
request. For these merchants, the response includes legalName
, which contains all of the information from the account. Using this information, the merchant authenticates the customer.
Verify API Flow
- The merchant collects information required for an
/eKYC
request. In Australia, this includes the user’s PayID account name, verification type, verification data, and other information. - The merchant submits an
/eKYC
request that includes thebankingDetails
class containing:accountHolderName
: name associated with the bank accountpayId
: mobile phone number, email address, ABN/ACN, or Organisation IdentifierpayIdType
: ABN, Email, PhoneNumber, OrganisationId, ACN
- The merchant receives a response that includes:
ownerName
– whenkycResult
=APPROVED and the merchant is in AustralialegalName
– whenkycResult
=APPROVED and the merchant is in Canada / OntariokycErrorCode
– whentransactionStatus
=DECLINEDkycErrorReason
– whentransactionStatus
=DECLINED
Australia
Example Verify API /eKYC
Request
{ "apiClient": "MERCHANT", "clientRequestId": "<unique request ID in merchant system>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "userId": "<user name in merchant system>", "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>", "deviceDetails": { "deviceType": "TABLET", "deviceName": "iPad", "deviceOS": "iOS", "browser": "safari", "ipAddress": "<customer’s IP address>", "deviceManufacturerIdentifier": null }, "eKYCType": null, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "phone": "+61 455 314 317", "address": "27 Feather Street", "city": "Currimundi", "country": "AU", "state": "Queensland", "zip": "4551", "dateOfBirth": "2000-06-30", "county": null, "language": "en", "identification": "123456789", "identificationType": "NationalId", "empty": false }, "ekycUserDetails": { "userName": "John Smith", "languageCode": "AU", "title": "MR", "gender": "Male", "building": "27", "postcode": "4551", "mobileCountryCode": "61", "mobileNumber": "455 314 317", "identification": "123456789", "identificationType": "NationalId", "dateOfBirth": "2000-06-30" }, "bankingDetails": { "accountHolderName": "John Smith", "payId": "[email protected]", "payIdType": "Email" } }
Example Verify API /eKYC
Response with kycResult
=APPROVED
{ "internalRequestId": 39949441, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "version": "1.0", "clientRequestId": "<unique request ID in merchant system>", "userTokenId": "<unique customer identifier in merchant system>", "userId": "<user name in merchant system>", "transactionId": "2610000000000018225", "transactionStatus": "APPROVED", "kycResult": "APPROVED", "orderId": "42836831", "kycServiceDetails": [], "ownerName": "Moneytech ABN" }
Example Verify API /eKYC
Response with transactionStatus
=DECLINED
{ "internalRequestId": 39949471, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "version": "1.0", "clientRequestId": "<unique request ID in merchant system>", "userTokenId": "<unique customer identifier in merchant system>", "userId": "<user name in merchant system>", "transactionId": "2610000000000018230", "transactionStatus": "DECLINED", "kycErrorCode": "GENERIC_ERROR", "kycErrorReason": "Kyc : ExecuteKycDirect failed.", "orderId": "42836831", "kycServiceDetails": [] }
Canada / Ontario
Example Verify API /eKYC
Request
{ "apiClient": "MERCHANT", "clientRequestId": "<unique request ID in merchant system>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "userId": "<user name in merchant system>", "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>", "deviceDetails": { "deviceType": "TABLET", "deviceName": "iPad", "deviceOS": "iOS", "browser": "safari", "ipAddress": "<customer’s IP address>" }, "eKYCType": null, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "phone": "16139575555", "address": "24 Sussex Drive", "city": "Ottawa", "country": "CA", "state": "ON", "zip": "K1M 1M4", "dateOfBirth": "2000-06-30", "county": null, "language": "en" }, "ekycUserDetails": { "userName": "John Smith", "languageCode": "EN", "title": "MR", "gender": "Male", "building": "24", "postcode": "K1M 1M4", "mobileCountryCode": "1", "mobileNumber": "6139571234", "identification": "123456789", "identificationType": "NationalId", "dateOfBirth": "2000-06-30" }, "bankingDetails": { "accountHolderName": "John Smith", "payId": "[email protected]", "payIdType": "Email" } }
Example Verify API /eKYC
Response with kycResult
=APPROVED
{ "internalRequestId": 39949441, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "version": "1.0", "clientRequestId": "<unique request ID in merchant system>", "userTokenId": "<unique customer identifier in merchant system>", "userId": "<user name in merchant system>", "transactionId": "2610000000000018225", "transactionStatus": "APPROVED", "kycResult": "APPROVED", "orderId": "42836831", "kycServiceDetails": [], "legalName": "{\"sandbox\":true,\"type\":\"KY5\",\"userId\":\"7AF5FEC5B6DDCDF4A085A943BE436555\",\"email\":\"[email protected]\",\"user\":\"bf0da85bf82932eef21acfa734b6f605\",\"campaign\":\"6ac0ff3c6957b6f8e5d0813f52689ce3\",\"entityId\":1,\"iat\":1720159230,\"exp\":1720245630,\"KYC\":{\"registered_for_autodeposit\":true,\"legal_name\":{\"first_name\":\"John\",\"last_name\":\"Smith\"}}}" }