vci-true-id

2.2.0 • Public • Published

vci-true-id eKYC React Native SDK

This is a library dedicated to the eKYC feature.

1.Requirements

IOS

  • Minimum iOS Deployment Target: 11.0
  • Xcode 13 or newer
  • Swift 5

Android

  • minSdkVersion: 21
  • targetSdkVersion: 32
  • compileSdkVersion 32

2.Installation

  • copy react-native-true-id to your project
  • in file package.json, add "react-native-true-id": "file:./react-native-true-id", to dependency
dependencies:
  ...
   react-native-true-id:
    path: react-native-true-id

2.1 IOS setup

On iOS add the following to your Info.plist

<!-- Camera Access -->
<key>NSCameraUsageDescription</key>
	<string>eKYC will use your camera to take indentity card and selfie.</string>

2.2 Android setup

on Android add the following to $rootDir -> android -> build.gradle

allprojects {
    repositories {
    ...
    flatDir { dirs "$rootDir/../node_modules/react-native-true-id/android/libs" }
    ...
    }
}

alt text

3.Usage

Set configure

    
    var configUI  = "{\"primaryColor\":\"#C60C0C\",\"secondaryColor\":\"#C60C0C\",\"textButtonColor\":\"#FFFFFF\",\"errorColor\":\"#C60C0C\",\"textColor\":\"#A2ADBF\",\"borderInputColor\":\"#D3D9E0\",\"backgroundColor\":\"#ffffff\",\"closeColor\":\"#C60C0C\",\"borderRadius\":8,\"defaultSpacing\":20,\"livenessType\":\"trueid\",\"allowEditOcr\": true,\"hasInstroctions\": false}"

    var configInfo = {
                domain: "",
                domainPath: "/ekyc/v1.2",
                authDomain: "",
                authDomainPath: "/v1/oauth",
                appId: "",
                appSecret: "",
                zoomLicenseKey: "",
                zoomPublicKey: "",
                zoomServerBaseURL: "",
                zoomAuthURL:  "",
                accessToken: "",
                configUI: configUI,
              }
    

  RNTrueID.configure(configInfo)
  • ConfigUI json notes :
  • livenessType : (trueid|facetec)
  • allowEditOcr : bool
  • color config : alt text

Set Language

TrueID support languages : vi, en

  RNTrueID.setLanguage({language: "vi"})

Custom Language IOS copy vi.strings and en.strings to root project ios alt text Custom Language Android

Start EKYC

  
   RNTrueID.start((result) => {
                console.log("result", result)
                if(result.code == 0) {
                  // user close sdk 
                } else if(result.code == 1){
                  // success
                } else {
                  // handle error 
                  console.log("errorMesssage : ", result.errorMesssage)
                }
              })
  

Result Object

class VerificationResult {
  Number code; 
  String errorMesssage;
  String clientId;
  String requestId;
  Decision decision;
  FaceMatching faceMatching;
  PersonInfo idInfo;
  bool livenessCheck;
  RawImage rawImage;
  Map ekycResult;
}

class PersonInfo {
  String idNumber;
  String gender;
  String dob;
  String fullname;
  String address;
  String doi;
  String givenPlace;
  String origin;
  String dueDate;
  Number idType; 
  String qrcode;

//   0: 'OTHER',
//   1: 'CMND',
//   2: 'PASSPORT',
//   3: 'CCCD',
//   4: 'CMND_SIQUAN',
//   5: 'EID',
//   6: 'GPLX'


  DetailAddress idOriginProvince;
  DetailAddress idOriginDistrict;
  DetailAddress idOriginWard;
  DetailAddress idAddressProvince;
  DetailAddress idAddressDistrict;
  DetailAddress idAddressWard;
 }

class DetailAddress {
 Number code;
 String value;
}
class Decision {
 Number code;
 String decision;
}

class RawImage {
  String front; // base64
  String back; // base64
  String selfie; // base64
}

class FaceMatching {
  bool matched;
  Number similarity;
  Number confidenceLevel;
}

Package Sidebar

Install

npm i vci-true-id

Weekly Downloads

0

Version

2.2.0

License

ISC

Unpacked Size

174 MB

Total Files

825

Last publish

Collaborators

  • ttv.pthg