Skip to content

Channel Merchants ​

Updated: 10/14/26, 1:50:54 PM

A merchant is a record on the platform side, while a channel merchant is that merchant's receiving identity on a specific payment channel (WeChat, Alipay, Lakala...). To accept payments, a merchant must have at least one enabled channel merchant; routing, gateway checkout and allocation all hang off channel merchants. For merchant records themselves, see Merchant Management.

Concept Overview ​

  • One merchant can have channel merchants on multiple channels: a channel merchant = merchant × payment product. For example, a merchant may have "WeChat (ISV)", "Alipay (direct)" and "Lakala" channel merchants at the same time.
  • The payment product decides the form: you pick a product when creating; the product carries the channel and mode (ISV / direct). In ISV mode you enter the sub-merchant number on the channel side (e.g. a WeChat special merchant); in direct mode you enter the merchant number and credentials directly.
  • Immutable after creation: the payment product and the system-generated channel merchant number cannot be changed; only the channel merchant name can be edited.
  • The environment flag is frozen at creation: if the product is in sandbox mode at creation time, the channel merchant is flagged "sandbox" — even if the product later switches back to production, this flag does not change (see the environment section of Payment Product Configuration).

Two Entry Points ​

EntryLocationCharacteristics
Global listMerchant Management → Channel MerchantsCross-merchant view, filterable by channel merchant number, name and owning merchant; creation from here starts with picking a merchant
Merchant workbenchMerchant Management → Merchant List → Manage → Merchant Workbench → Channel MerchantsLocked to one merchant; the list shows all its channel merchants, and creation skips the merchant step

Both entries share the same data and detail pages. For day-to-day provisioning of a specific merchant, the workbench entry is the smoothest.

Creating a Channel Merchant ​

From the merchant workbench, the flow is "pick product → fill channel config → done". Starting from the global list adds a merchant-picking step in front.

  1. Pick a payment product: filter product cards by mode (ISV / direct) at the top. Only enabled products are listed; if a product is currently in sandbox mode and sandbox is available, a sandbox badge appears on the card to warn that this provisioning will land in the sandbox.

  2. Fill in the channel config: the form is loaded per product, usually "channel merchant name + channel-side number". Typical fields:

    ProductFields
    WeChat (ISV)Channel merchant name, special (sub) merchant number
    WeChat (direct)Channel merchant name, WeChat merchant number
    Alipay (ISV)Sub-merchant number, owning ISV app, optional auth token or QR-scan authorization
    OthersChannel merchant name + their own numbers/credentials, per the on-page form
  3. Done: close the page after success; the new channel merchant appears in the list.

The channel merchant number is system-generated

The "channel merchant number" is generated by the platform and globally unique — it is not your number on the channel side. Channel-side numbers (such as a special merchant number) are separate form fields.

Managing a Channel Merchant ​

Click "Manage" in the list to open the detail page, organized as grouped cards (groups vary slightly by channel):

GroupContent
Basic managementView basic info, rename the channel merchant (some channels show extra info, e.g. the WeChat special merchant number)
Trade configAllocation receivers (for allocation-capable products); Alipay direct also has transfer scene management
App managementChannel-side apps (Alipay apps, WeChat capability binding, etc., depending on the channel)
Terminal ledgerUnder development, not yet available
Danger zoneDelete the channel merchant (see deletion rules below)

Enable / disable: use the status switch on each list row. Disabling immediately stops this channel merchant from receiving payments and routing will no longer hit it; enabling restores it. The configuration health check raises alerts like "no usable channel merchant under this merchant" — follow the prompt to provision one.

Allocation Receivers ​

To use allocation, "allocation receivers" (accounts that receive allocated funds) must be registered on the channel side. Entry: detail page → Trade Config → Allocation Receivers, which opens a drawer.

Available receiver types depend on the product: WeChat (merchant ID / openid; ISV mode also supports sub-merchant openid), Alipay (user ID / login name), Douyin (merchant ID / openid).

ActionDescription
Add receiverFill in type, account and name; pick the allocation relation and binding app per product, then submit — submitting initiates the binding on the channel side
Obtain account by QRFor openid / user ID types, generate an authorization QR code for the payee to scan; the account is filled back automatically on success (WeChat and Douyin require an app to be selected first, otherwise the account dimension won't match)
RebindFailed or unbound records can retry with a different app (typical case: the previous failure was caused by picking the wrong app)
Edit aliasThe alias is a platform-side note, never sent to the channel; editable in any state
UnbindOnly bound records can be unbound (dangerous — it affects fund flow on the channel side; requires confirmation)
DeleteOnly non-bound records can be deleted — this removes the platform-side record only and does not affect the channel-side binding

Failed bindings leave a trace

If the channel side returns failure on submit, the record is kept with a "bind failed" status and the reason is visible in its detail; fix it and use "Rebind" instead of deleting and recreating.

Deletion Rules ​

Deletion lives in the detail page's danger zone and requires typing the channel merchant name to confirm. Rules:

  • A channel merchant with transactions, orders or refunds cannot be deleted (those records trace back to it);
  • Deletion also cleans up its route config, gateway config and related data;
  • If you simply want it out of use, use the disable switch on the list row instead of deleting.