Marketplace
Submit Merchant KYC
Submit a KYC application on behalf of a sub-merchant.
POST
Submit Merchant KYC
Submits a Know Your Customer (KYC) application for a sub-merchant in your marketplace. This is required before a merchant can receive payouts.The merchant must already exist in your marketplace. Create or link them first via Create Merchant before submitting KYC.
How KYC Works
Khaime uses a unified KYC system that routes to the appropriate provider based on the merchant’s country:
For African markets (NG, GH, ZA, KE): You submit identity documents, business info, and bank details directly. Khaime reviews and approves.
For other markets: The merchant completes Stripe’s hosted onboarding flow. You receive a URL to redirect them — Stripe collects all identity and business information directly.
Path Parameters
The ID of the sub-merchant.
Request Body
For African Countries (Khaime KYC)
You can submit KYC data in two formats:- Structured format (recommended) — Uses
owner,business, andbank_accountobjects - Flat format (legacy) — Individual fields at the root level
- Structured Format (Recommended)
- Flat Format (Legacy)
Core Fields
ISO 3166-1 alpha-2 country code. Must be one of:
NG, GH, ZA, KE.Type of account. One of:
individual, registered_business.Owner Object (Required)
Theowner object contains information about the business owner or individual.Owner/individual information.
Business Object (Required for registered_business)
Required when
account_type is registered_business.Bank Account Object (Optional)
Bank details can be submitted with KYC or added later via Add Bank Account.Payout bank account details.
*Either
bank_name or bank_id is required.Address Object
Used in bothowner.address and business.address.For Other Countries (Stripe Connect)
For non-African countries, Khaime uses Stripe Connect for identity verification. You only need to provide minimal information — Stripe collects everything else directly from the merchant through their secure hosted onboarding flow.What Stripe Collects: Personal information, government ID, business details, bank account for payouts, and tax information. All data is collected securely by Stripe — it never passes through your servers.
ISO 3166-1 alpha-2 country code (e.g.
US, GB, CA, DE, FR, AU).The type of business. One of:
individual, registered_business. Defaults to individual.Settlement currency for payouts. Automatically derived from country — you typically don’t need to specify this.
URL to redirect the merchant after they complete Stripe onboarding. This should be a page on your platform that handles the post-onboarding flow (e.g., shows a success message or redirects to their dashboard).
URL to redirect the merchant if the Stripe onboarding link expires or they need to restart. Typically the same page that initiates KYC.
Stripe Onboarding Flow
Response
African Countries (Khaime KYC)
Other Countries (Stripe Connect)
Response Fields
KycSubmission Object (Source of Truth)
All KYC and bank data is stored in the KycSubmissions table. This is the single source of truth.KYC Status Flow
approved in the response).
Error Codes
Next Steps
- Check the submission outcome with Get KYC Status
- If rejected, use Resubmit KYC with corrected documents
- Add bank details later with Add Bank Account if not provided at submission
