WYA Verify SDK for Flutter

pub package License

Identity verification SDK for Flutter with document scanning, liveness detection, and face matching.

Features

  • Document Scanning: Capture and validate ID documents
  • Liveness Detection: Verify user presence with anti-spoofing technology
  • Face Matching: Compare live face capture against document photo
  • Face Enrollment: Register face biometrics for future verification

Platform Support

Platform Minimum Version
iOS 13.0+
Android API 21+

SDK Versions

Platform Version
iOS 1.2.3
Android 3.3.4

Installation

Add to your pubspec.yaml:

dependencies:
  flutter_wya_verify_sdk: ^1.0.0

Usage

Import the SDK

import 'package:flutter_wya_verify_sdk/flutter_wya_verify_sdk.dart';

Identity Verification (Onboarding)

try {
  final result = await FlutterWyaVerifySdk.startOnboarding(
    OnboardingParams(
      publicKey: 'your-public-key',
      idType: 'ID',  // ARG_3
      environment: WyaEnvironment.prod,
    ),
  );

  if (result.verified) {
    print('Identity verified successfully!');
    print('Data: ${result.raw}');
  } else {
    print('Verification failed');
  }
} on WyaError catch (e) {
  print('Error: ${e.message} (${e.code})');
}

Face Matching

try {
  final result = await FlutterWyaVerifySdk.startFaceMatch(
    FaceMatchParams(
      publicKey: 'your-public-key',
      operationId: 'operation-id-from-backend',
      nonce: 'unique-nonce',
      environment: WyaEnvironment.prod,
    ),
  );

  if (result.verified) {
    print('Face match successful!');
  }
} on WyaError catch (e) {
  print('Error: ${e.message}');
}

Face Enrollment

try {
  final result = await FlutterWyaVerifySdk.startFaceEnroll(
    FaceEnrollParams(
      publicKey: 'your-public-key',
      operationId: 'operation-id',
      nonce: 'unique-nonce',
      environment: WyaEnvironment.prod,
    ),
  );

  if (result.enrolled) {
    print('Face enrolled successfully!');
  }
} on WyaError catch (e) {
  print('Error: ${e.message}');
}

Error Handling

The SDK throws WyaError for all error conditions:

try {
  // SDK operation
} on WyaError catch (e) {
  switch (e.code) {
    case WyaErrorCode.invalidParams:
      print('Invalid parameters provided');
      break;
    case WyaErrorCode.cancelled:
      print('User cancelled the operation');
      break;
    case WyaErrorCode.nativeFailure:
      print('Native SDK error: ${e.message}');
      break;
    case WyaErrorCode.unsupportedPlatform:
      print('Platform not supported');
      break;
  }
}

Support

License

Apache 2.0. See LICENSE for details.

Libraries

flutter_wya_verify_sdk
WYA Verify SDK for Flutter