Web SDK Setup
Integrations guide
This page sets out step-by-step instructions for setting up the Web SDK.
SDK configuration
Provide your implementation manager with the following configuration specifications:
Configuration | Description |
---|---|
Required URLs | For the redirect flow hosted by you, provide the URL for both sandbox and production . |
For the product workflow hosted by Fourthline, provide for both sandbox and production one of the following: • Custom domain • Custom Fourthline domain | |
Redirect option | Specify which redirect option you want to use: • QR code • SMS |
For SMS redirect: • Specify the languages you want to support. • Specify a default language. • Provide the SMS message copy per language. • Provide the SMS originator (indicates to the client who the SMS is from) as a string of 3–11 characters. | |
UI customization | Provide the styles file to customize the UI and your logo. |
Required URLs
The redirect flow is typically embedded in your website and hosted by you, so you must provide us the URL for both sandbox
and production
, e.g. www.mysite.com.
The product flow is hosted by Fourthline and can be served using either:
Domain | Sandbox | Production |
---|---|---|
Custom domain | Provide URL, e.g.: www.verify.mydomain.com | Provide URL, e.g.: www.verify.mydomain.com |
Custom Fourthline domain | https://{yourstring}.app.sandbox.fourthline.com | https://{yourstring}.app.fourthline.com |
Redirect options
Specify which redirect option you want to use: QR code and/or SMS.
For SMS redirect:
- Specify the languages you want to support.
- Specify a default language.
- Provide the SMS message copy per language.
- Provide the SMS originator (indicates to the client who the SMS is from) as a string of 3-11 characters.
User guide
Before you get started, check the following user information:
Setup methods
You can set up your Web SDK via either embedding or WebView integration for mobile apps.
Supported browsers
The web is a moving target. Every browser has a potentially different implementation or set of features or APIs it exposes. We require browsers to expose specific web APIs and support browsers at the pace that vendors implement them.
We require the following web APIs:
API | Method | Global coverage | Mozilla developer documentation |
---|---|---|---|
DeviceMotionEvent | acceleration | 62.08% | acceleration property (experimental) |
Geolocation | getCurrentPosition | 96.14% | getCurrentPosition() method |
MediaDevices | getUserMedia | 92.71% | getUserMedia() method |
MediaRecorder | isTypeSupported | 89.87% | isTypeSupported() static method |
MediaRecorder | start | 89.87% | start() method |
MediaRecorder | stop | 89.84% | stop() method |
MediaRecorder | ondataavailable | 89.84% | dataavailable event |
Navigator | language | 96.17% | language property |
Navigator | sessionStorage | 96.18% | sessionStorage property |
Navigator | userAgent | 96.33% | userAgent property |
Navigator | vibrate | 75.03% | vibrate() method |
Permissions | query | 75.13% | query() method (experimental) |
Unsupported browsers
If a client tries to use a browser that doesn't support the required APIs, they receive an Unsupported browser error.
The validation code in the URL is not consumed at this point, so the client can try a different browser without having to restart the redirect flow.
Supported devices
We support tablets on a best-effort basis only.
We check the browser settings on the tablet and start the flow. If the flow can't be completed on that tablet model, the client needs to try from a mobile phone or another device.
Supported languages
Supported languages and formality:
Language | Locale | Formality |
---|---|---|
English (default) | en | informal |
Czech | cs | informal |
Dutch | nl | formal , informal |
Flemish | vl | informal |
Finnish | fi | informal |
French | fr | formal |
German | de | formal |
Italian | it | informal |
Polish | pl | informal |
Slovak | sk | informal |
Spanish | es | informal |
CDD zipfile
You can download an XML file containing all of the data collected by the SDK via a Get CDD zipfile request.
The zipfile also contains all identity files (i.e. ID document and selfie photos and videos) collected by the SDK if you want to review them.
Warnings and errors
The following warnings and errors are possible:
Type | Description |
---|---|
Bank Account Verification | • Bank Account Verification required to complete identity check • Client's bank declined the transfer • Klarna unavailable • Name not received from Klarna for matching • Payment failed due to technical error |
Browser | Unsupported or not optimally supported browser |
Camera | • Camera stopped • Camera timed out |
Client | Underage client |
Device | • Device offline • Outdated software • Unsupported device |
ID document | • Blurriness • Document condition insufficient • Document scan error • Document type must match the client's input • Expired document • Glare • Invalid data • Issuing country on ID document must match the client's input • Nationality must match the client's input • Photo of a screen or photocopy detected • Required side error • Unsupported document type, issuing country, or nationality |
Location | • Blocked location service • Disabled location service |
Network | • Blocked network request • Internet error • Network error • Server error |
Permissions | • Blocked camera permissions • Blocked location permissions • Permissions error |
Physical Proof of Address | • Camera roll access denied for file upload • Unsupported file type or size (JPG or PNG less than 10 MB) |
Qualified Electronic Signature | • Approved document download failure • Fatal document approval error • Incomplete or failed Identity Verification • One-time passcode expired, was resent too many times, or too many attempts • Selfie not the same person as in associated Identity Verification case |
Selfie | • Multiple faces detected • No face detected • No motion detected during liveness |
SDK session | • Expired • Fatal error • Missing SDK validation code • Retryable error • Start error |
Warnings | • Camera in use by another application • Position of face within selfie mask • Inconsistent data |
Overlay permissions
If other apps are overlaying the client's screen, they may get the following error:
This site can’t ask for your permission. Close any bubbles or overlays from other apps. Then try again.
The client needs to deactivate overlay permissions of other apps in their device settings.
Try sharing the following guidance: How to Geek – How to Fix the Screen Overlay Detected Error on Android
Real-time feedback
Agree with your implementation manager whether you want to enable real-time feedback. The SDK sends the document photos to our backend as soon as they are captured, where we assess the image quality and provide the client feedback in the UI in real time. This ensures higher-quality photos are ultimately uploaded, reduces sendbacks, and improves user experience.
Testing
If you have a Fourthline Dashboard, you can test the flow using the TestMe functionality.
You can use any supported ID document type with dummy data.
Updated 6 months ago