Skip to main content
Version: 2019-05-29 (Current)

Create a sub-merchant

Create a new sub-merchant under your platform account. Sub-merchants can be individuals or businesses that process payments through your marketplace or platform.


Request Parametersโ€‹

Required - 6 fieldsRequired Parameters
โ–ผ
`name`STRING(required)
Sub-merchant display name (business name or individual name).
Example:"Acme Electronics Store"
`type`STRING(required)
Sub-merchant type.
Example:"business"
Values:individual, business
`email`STRING(required)
Primary contact email for the sub-merchant.
Example:"contact@acme-electronics.com"
`bank_account.brand`STRING(required)
Bank code (bbl, kbank, scb, ktb, bay, tmb, etc.).
Example:"kbank"
`bank_account.number`STRING(required)
Bank account number for settlements (no spaces or dashes).
Example:"1234567890"
`bank_account.name`STRING(required)
Account holder name as registered with bank (must match exactly).
Example:"ACME ELECTRONICS CO LTD"
Business - 4 fieldsBusiness Information
โ–ผ
`business_name`STRING(optional)
Registered legal business name (required for business type).
Example:"Acme Electronics Co., Ltd."
`business_registration_number`STRING(optional)
Official business registration number (required for business type).
Example:"0123456789012"
`tax_id`STRING(optional)
Tax identification number.
Example:"1234567890123"
`business_category`STRING(optional)
Business category or industry code.
Example:"electronics_retail"
Values:electronics_retail, fashion, food_beverage, health_beauty, home_garden, services, other
Contact - 4 fieldsContact Information
Additional - 3 fieldsAdditional Parameters

Responsesโ€‹

200

Successful creation

Sub-merchant created successfully. Note that status: pending by default until verification completes.

Response includes:
  • id - Unique sub-merchant identifier (subm_xxx)
  • status - Current status (pending, active, suspended, deactivated, rejected)
  • livemode - Whether this is a live or test sub-merchant
  • created_at - Creation timestamp
  • bank_account - Bank account details (number masked for security)

400

Bad request

Request validation failed. Check the error message for details.

Common causes:
  • Missing required fields (name, type, email, bank_account fields)
  • Invalid email format
  • Invalid bank account format
  • Invalid sub-merchant type
  • Malformed metadata

401

Unauthorized

Authentication failed. Invalid or missing API key.

Common causes:
  • Missing Authorization header
  • Invalid secret key
  • Using public key instead of secret key
  • Incorrect HTTP Basic Auth format

404

Not found

Platform account not found or sub-merchant feature not enabled.

Common causes:
  • Account is not a platform account
  • Sub-merchant feature not enabled
  • Contact support to enable platform features

422

Unprocessable entity

Sub-merchant validation failed.

Common causes:
  • Duplicate sub-merchant (email or business registration already exists)
  • Invalid bank account number
  • Business category not supported in your region
  • Missing required business information for business type

5xx

Server error

Server-side error occurred. These are rare but should be handled gracefully.

How to handle:

Code samplesโ€‹

curl https://api.omise.co/sub_merchants \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "name=Acme Electronics Store" \
-d "type=business" \
-d "email=contact@acme-electronics.com" \
-d "business_name=Acme Electronics Co., Ltd." \
-d "business_registration_number=0123456789012" \
-d "tax_id=1234567890123" \
-d "bank_account[brand]=kbank" \
-d "bank_account[number]=1234567890" \
-d "bank_account[name]=ACME ELECTRONICS CO LTD"

Error and result codesโ€‹

Common Error Codesโ€‹

CodeDescriptionResolution
bad_requestMissing or invalid parametersCheck all required fields are provided
authentication_failureInvalid API keyVerify your secret key is correct
invalid_bank_accountBank account number invalidVerify account number is correct
duplicate_merchantSub-merchant already existsCheck if email or registration number is already used
unsupported_bankBank not supportedCheck supported banks list
platform_not_enabledPlatform features not enabledContact support to enable platform account

Sub-Merchant Typesโ€‹

TypeDescription
individualPersonal accounts for individual sellers
businessCorporate or business accounts

Sub-Merchant Statusesโ€‹

StatusDescription
pendingAwaiting verification
activeVerified and can process payments
suspendedTemporarily disabled
deactivatedPermanently removed
rejectedVerification failed

๐Ÿ”‘API Credentials

Try it outโ€‹

Required - 6 fields
โ–ผ
Recommended - 4 fields
Additional - 4 fields
Your IP: ...Loading...