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.
Log in via the link sent to you in your signup email
Navigate to All integrations on the left hand menu
Click on the Add Integration button
Create a suitable name for the integration
Choose the type of the integration (Test or Live)
Find your integration
Integrations are located in Veriff Customer Portal.
Log in via the link sent to you in your signup email
Navigate to All integrations on the left hand menu
Find the integration from the list and click on 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 generatedSession 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
decisionEnd-user is notified about verification failure after receiving
resubmission
ordeclined
decisionEnd-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
orabandoned
status), a new session is generatedAt 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 acceptedA webhook with mismatched
X-HMAC-SIGNATURE
should not be acceptedA 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
orabandoned
session (after 7 days), the end-user is not offered to continue from same session, newsessionURL
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
Node.js (download from Node.js org[↗] )
Notepad/TextEdit (default in Windows/Mac) or Notepad++ (download from Notepad++[↗] )
Step by step
Download and install Node.js
Download and extract js-integration-demo-master.zip
Open Command (Windows) or Terminal (Mac) on your local computer.
Navigate to js-integration-demo-master folder
cd C:\Users\User\Desktop\Veriff API)
.Run command
>npm
installOpen
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).Tokens must be in single quotes.
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'
Run the app.js
node app.js
Now the verification session is created and it is being processed.
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.