App Drop-in

Integrations guide

Fourthline's App Drop-in lets you smoothly integrate workflows into your mobile app. It takes care of all interaction with the client, collects the relevant data (e.g. ID document, selfie, geolocation), and uploads it to Fourthline for case processing. You never handle sensitive personal data.

The App Drop-in leverages our responsive, best-practice UI, and you can customize the appearance to match the look and feel of your brand.

We offer the following:

  • Android SDK
  • iOS SDK
  • Cordova plugin
  • Flutter plugin
  • React Native plugin

Supported products

The App Drop-in supports the following products:

TestMe

To view a mock version, launch the various modules using the following mock validation codes:

ProductMock validation code
Identity VerificationIDV
Qualified Electronic SignatureQES
Bank Account VerificationBAV
CombinationsIDVandBAV
IDVandQES
IDVandBAVandQES
IDVandQESandBAV

Example code:

val validationCode: String
val config = WorkflowConfig(networkEnvironment = Mock)

Orca.workflow(context, validationCode)
 .configure(config)
 .present { result -> }
import FourthlineSDK

override func viewDidLoad() {
 super.viewDidLoad()
 
 let customization = WorkflowConfig(
 networkEnvironment: .mock
 )
 Orca.workflow(validationCode: "A1B2C3D4")
 .configure(with: customization)
 .present(completionBlock: { _ in
 })
}
var config = `{
 "configuration": {
 "validationCode": "123456",
 "networkEnvironment": "mock"
 }
}`;


Fourthline.startWorkflow(config,
 function(msg) {
 // User has successfully completed the Workflow process.
 },
 function(error) {
 // Extract and process information from the error String received in JSON format
 }
);
String config = """{
  "configuration": {
    "validationCode": "123456",
    "networkEnvironment": "mock"
  }
}
""";

try {
      String result = await _fourthlinePlugin.startWorkflow(config) ?? "";
      // User has successfully completed the Workflow process.
    } on Exception catch (e) {
      // Extract and process information from the error.
      String? message = e.message;
      switch (e.code) {
      case "803":
        print('User canceled $message');
        break;
      case "1000":
        print('Client rejected');
        break;
      }
    };
);
NativeModules.Fourthline.startWorkflow(config)
  .then((result) => {
        // User has successfully completed the Workflow process.
        // No further action needed.
  })
  .catch((error) => {
        // Extract and process information from the error String received in JSON format
        var jsonError = JSON.parse(error.message);
  });


How it works

The flow is as follows:

App Drop-in flow

App Drop-in flow


Introduction

The workflow starts, the drop-in collects the relevant data, and then uploads it to Fourthline.

Continue to mobile device screen

Introduction screen

Tip
Clients may not know how to take photos with appropriate lighting, background, and framing, which can lead to processing delays or unnecessary rejections.
The App Drop-in UI provides clients clear instructions and real-time feedback to optimize image quality, and additional guidance if required.
Fourthline ensures the photos were taken during the workflow, in compliance with art. 41b of the European Banking Authority – Guidelines on the use of Remote Customer Onboarding Solutions under Article 13(1) of Directive (EU) 2015/849.

Successful flow

If the client successfully completes the workflow, the drop-in displays a success message.

Successful flow

Successful flow

Unsuccessful flow

If the client doesn't complete the workflow successfully, the drop-in displays a failure message.

Unsuccessful flow

Unsuccessful flow

Expiry or error

If the session expires or something goes wrong at any point in the workflow, the drop-in displays the relevant error message:

Left: Session expired message \\ Right: Error message

Left: Session expired message | Right: Error message



How to integrate

Support
For any questions, contact your implementation manager.

Top of page