Integrations

To exchange data with you, we use integrations. It is a collection of settings, and are distinguished from each other by API keys.

Integration types

There are two types of integrations: test integrations and live integrations.

Test integration

Test integrations are used for development. These is automatically created for you as soon as you onboard with Veriff. Any verification session done in the test integrations do not count towards paid usage.

Stress testing without prior agreement with Veriff is not allowed


Veriff does not provide a decision for sessions created in the test integration, you need to trigger the decisions yourself.

Log in to Veriff Customer Portal to see the Forcing the status and data of the verification session when testing?[↗] article in Veriff Knowledge Base

Live integration

A Live integration is created as per your requirements and it is used for production. It requires a working webhook URL. Verification sessions done in the live integrations will count towards paid usage and Veriff provides a decisions for those.

Log in to Veriff Customer Portal to see this bundle of articles[↗] in the Veriff Knowledge Base for more information about integrations


Create an integration

Integrations are created in Veriff Customer Portal.

  1. Log in via the link sent to you in your signup email

  2. Navigate to All integrations on the left hand menu

  3. Click on the Add Integration button

  4. Create a suitable name for the integration

  5. Choose the type of the integration (Test or Live)

Veriff interface showing 'All integrations' and 'Add Integration' options for users.

Interface for naming the integration and options to select between test and live integration types


Find your integration

Integrations are located in Veriff Customer Portal.

  1. Log in via the link sent to you in your signup email

  2. Navigate to All integrations on the left hand menu

  3. Find the integration from the list and click on it

Page in Veriff Customer Portal showing the list of available integrations. The user needs to hover on integration's name to open it


Integrations testing guide

You have an active account with Veriff

Please talk to you solutions engineer if you wish to check the quality of Veriff’s responses.

You will have one test integration pre-created for you in the Veriff Customer Portal. The test integration will be used by you to test the communication between Veriff's and your system and to see how the responses are handled.

You can create more test integrations if needed.

Verification sessions generated for test integrations are not billed and not verified by Veriff

You do not have an active account with Veriff

Select plan on the Self-Serve[↗] page. The plan comes with a free trial, allowing you create a test integration for testing, before you start to use the live integration.

Test Checklists

Test verification session

  • New session link aka sessionURL is generated

  • Session data is saved with your record

  • Sessions with odd names can be started

  • Can you receive and perform actions on sessions with vendorData

  • Can you receive and perform actions on sessions with endUserId

  • End-user is granted access to your platform after receiving an approved decision

  • End-user is notified about verification failure after receiving resubmission or declined decision

  • End-user is prompted to try again after receiving resubmission decision. Note that the end-user has 9 resubmission attempts, the 10th attempt is an automatic decline. See the Cap on the number of resubmissions subsection in Integrations article for more info.

  • In case of resubmitted session, end-user is directed to same sessionURL

  • In case of disrupted session (browser close, end-user logout, etc.,), the end-user should be directed back to earlier session

  • In case generated session is over 7 days old (and thus in expired or abandoned status), a new session is generated

  • At end of verification, the callbackURL redirects back to the correct place in your platform

→ If you want to trigger the decisions yourself, Log in to Veriff Customer Portal to see the Forcing the status and data of the verification session when testing[↗] article in Veriff Knowledge Base

Test security

  • A webhook with wrong API key should not be accepted

  • A webhook with mismatched X-HMAC-SIGNATURE should not be accepted

  • A webhook with invalid JSON should not break or crash your server

Test responses

Test that all the response types are accepted:

  • Approved (decision endpoint)

  • Declined (decision endpoint)

  • Resubmission (decision endpoint)

  • Review (decision endpoint)

  • Expired (decision endpoint)

  • Abandoned (decision endpoint)

Explanations and use cases of these have been listed in the Verification session status codes (table) → decision codes 9001 to 9121.

Test verification process in your app

Test the handling of best cases as well as edge cases:

  • Approved end-users handled or notified as appropriate

  • Declined end-users handled as appropriate, your back office notified if necessary

  • In case of resubmission request, end-user is invited back to try again using the same sessionURL

  • In case of expired or abandoned session (after 7 days), the end-user is not offered to continue from same session, new sessionURL is created

Test mobile native platforms

Test our demo app by downloading it from the app store.

iOS [↗]

Android [↗]

Test API upload

Required tools

  • Veriff's integration demo js-integration-demo-master.zip below

    js-integration-demo-master
    392.76 KB

  • Node.js (download from Node.js org[↗] )

  • Notepad/TextEdit (default in Windows/Mac) or Notepad++ (download from Notepad++[↗] )

Step by step

  1. Download and install Node.js

  2. Download and extract js-integration-demo-master.zip

  3. Open Command (Windows) or Terminal (Mac) on your local computer.

  4. Navigate to js-integration-demo-master folder cd C:\Users\User\Desktop\Veriff API).

  5. Run command >npm install

  6. Open app.js with your text editing app (Notepad/TextEdit) and update 'API-Public-Key' (aka API key) and 'API-Private-Key' (aka shared secret key) to your integration’s keys (see API Documentation and reference[↗] article).

    1. Tokens must be in single quotes.

  7. Save the file

const API_TOKEN = process.env.API_TOKEN || 'API-Public-Key';
const API_SECRET = process.env.API_SECRET || 'API-Private-Key';
const API_URL = process.env.API_URL || 'https://api.staging.vrff.io/v1';
const WEBHOOK_PORT = process.env.WEBHOOK_PORT || 3002;
const IMAGE_DIR = process.env.IMAGE_DIR || 'documents'

  1. Run the app.js node app.js

    1. Now the verification session is created and it is being processed.

    2. Check the dashboard in Veriff Customer Portal to review the data extracted and decision made by Veriff.

Batch testing

Batch testing without prior agreement with Veriff is not allowed. Contact your Solutions Engineer for info.

Batch upload tests are sometimes agreed with Veriff onboarding team and are very use case specific. Therefore, the info below might be not applicable for the majority of customers.

For batch tests, you will need to prepare dataset that will be used for testing. If you have been asked for dataset, please see batch test data preparation guide below.