flutter_pipwave_ekyc 1.0.0 copy "flutter_pipwave_ekyc: ^1.0.0" to clipboard
flutter_pipwave_ekyc: ^1.0.0 copied to clipboard

Flutter Packages for Pipwave EKYC

Pipwave eKYC SDK #

Overview #

Pipwave eKYC SDK provides a predesigned graphical user interface (GUI) for user to undergo the electronic know your customer (eKYC) process. User may need to submit their identity card, driving license, passport and selfie, credit card or bill throughout the process.

Pipwave eKYC SDK offers a number of benefits to help you create the best identity verification experience for your customers:

  • Predesigned UI to help user go through the eKYC process for card id and selfie from start to finish.
  • Easy to integrate with user own Flutter application.
  • The images will be uploaded to Pipwave service securely, thus simplifying the integration process.

Features #

ID Verification #

Verify the authenticity of government-issued IDs, such as passports, driver's licenses, and state IDs.

Credit Card Verification #

Validate credit card information to prevent fraudulent transactions.

Proof of Address Verification #

Confirm an individual's address through various document types, including utility bills, bank statements, and lease agreements.

Installation #

Import the package #

dependencies:
  flutter_pipwave_ekyc: 1.0.0

Prerequisite #

iOS

  1. Add following lines to Info.plist.

     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     <plist version="1.0">
     <dict>
         ...
         <key>NSCameraUsageDescription</key>
         <string>We need access to your camera to capture photos and videos.</string>
         <key>NSPhotoLibraryUsageDescription</key>
         <string>Access to your media gallery is required to share your photos or videos to the mobile app.</string>
         ...
     </dict>
     </plist>
    
  2. Add following lines to Podfile.

    post_install do |installer|
        installer.pods_project.targets.each do |target|
            flutter_additional_ios_build_settings(target)
    
            target.build_configurations.each do |config|
            config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
                '$(inherited)',
    
                ## dart: PermissionGroup.camera
                'PERMISSION_CAMERA=1',
    
                ## dart: PermissionGroup.photos
                'PERMISSION_PHOTOS=1',
            ]
    
            end
        end
    end
    

Android

  1. Add following lines to AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
        <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
        <uses-permission android:name="android.permission.CAMERA" />
    
        <application
            android:requestLegacyExternalStorage="true"
            ...>
            ...
        </application>
    </manifest>
    

Add localisation #

iOS

  1. Add following lines to Info.plist.

     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     <plist version="1.0">
     <dict>
         ...
         <key>CFBundleLocalizations</key>
         <array>
             <string>en</string>
         </array>
         ...
     </dict>
     </plist>
    

Android

No changes needed.

Launching the SDK #

Initialise the SDK #

FlutterPipwaveEkyc.instance.launch(
    context,
    accessToken: '{{ACCESS_TOKEN}}',
    onSuccess: () {},
    onError: (error) {},
);

accessToken: The token for the user that need to undergo the ekyc process.

onSuccess: Callback that fires when the eKYC process is done.

onError: Callback that fires when the eKYC process is failed (Refer table belows to identify types of error).

Types of error/exception #

Error/Exception Description
sessionIsInitialised Another session is initialised.
invalidAccessToken Access token is not a valid JWT format.
sessionExpired Session already expired.
invalidSession Session ID is missing.
invalidVerificationTypes Contains unsupported verification types.
submissionExceedLimit Submission of this session has exceed maximum limit.
submissionFailed Error when submission is failed during eKYC process. Contains code and requestId for debugging.
closed eKYC screen is closed.
unknown Unidentified error happened during eKYC process.