Payment Gateway: Payment Pages
Payment pages are where the payer pays in a browser: the unified cashier, QR terminal, and aggregate flows, plus the pay-result redirect and transfer confirmation, form the payment-facing side of the gateway. Scanning a code inside WeChat / Alipay opens the cashier mini-program — the two are one collection chain in two environments (see Overview for the division of work and link prefixes).
Unified Cashier
The landing page after pre-pay (/cashier/{order-no}), where the payer picks a payment method and pays:
- Page content: a large amount, a remaining-validity countdown (orange), the order title and order number;
- Payment method list: icon + name + a "Recommended" tag, single choice; when methods are locked (locked by the merchant), only the designated ones are selectable and the rest are greyed out;
- Pay action: after choosing a method, tap "Pay Now" at the bottom — the selection never auto-triggers payment, preventing mis-taps;
- Countdown expiry: the order expires and the pay button is disabled;
- Methods that need the user's identity (the WeChat JSAPI family, for example): automatically redirect for authorization to obtain the openId, then automatically resume the payment flow — invisible to the payer (mechanism in Authentication & Relay);
- After payment: QR-type methods display a QR code to scan; the others invoke the corresponding payment. The page polls the order status every 2 seconds (for about 3 minutes) and shows the result once a final state is reached;
- Redirect after success: when the order has a return URL configured, the result page counts down 3 seconds and returns to the merchant page automatically; re-opening an already-paid order does not redirect again — only a "Return to Merchant" button is shown.
Opening the same link in a desktop browser gives the web cashier: payment methods are shown in a four-column grid, and everything else works the same.
QR Terminal Payment
The payment page opened in a browser after scanning a static QR terminal (/h/{qr-terminal-no}):
- Page content: merchant avatar, QR terminal name, and the subtitle "Pay {merchant short name}";
- Flexible-amount QR terminals: enter the amount on a numeric keypad (up to two decimals); the keypad's confirm key is "Confirm Payment";
- Fixed-amount QR terminals: the amount is shown large — just tap "Confirm Payment";
- Remark: tap the remark row to enter one in a dialog (up to 50 characters); it is passed to the merchant with the order;
- Environment requirement: the QR terminal page goes through the corresponding channel when opened inside WeChat / Alipay / Douyin / UnionPay wallets; opened in a plain browser it prompts "please scan with your wallet" — the single-channel nature of a QR terminal means it only pays inside a wallet environment;
- Mini-program-type QR terminals (
mini_appprogram type) do not pay on the H5 side — scanning enters the mini-program directly.
Aggregate Pay
The confirmation page for aggregate scan orders (/aggregate/{order-no}): order title, amount, order number and countdown; tap "Pay Now" to finish; in supported scenarios payment is invoked automatically (the button becomes "Retry"). Available only inside wallet environments — a browser shows an unsupported notice.
Pay Result Page
The unified result page for channel redirects and completed payments (/pay-result/{trade-no}):
- Five states: success / failed / closed / expired / load failed;
- Polls every 2 seconds until a final state is reached (for about 3 minutes), refreshing automatically on change;
- On success with a return URL configured, counts down 3 seconds and returns to the merchant automatically; without a return URL, shows a "Close Page" button.
Transfer Confirmation
The payee confirmation page for WeChat merchant transfers (/transfer-confirm/{transfer-no}): the payee opens it inside WeChat, sees the amount and transfer number, taps confirm to invoke WeChat's confirm-receipt capability, and the page closes automatically once the transfer is accepted. Opening it outside WeChat prompts "please open in WeChat".
Desktop and Mobile Adaptation
The same link automatically serves two page sets by device:
- Mobile browser: the full checkout flow (enter amount / choose method / pay);
- Desktop browser: the unified cashier becomes the web cashier; QR terminal / aggregate pages show a "please scan with your phone" guide;
- Touch devices such as iPad are correctly detected as mobile;
- For debugging, append
?device=pc/?device=mobileto the link to force a form.
Who Determines the Payment Method List
The method list shown on the cashier = the merchant's cashier configuration (name / order / recommended / lock, maintained under "Cashier Config" in the merchant console) filtered by the open environment: the same order can show different options in a browser, WeChat, Alipay, UnionPay, or Douyin. The desktop cashier does not filter by environment and shows the Web bucket configuration.
Multi-language
Ten locales (Simplified / Traditional Chinese, English, Japanese, Korean + four ASEAN languages). The first visit auto-matches the browser language; a manual switch is remembered.
Related Links
- Overview: the responsibility map and the address-generation mechanism
- Authentication & Relay: the gateway pages beyond payment
- Deployment & Go-Live: build, deployment and the domain contract
- Cashier Mini-Program: the in-wallet payment form
- Gateway Payment: the three collection chains in detail