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
For merchants in Australia using our REST API, Nuvei offers the Verify API eKYC service, which allows you to verify a user’s 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.
Verify API Flow
- The merchant collects the user’s PayID account name, verification type, verification data, and other information required for an
/eKYC
request. - The merchant submits an
/eKYC
request that includes thebankingDetails
block containing:accountHolderName
: name associated with the bank accountpayId
: mobile phone number, email address, ABN/ACN, or Organisation IdentifierpayIdType
: “ABN“, “Email“, “PhoneNumber“, “OrganisationId“, or “ACN“
- The merchant receives a response that includes:
ownerName
– whenkycResult=APPROVED
kycErrorCode
– whentransactionStatus=DECLINED
kycErrorReason
– whentransactionStatus=DECLINED
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": "john.smith@email.com", "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": "john.smith@email.com", "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": [] }