Skip to main content

Hosted Onboarding

NOAH Hosted Onboarding streamlines compliance for non-licensed payment providers operating in Standard Model KYC scenarios. Through this solution, NOAH establishes direct contractual relationships with your end customers, handling all KYB/KYC verification and Terms and Conditions acceptance on your behalf.

This approach allows you to leverage NOAH's comprehensive compliance and regulatory frameworks to facilitate secure payments without the complexity of managing regulatory requirements yourself, creating a seamless experience for both you and your customers.

1. Initiate a Hosted Onboarding Session

Submit a POST request to start a Hosted Onboarding session.

curl -L 'https://api.sandbox.noah.com/v1/onboarding/:CustomerID' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-Api-Key: <X-Api-Key>' \
-d '{
"Metadata": {},
"ReturnURL": "https://example.com",
"FiatOptions": [
{
"FiatCurrencyCode": "USD"
}
]
}'

As can be seen above, in your request, include your API Key in the header along with a CustomerID, the URL to which the user is redirected at the end of the Hosted Onboarding session, and the list of fiat options to be supported by the customer.

note

NOAH expects a full ReturnURL value, including the https://.

View the API Reference for Hosted Onboarding for detailed instructions on initiating a session.

The response will consist of a HostedURL, where the Hosted Onboarding session is ready for the customer to enter their details:

{"HostedURL":"https://checkout.sandbox.noah.com/kyc?session=xyz"}
2. Direct the Customer to Hosted Onboarding

Redirect your customer to the HostedURL to enter their details in the Hosted Onboarding session.

3. Customer Status Updates via Webhooks

Set up to receive notifications through webhooks about the status of the Hosted Onboarding session, which can be Pending, Approved, or Declined.

For more details, see Customer Webhooks.

4. Close the Hosted Onboarding Session

NOAH emits a postMessage once the onboarding process is complete. You can listen to this event in your application, as follows:

window.addEventListener('message', (event) => {
if (event.data?.type === 'kycCompleted') {
closeHostedSession(); // <-- Replace this with platform-specific close method
}
});
tip
  • The message sent is: { type: 'kycCompleted' }
  • It is sent once a valid KYC review status is detected.
tip

Be aware of Noah's integration with Sumsub. Provide a Sumsub token via the Prefill Customer Details endpoint, as described in KYC Platform. Once compliance profiles are added to Sumsub, any missing information can be requested via Dynamic Forms and/or a dynamic Hosted Onboarding session, as defined above. For details, see KYC Platform.