Using name verification (retail banks only)

Overview

This guide will help you to connect your customer's bank account in order to verify that the name your customer has provided to you matches the name from the bank account connected. This will help you ensure that the payments you receive comes directly from a bank account owned by the customer for which you have confirmed through your KYC process.

The Name Verification API will compare a name you provide through the API call to the name the bank has on record for the account holder. The response will include both the raw name retrieved from the bank account and give a suggestion on the closeness of the match between both names.

You can find how to create a customer and entity using the Getting started with Data guide.

❗️

Attention!

This product is only supported for retail accounts and not corporate.

Verify your customer's name

Once you have an entity_id you can now make calls to the /insights/v1/name-verification/ endpoint.

📘

Please note: backend calls in production are authenticated via certificates with mTLS.

curl -X POST 'https://sandbox.leantech.me/insights/v1/name-verification' \
    --header 'Content-Type: application/json' \
    --header 'lean-app-token: YOUR_APP_TOKEN' \
    --data-raw '{
        "entity_id": "f08fb010-878f-407a-9ac2-a7840fb56185",
        "full_name": "Michael Garry Scott",
        "async": "false"
    }'
{
  "status": "OK",
  "payload": {
    "full_name_provided": "Michael Garry Scott",
    "full_name_retrieved": "Michael Garry Scott",
    "match_type": "PERFECT_MATCH",
    "confidence": 1.0
  }
}

In the above example, the name provided was a PERFECT_MATCH with the name of the account holder we retrieved from the bank. A PERFECT_MATCH is returned when the name provided identically matches the spelling of the name retrieved from the bank.

In the scenario where the name retrieved is similar but not identical, we will return a match level of PARTIAL_MATCH. This will happen in cases where the names compared are deemed to be a variable spelling of each other, such as "Mohammed" and "Muhammad", or if one of them is a shorter form of the other, e.g. "Michael G Scott" compared to "Michael Garry Scott". This is shown below.

curl -X POST 'https://sandbox.leantech.me/insights/v1/name-verification' \
    --header 'Content-Type: application/json' \
    --header 'lean-app-token: YOUR_APP_TOKEN' \
    --data-raw '{
        "entity_id": "f08fb010-878f-407a-9ac2-a7840fb56185",
        "full_name": "Michael G Scott"
    }'

If the name provided and the name retrieved from the bank are not similar, the match_type will be returned as NO_MATCH.