KYC Onboarding

KYC is configured per client and done during client onboarding. There are 3 KYC checks available:

  • ID document and identity verification using Jumio
  • ID verification using greenID
  • Sanction screening using ComplyAdvantage

The Shaype client can have any combination of checks enabled. Checks enabled are done in the order listed above.

Shaype will enable and disable the above based on the request from the client rather than the client performing that action themselves.

Onboarding Customer Status Flow

Bypassing KYC Checks

As Shaype we wanted to allow clients to bypass KYC checks for instances such as the client becomes responsible for KYC of this customer. All customers have to go through some form of KYC, done either by us or by the client.

The Hay-adaptor customer controller endpoint, POST/v0/customers/create is called to create a customer on behalf of the client. It now contains a request field "skipKyc": true,

If the “skipKyc” field is ignored the default will be ‘false’ and so the customer will be passed through the agreed KYC checks.

Testing KYC in Staging

To allow clients to carry out testing of KYC the following endpoints have been added to the Hay-adaptor. Each of these endpoints will allow the client to approve manually the individual KYC checks to allow continuation of the customer creation journey during testing.

Endpoints

Steps on using the endpoints for KYC onboarding

Note on the above to test edge cases we recommend using politically exposed and high risk individuals that you would expect would fail a check such as a sanctions check.

Clients who aren't using all of the services but a selection, the below is how the endpoints relate to the services

Webhook Notifications

Send event notification when onboarding passes

[HaasExternalCommunicationsApi#notifyNotification]
{
  "customerHayId": "47a6f3ac-0d62-4997-a13e-5a1df4da6da3",
  "idempotencyKey": "47a6f3ac-0d62-4997-a13e-5a1df4da6da3",
  "type": "ONBOARDING_PASSED",
  "firebaseDeviceToken": "eQwhRSuQkWk:APA91bE4E2fcd2mpB_CkHNukNSESigu3fK_vDaVqvzXu0K_1z-aHZPfGyD5IouQFhArUe-S0BIb5QYwnilRnTubAfO1Q_Pf3oRLOrShDLVVN_fRSLW_vCfTgW3Oxrxu3NSHrcOOoi9E0"
}

Send event notification when onboarding fails

[HaasExternalCommunicationsApi#notifyNotification]
{
  "customerHayId": "2f5bd304-cc36-4d4e-aa55-7b5efbc03941",
  "idempotencyKey": "1a332843-6944-4dbe-9477-4e392d6fb5ea",
  "type": "ONBOARDING_FAILED",
  "onboardingFailedEvent": {
    "state": "KYC_AML_SCAN",
    "externalReferenceId": "c4da2526-2030-4c83-8f27-ccfa9edb2d5e",
    "isSubmissionFailure": false}
}

Note on the above:
isSubmissionFailure:true means something went wrong with the request sent to KYC services and received a failure response i.e. service failure

isSubmissionFailure:false means it was a valid response from KYC service and the customer failed KYC checks according to the configured set-up (i.e. hits on sanctions)."