Application Configuration
An app (appId) is the invocation and configuration isolation unit under a merchant: unipay API calls are attributed per app, and payment routing, gateway payment, the cashier, and other configurations all hang on the app.
Menu path: Merchant Workbench → Payment Configuration → App Management (operations side); Merchant Panel → Merchant Center → Payment Configuration → App Management (same data).
App Management
The app list is a card grid (not a table): each card shows the app name, appId, enabled status, and a "Default" tag; clicking a card enters that app's App Workbench.
The New / Edit App form has only three fields:
| Field | Description |
|---|---|
| App name | Custom name |
| Status | Enabled / disabled |
| Default app | A switch, editable only in edit mode |
The appId is generated by the system (starting with A) and cannot be changed after creation; it never appears in the form.
Default App Rule
- The merchant's first app is automatically set as the default at creation; a merchant has at most one default app.
- unipay requests without an appId fall back to the default app; an explicit appId routes by the given value.
- Related error semantics: no appId passed and no default app, default app disabled, passed appId missing or disabled, appId and merchant number mismatch — each returns a distinct error code for easier diagnosis.
| Scenario | Consequence |
|---|---|
| Disable the default app | Orders that do not specify an appId will fail (the page asks for a second confirmation) |
| Delete the default app | Forbidden — transfer the default first, then delete |
| No default app | A yellow warning bar at the top of the list prompts to set a default |
App Workbench
Entered through "Enter configuration" on an app card, with two tile groups:
Payment Configuration
| Card | Function |
|---|---|
| Payment Routing | Specify which channel merchant each pay method of this app uses (multi-channel splitting) |
| Gateway Payment Config | Routing depth of QR plates / aggregate pay under each client environment |
| Cashier Config | Which pay methods the cashier page shows in each environment |
| Async Notify Config | Business-event callback URL, notification channel (HTTP / MQ), and event subscriptions — UI under construction in the current version |
| EasyPay Config | Compatibility access for the EasyPay V1/V2 protocols; see the EasyPay Plugin |
App Management: edit basic info, set / unset the default app, delete the app (strong confirmation; requires typing the app name).
Payment Routing
The base configuration that decides "which channel merchant a payment goes to"; one of the two strategy modes is active at a time (the toolbar offers "Set as active"):
| Mode | Granularity | Good for |
|---|---|---|
| By brand default | One default channel merchant per pay provider (WeChat / Alipay / UnionPay ...) | A single channel or a simple primary/backup setup |
| By method | A "channel merchant + capability" per pay method (wechat_jsapi, alipay_qr, ...) | Fine-grained splitting where different methods go through different channels |
Gateway Payment Config
Routing configuration for gateway links such as QR plates and aggregate pay. The dimensions are "client environment × payment form" (WeChat / Alipay / UnionPay QuickPass / Douyin environment × H5 / mini-program), with three modes per cell:
| Mode | Meaning |
|---|---|
| Follow channel routing | Use the resolution result of channel routing (recommended starting point) |
| Specify pay method | This cell is fixed to a specific pay method |
| Specify directly | Pick "channel merchant + capability" directly, skipping routing (troubleshooting / special scenarios) |
The bottom of the page embeds a routing preview: it shows the current routing hits (hits / total) and the gaps to fill, with a one-click jump to payment routing to complete the missing entries.
Cashier Config
Configure which payment items the unified cashier page displays in each environment: the first level splits into H5 / WEB / mini-program; H5 and mini-program are further bucketed by client environment (browser / WeChat / Alipay / UnionPay QuickPass / Douyin); each bucket maintains a payment item list (name, icon, recommended flag, sort order, resolution mode, and pay method).
Async Notify Config (under construction)
The UI is under construction in the current version; once available it will support a notification channel choice — HTTP callback (fill in the callback URL; subscribed events such as payment success / failure / closed / timeout and refund success / failure / closed are pushed) or MQ push (a per-app isolated topic; the merchant side subscribes persistently and does not lose messages while offline). For now, callback-chain troubleshooting can start from the Merchant Callback Push page.
How the three configs relate
Payment routing is the underlying routing strategy; gateway payment config decides how deep the routing goes on gateway links (QR plates / aggregate); cashier config only decides what the cashier page displays. Recommended initial setup: configure payment routing first, keep gateway payment on "follow", and adjust cashier display as needed.
Related Sections
- Merchant Management — the entry to app management and the merchant-domain panorama
- EasyPay Plugin — per-app EasyPay protocol configuration
- Gateway Payment — business notes on the unified cashier / aggregate scanning
- From Deployment to First Payment — where apps sit in the workflow