romanian_eid_sdk 1.0.1 copy "romanian_eid_sdk: ^1.0.1" to clipboard
romanian_eid_sdk: ^1.0.1 copied to clipboard

Flutter plugin for reading Romanian electronic identity documents (passports and ID cards) via NFC.

Romanian eID SDK for Flutter #

Flutter plugin for reading Romanian electronic identity documents (passports and ID cards) via NFC.

Features #

  • Read Romanian ID cards using PACE (CAN + PIN)
  • Read Romanian passports using BAC
  • MRZ and OCR scanning via camera
  • Real-time reading progress callbacks
  • CSCA certificate validation (Passive Authentication)
  • Cross-platform support (iOS and Android)

Requirements #

iOS #

  • iOS 15.0 or later
  • iPhone 7 or later (NFC capable)
  • Xcode 15.0 or later

Android #

  • Android 8.0 (API 28) or later
  • NFC capable device
  • Valid license key from Up2Date Software SRL

Installation #

Add to your pubspec.yaml:

dependencies:
  romanian_eid_sdk: ^1.0.0

Android Setup #

  1. Add the eIDRomania SDK repository to your app's android/settings.gradle.kts:
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        // eIDRomania Android SDK (public read access — no credentials required)
        maven {
            url = uri("https://europe-west1-maven.pkg.dev/eid-romania/eid-romania-sdk")
        }
    }
}
  1. Add NFC permissions to android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />

iOS Setup #

  1. Add NFC capability in Xcode:

    • Select your project target → "Signing & Capabilities"
    • Click "+ Capability" → "Near Field Communication Tag Reading"
  2. Add to ios/Runner/Info.plist:

<key>NFCReaderUsageDescription</key>
<string>This app uses NFC to read electronic identity documents.</string>
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
    <string>A0000002471001</string>
    <string>A000000077030C60000000FE00000500</string>
    <string>E828BD080FA000000167454441544100</string>
</array>

Usage #

Initialize #

import 'package:romanian_eid_sdk/romanian_eid_sdk.dart';

await RomanianEidSdk.initialize('YOUR_LICENSE_KEY');

Read ID Card (PACE) #

// Listen to progress
RomanianEidSdk.progressStream.listen((progress) {
  print('${progress.percentage}%: ${progress.message}');
});

// Read with CAN + PIN
final result = await RomanianEidSdk.readIDCard(
  can: '123456',
  pin: '1234',  // optional — omit for CAN-only read
);

print('Name: ${result.fullName}');
print('CNP: ${result.cnp}');
print('Address: ${result.permanentAddress}');
print('Photo: ${result.facialImageBase64 != null}');
print('Authentic: ${result.cscaValidated}');

Read Passport (BAC) #

final result = await RomanianEidSdk.readPassport(
  documentNumber: '123456789',
  dateOfBirth: '901231',    // YYMMDD
  dateOfExpiry: '301231',   // YYMMDD
);

print('Name: ${result.fullName}');
print('Nationality: ${result.nationality}');

Error Handling #

try {
  final result = await RomanianEidSdk.readIDCard(can: '123456');
} on PlatformException catch (e) {
  switch (e.code) {
    case EIDErrorCode.invalidCan:
      print('CAN incorect');
      break;
    case EIDErrorCode.invalidPin:
      print('PIN incorect');
      break;
    case EIDErrorCode.connectionLost:
      print('Cardul a fost îndepărtat');
      break;
    case EIDErrorCode.nfcNotAvailable:
      print('NFC nu este disponibil');
      break;
  }
}

License #

Proprietary — Up2Date Software SRL. All rights reserved. Contact: office@up2date.ro

0
likes
120
points
14
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter plugin for reading Romanian electronic identity documents (passports and ID cards) via NFC.

Homepage

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on romanian_eid_sdk

Packages that implement romanian_eid_sdk