Skip to content

Onboard Individual Users

Identifying your customers is an integral part of secure and compliant banking solutions. Roecny offers a variety of state-of-the-art identification methods that are compliant with the know your customer or know your client (KYC) guidelines.

Whether you're identifying businesses or retail customers, Roecny's onboarding solutions are versatile, scalable, and suitable for different products and use cases.

Pre requisites

The pre requisites required to be validated and fulfilled before your users can start collecting payments via Bank Accounts are as below:

  • You are able to connect to API and your source IPs are whitelisted.
  • You have established the onboarding journey for your individual users and the engagement model for managing the onboarding and customer lifecycle.
  • You have finalized the KYC process(es) that will be applicable to the users you will be on-boarding.
  • You are able to access the enumerations applicable for individual user onboarding

Technical Integration Overview

Step 1 : Create Basic Individual Profile

Create business profile

curl --location 'https://{{server}}/{{product_code}}/v1/users' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--form 'email="john.doe@mail.com"' \
--form 'name="John Doe"' \
--form 'preferred_name="John Doe"' \
--form 'mobile_country_code="65"' \
--form 'mobile="1432156521"' \
--form 'nationality="Singaporean"' \

The user status at this point will be initial. Depending on your product configuration, you can create an account for the user at this point. Once the wallet has been created for the user, the user status would update to active on successful account creation

Step 2 : Update Individual demographic information

Update additional demographic information for the user. These covers additional attributes like: gender, title, date of birth, identification documents

Step 3 : Update addresses information for the individual

Update residential address

curl --location --request PUT 'https://{{server}}/{{product_code}}/v1/users/addresses/residential' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--data-urlencode 'address_1=14B Kreta ayer conservation area' \
--data-urlencode 'address_2=Smith street' \
--data-urlencode 'city=Singapore' \
--data-urlencode 'state=Singapore' \
--data-urlencode 'country=Singapore' \
--data-urlencode 'zipcode=058928' \
--data-urlencode 'country_code=SGP'

Update billing address

curl --location --request PUT 'https://{{server}}/{{product_code}}/v1/users/addresses/billing' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--data-urlencode 'address_1=14B Kreta ayer conservation area' \
--data-urlencode 'address_2=Smith street' \
--data-urlencode 'city=Singapore' \
--data-urlencode 'state=Singapore' \
--data-urlencode 'country=Singapore' \
--data-urlencode 'zipcode=058928' \
--data-urlencode 'country_code=SGP'

Step 4 : Perform the document review and verification process

Roecny eKYC

As part of platform offering you have multiple options to leverage for performing the document review and verification process. If you are choosing Roecny managed verification process you are recommended to leverage our eKYC solution for a streamlined process

As a fallabck of if you are under below third party reliance or an outsourcing arrangement, you can choose below steps for submitting the information in the system.

Take note for image uploads

Do note for uploading images, the images need to be converted into base64 and uploaded as part of the data field. Supported file types are jpg, bmp, png and PDF. Max size of each file should be less than 8MB.

Submit front of ID documents

curl --location 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'

Submit back of ID documents

curl --location 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'

Optionally submit a document which classifies as proof of address (POA)

curl --location 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'

To ensure liveliness check, submit a selfie to authenticate that person onboarding is same as the document details being uploaded.

Submit selfie

curl --location 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>' \
--form 'data="${base64 data of an image}"' \
--form 'kyc_type="MM_DOCUMENT_UPLOAD"'

Confirm KYC submission

curl --location  --request PUT 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>'

Step 5 : Wait for KYC approval

The KYB approval would have a turn around time. Post expiry of the time from the moment of confirmation, you can call the status endpoint to query for the status of KYC process

Confirm KYB submission

curl --location  --request GET 'https://{{server}}/{{product_code}}/v1/users/authentications/documents' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <authentication>' \
--header 'X-Auth-User-ID: <user_id>'

Once the KYC of the individual entity is approved the API will respond with status key in the response with value approved.