# FAQ
# Help for client's customers
# How can we explain to our customers what they need to do to pass the verification?
We have prepared a document which describes in detail all the steps and documents required to pass the verification.
# What types of documents are accepted for address verification?
The following forms of proof of residence are accepted as UTILITY_BILL
document type:
- Tax bill (not older than 3 months);
- Mortgage statement;
- Certificate of voter registration;
- Correspondence with a government authority regarding the receipt of benefits such as a pension, unemployment benefits, housing benefits, etc.
- Cable internet/TV bill (but not from satellite TV companies or for other wireless telecommunication services);
- Landline telephone bill;
- Bank statement with the date of issue and the name of the person (the document must be not older than 3 months);
- Utility bill for gas, electricity, water, internet, etc. linked to the property (the document must not be older than 3 months);
- A lease agreement that is current and has the signatures of the landlord and the tenant;
- Rent bills issued by a real estate rental agency
- Credit card statement issued by a bank;
- Letter from a recognized public authority or public servant (any government-issued correspondence not older than 3 months);
- Employer’s certificate for POA;
- House purchase deed;
- Identity document that contains address and wasn't used as Proof of Identity previously for the same applicant.
The document must contain the full name, home address, and the document issue date (in most cases). Both paper documents and electronic documents (in PDF) are accepted.
# File types and storage time
# What file extensions do you accept? Are there file size limits?
MediaType | File formats |
---|---|
image/jpeg | jpeg, jpg |
image/png | png |
application/pdf | |
video/mp4 | mp4 |
video/webm | webm |
video/quicktime | mov |
Maximum file size is 50 Mb. You can set minimum and maximum thresholds for file sizes from the Global settings tab on the dashboard.
# How long do you keep the documents?
We have no time limit for storing files.
# API issues
# I'm getting a 405 Method not allowed
error.
Make sure that you use a correct HTTP verb. E.g. you don't use GET
where POST
is needed. Also, as a rule of thumb specify -H Accept:application/json
HTTP header, which makes sense in most cases, unless you are getting binary content like images or PDFs. Refer to the API for more details.
# I'm getting a 415 Unsupported media type
error.
Make sure that you use the correct headers provided for the expected return type (in most cases -H Accept:application/json
HTTP header) and if you are making a POST
request you specify, e.g. -H Content-Type:application/json
or -H Content-Type:multipart/form-data
headers. Refer to the API for more details.
# I'm getting a 401
error code
Make sure that all authorization headers have been provided according to documentation, App Token was created and used on the same environment (sandbox or production), signature encoded value matches request content, your timestamp matches UTC and was set in seconds not ms.
# Do you have a service status page?
Yes, you may check our uptime history and current service status at the Sumsub Status page.
# Testing in the test environment
# Why is the applicant in pending status for a long time in the sandbox?
The sandbox environment is only needed to implement integration with us. The test server does not automatically check the applicants. If you need to change the status of the applicant on the test server, you can do this by yourself, please visit here for more information.
This method is not only a trigger for sending a webhook, but also changes the status of the applicant. Therefore, if you want to change the status of the applicant, you can use this method.
# SDK functionality
# What languages does SDK support?
We support and have automatic updates on the list of locales:
Code | Language | WebSDK | MobileSDK |
---|---|---|---|
ar | Arabic | ✓ | ✓ |
hy | Armenian | ✓ | ✗ |
bn | Bengali | ✓ | ✗ |
bg | Bulgarian | ✓ | ✓ |
my | Burmese | ✓ | ✗ |
km | Central Khmer | ✓ | ✗ |
zh | Chinese Simplified | ✓ | ✓ |
zh-tw | Chinese Traditional | ✓ | ✓ |
cs | Czech | ✓ | ✗ |
nl | Dutch | ✗ | ✓ |
en | English | ✓ | ✓ |
et | Estonian | ✓ | ✗ |
fi | Finnish | ✓ | ✗ |
fr | French | ✓ | ✓ |
de | German | ✓ | ✓ |
el | Greek | ✓ | ✓ |
hi | Hindi | ✓ | ✗ |
hu | Hungarian | ✓ | ✓ |
id | Indonesian | ✓ | ✓ |
it | Italian | ✓ | ✓ |
ja | Japanese | ✓ | ✓ |
ko | Korean | ✓ | ✓ |
lo | Lao | ✓ | ✗ |
lt | Lithuanian | ✓ | ✗ |
ms | Malay | ✓ | ✗ |
no | Norwegian | ✓ | ✗ |
fa | Persian | ✓ | ✗ |
fl | Philippine | ✓ | ✗ |
pl | Polish | ✓ | ✗ |
pt | Portuguese | ✓ | ✓ |
pt-br | Portuguese (Brazilian) | ✓ | ✓ |
ro | Romanian | ✓ | ✓ |
ru | Russian | ✓ | ✓ |
sk | Slovak | ✓ | ✗ |
es | Spanish | ✓ | ✓ |
th | Thai | ✓ | ✓ |
tr | Turkish | ✓ | ✓ |
uk | Ukrainian | ✓ | ✓ |
ur | Urdu | ✓ | ✗ |
vi | Vietnamese | ✓ | ✓ |
You can provide us with any ISO 639-1 code within SDK initialization. If we don't have that locale, it will automatically fall back to English.
# Can I change colours and texts of SDK screens?
You can use custom css for WebSDK by setting it up at flow settings or sending it as a .uiConf.customCss
/.uiConf.customCssStr
parameter at initialization function.
For MobileSDK there are native support item: Android and iOS.
All SDK texts can be changed from the dashboard at SDK Translations, a sub-section of the Integrations tab.
# Getting the production access
# How we can get access to production?
To make sure everything works smoothly for both you and your users, we need to test the flow of your system from the user's perspective before giving you access to the production environment. To do this, we need you to share a link to your server/platform/app with us.
Ensure that:
- Integration on the sandbox environment is completed, works and meets your requirements
- There are no dev console errors or warnings
- You saved our applicantIds to your database and matched your users
- You received and successfully processed test webhooks from our side
- You know how to correlate results received in the webhook payload with your users
Please note that we may send several final webhooks, so be prepared to change the user's status on your side accordingly. A typical example is when a user got approved, but later on he was detected as a fraudster, and therefore we block him with a second "RED" webhook.
# How to successfully move to production?
Please provide us with information on expected amount of incoming users per hour/day/month if possible.
Note that settings won't be transferred from test environment to production automatically. So don't forget to
- Set up webhooks at the Dev Space tab of production dashboard
- Tune regulation rules at Global settings tab of the dashboard
- Create and use production App Token and Secret Key for API authorization
# Verification results
# Why does your service only support the asynchronous method?
To ensure the best service, we don't use the asynchronous method. Certain databases can cause delays, and therefore, take a longer time to process a result. Additionally, if there is a tricky case, it's reviewed by our compliance officer to give you the best possible result. This way, regardless of the external circumstances, we can guarantee the best possible answer/result for you. Our priority is quality and coverage, while still meeting our SLA times.
# Why should we make endpoint for getting webhooks from your service?
Your service should accept webhooks from our service in order to automatically receive information about the results of applicant verification and change the account status in real time. If you think that the result of verification has not been received by your service, you can make a request at any time to obtain the status of the applicant. Click here for more info.
# When I receive a webhook, where is the answer?
It's in the field reviewResult.reviewAnswer
. Supported values are GREEN
(applicant passed verification) and RED
(applicant failed verification - but in most cases, he can fix the problem by uploading new documents).
# How can I get the result of an applicant's document recognition?
After verification is complete, we will send a webhook to your endpoint. If "reviewAnswer":" GREEN"
, then you can accept the result of the applicant's document recognition. Click here for more info.
# How can I get the result of checked documents?
After verification is complete, we will send you a webhook to your endpoint. You can then make a request to get the verification results of each document. Click here for more info.
# What's the format of document recognition results?
Different types of documents have different sets of fields that you can get through this method after verification is complete.
# Field formats:
"idDocs": [
{
"idDocType": "PASSPORT",
"country": "ALB",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"lastName": "DOE",
"lastNameEn": "DOE",
"issuedDate": "2019-06-05",
"validUntil": "2020-08-08",
"number": "87988779P",
"dob": "1990-01-01"
},
{
"idDocType": "ID_CARD",
"country": "GBR",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"lastName": "DOE",
"lastNameEn": "DOE",
"issuedDate": "2018-06-05",
"validUntil": "2021-08-08",
"number": "87988779ID",
"dob": "1990-01-01"
},
{
"idDocType": "DRIVERS",
"country": "GBR",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"lastName": "DOE",
"lastNameEn": "DOE",
"issuedDate": "2015-09-09",
"validUntil": "2021-08-08",
"firstIssuedDate": "2010-09-09",
"number": "87988779DR",
"dob": "1990-01-01"
},
{
"idDocType": "UTILITY_BILL",
"country": "GBR",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"lastName": "DOE",
"lastNameEn": "DOE",
"issuedDate": "2019-10-15",
"address": {
"subStreet": "15A APT 9",
"subStreetEn": "15A APT 9",
"street": "GENERIC STREET",
"streetEn": "GENERIC STREET",
"state": "STATE",
"stateEn": "STATE",
"town": "GENCITY",
"townEn": "GENCITY",
"postCode": "987",
"country": "GBR"
}
},
{
"idDocType": "RESIDENCE_PERMIT",
"country": "GBR",
"firstName": "JOHN",
"firstNameEn": "JOHN",
"lastName": "DOE",
"lastNameEn": "DOE",
"issuedDate": "2015-08-08",
"validUntil": "2020-08-08",
"number": "87988779RP",
"dob": "1990-01-01"
},
{
"idDocType": "VEHICLE_REGISTRATION_CERTIFICATE",
"country": "GBR",
"firstName": "TOYOTA",
"firstNameEn": "TOYOTA",
"lastName": "RX871",
"lastNameEn": "RX871",
"number": "9876312475Q",
"additionalNumber": "A21235BB",
"dob": "2010-01-01"
}
]
# How to notify users about verification result?
After verification is complete, we can send the user an email with the results.
The email contains the result of verification and a link for the user to re-upload their documents, if the verification was unsuccessful.
To enable us send emails with verification results, make sure to check the Email notifications
box under applicant level settings.
It is possible to customize letters in dashboard: you can change the company logo, redirection link and signature.
Email texts may be changed via Translations tab.
# Others
# I'm not getting emails from SumSub.
If you're using the Branding feature and have set your email as a sender, please make sure that SPF record was managed by instructions.
Also, make sure your email provider is not blocking emails from sumsub.com
domain.
# What if I have more questions that I can't find answers for?
Please contact us via dashboard livechat, email, or Telegram for an even faster response. We are happy to help!