flutter_pipwave_ekyc 1.0.0 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 #
Add Camera and Gallery Permission #
iOS
-
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>
-
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
-
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
-
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. |