Sub-merchant onboarding

Three ways to onboard sub-merchants under your platform — hosted, embedded, and API-driven.

View as MarkdownInstall skills

Before a sub-merchant can accept payments or receive payouts, VINR must verify their identity and register them under your platform account. There are three integration paths.

Onboarding modelsAsk

Hosted onboarding

VINR provides a hosted onboarding page. You redirect the sub-merchant to a VINR-generated URL; they complete identity and bank details; VINR redirects them back to your platform.

When to use: fastest integration; acceptable when a redirect is fine UX.

POST /v1/platform/sub-merchants
{
  "email": "seller@example.com",
  "return_url": "https://myplatform.com/onboarding/complete",
  "refresh_url": "https://myplatform.com/onboarding/retry"
}

→ { "onboarding_url": "https://onboarding.vinr.com/sm_..." }

Redirect the sub-merchant to onboarding_url. When they finish (or need to return), VINR calls your return_url or refresh_url.

Embedded onboarding

Render the onboarding flow inside your app using VINR's Embedded Components SDK. The sub-merchant never leaves your site.

When to use: branded experience is important; you want to control the visual context.

<VinrOnboarding
  subMerchantId="sm_..."
  onComplete={() => refetch()}
/>

The component handles multi-step collection (identity, bank account, business details), adaptive document prompts by country, and real-time verification status.

API-driven onboarding

Collect all information in your own UI and push it to VINR via API. Full control, highest engineering cost.

When to use: fully white-labeled product; you already collect this data for other purposes.

POST /v1/platform/sub-merchants
POST /v1/platform/sub-merchants/{id}/legal-entity
POST /v1/platform/sub-merchants/{id}/documents
POST /v1/platform/sub-merchants/{id}/bank-accounts

You are responsible for keeping document and compliance requirements current as regulations change.


Onboarding lifecycleAsk

created → identity_submitted → under_review → active

                              documents_required  (VINR sends webhook)

                              identity_submitted  (re-submission)
StatusMeaning
createdSub-merchant record exists; no data submitted yet
identity_submittedKYC/KYB data submitted; VINR reviewing
documents_requiredAdditional documents requested (webhook fired)
activeVerification passed; can accept payments and receive payouts
restrictedPartial capabilities only (e.g. can receive but not pay out)
suspendedAccount suspended; contact platform support

WebhooksAsk

Subscribe to these events to drive onboarding UI state:

EventTrigger
sub_merchant.createdNew sub-merchant registered
sub_merchant.verification.documents_requiredDocuments needed; payload lists which
sub_merchant.verification.completeVerification passed; account active
sub_merchant.verification.failedVerification failed; payload includes reason
sub_merchant.suspendedAccount suspended

Networked onboardingAsk

Sub-merchants who already have a VINR account (from another platform) can reuse their verified identity. They authorize your platform to access their existing account — no re-submission of documents.


Next stepsAsk

Was this page helpful?

On this page