South Africa NID Match

Overview

South Africa’s national ID system that verifies citizen data against the official population registry. A tamper-resistant smart ID card is issued at age 16, and is compulsory for citizens and permanent residents; it serves as the primary identification document for government and private-sector transactions.

  • ID: south-africa-nid-match-2
  • Type: eID (database)
  • Verification Type: Match
  • Countries: ZA
  • Adoption: 60,000,000
  • URL: https://www.dha.gov.za/

Integration with Trinsic

South Africa NID verification is integrated into Trinsic's identity acceptance network allowing businesses to verify users against the government system of record in South Africa.


User Flow

User provides their National ID number along with personal information (name, date of birth, gender, phone number). The system verifies that the provided information matches the government database records.

  • NOTE: Most fields return a simple "1.0" (exact match) or "0.0" (no match) for their match score. However, names and birth dates can also return "0.9" (data that is out of order, but mostly correct) and "0.5" (a partial match). Names are a partial match when their Levenshtein score is less than or equal to 2, dates are a partial match when a single part of the date (year, month or day) is off by one.

Direct Mode Bypass

In direct mode, customers can bypass form-fill steps by passing known identity data about the user when launching the integration.

How to Test

Make sure you are working within your "Test" environment. Then follow the steps for your method below:

  1. Add south-africa-nid-match-2 to a verification profile in your "Test" environment.

  2. Enter the following credentials:

    • National ID: 0000000000000
    • Given Name: Joe
    • Middle Name: Doe
    • Family Name: Leo
    • Date of Birth: 2000-09-20
    • Sex: Male
    • Phone Number (if shown): (empty)
      • NOTE: Phone Number is a no-op in Test Mode.

Direct API Requirements

📘

Direct is not a requirement.

You can integrate with this provider using the Widget or Hosted UI instead, with no additional integration requirements on your end.

What your integration must support in order to use this provider with the Direct Provider Sessions API.

  • Supports Direct Provider Sessions: ✅
  • Launch Method: None — No user-facing action is required to start the flow.
  • Collection Method: PollResult — Results arrive asynchronously; poll with the resultsAccessKey returned at session creation.
  • Requires Input: This provider requires input before verification can proceed.
  • Trinsic-Hosted UI: A Trinsic-Hosted Fallback UI exists for this provider, which may be invoked to cover gaps in your integration's capabilities.

Outputs

ℹ️

Normalized Attributes

These attributes form part of our normalized model, a standardized set used across providers. Trinsic normalizes this for you and lets you know when a property is available for each provider.

FieldAvailabilityNotes
document.typeAlways-
document.numberAlways-
document.issuingCountryAlways-
match.nationalIdNumberAlways-
match.fullNameAlways-
match.sexSometimesIf provided
match.dateOfBirthSometimesIf provided