Consumer Onboarding
This tutorial walks you through the basic steps of integrating your fintech product with the Upwardli platform. In the documentation we describe both a UI-only and API + UI hybrid integration.
Summary
Consumer onboarding is a fully asynchronous process due to the KYC and Banking integrations, which are themselves asynchronous. Our design goal for a user interacting with the Onboarding component is to capture data in realtime, and then process asychronously. This will reduce elapsed consumer interaction time and improve the user experience.
UI Onboarding Walkthrough:
The following steps outline the steps encountered when onboarding a new consumer via our UI Components.
[Consumer] loads the onboarding embedded component in your app.
When you load the onboarding embedded component passing in the pcid property (your unique ID) as a query parameter. Once the consumer clicks “Get Started”, the UI component creates their consumer record using the Consumer API endpoint. The user’s pcid
will be set to the value you provide us, and we will generate a unique id on our side to identify this record internally and within our APIs.
[Upwardli] sends out a consumer.created webhook message to your server.
The Upwardli Severs will send a webhook message to you with the following general schema, indicating that the consumer record was created on our side.
[Consumer] Links the Upwardli ID to their Local Object
Upon receiving the webhook messge, you will parse it for the eventName property and determine that this message means that a new consumer was created. You can then call the url in the resources property to get information about that consumer.
Note
at the time of creation, the user has not completed KYC, so their personal data has not been captured and will be null
in the response body_
[Consumer] Completes the KYC step(s)
Once the user has successfully completed KYC, then we will send a further webhook with an event_name
of consumer.updated
When you retrieve the updated consumer record related to this webhook, you will see that the kyc_status
value has changed to complete
indicating that this consumer has successfully passed our KYC checks.
Tip
In the event that you do not receive the webhook or there are data processing/sync issues on your end, you can always call the get consumer by Partner Consumer ID endpoint: GET https://sandbox-api.upwardli.com/v2/consumer/pcid/{pcid}/
where the {pcid}
property is the internal ID you provided as a query parameter to the onboarding component.
Edge Cases / Unhappy path:
- If a user does not complete KYC, then you will only receive the first consumer.created message.
- If a user fails KYC, then we will send a consumer.updated webhook, with a kyc_status value of Failed. We will not open a credit line for any users who do not pass KYC.