EasyPay Plugin
The EasyPay plugin makes the system compatible with the EasyPay (EPay) protocol: business systems already integrated with EasyPay can switch to this platform for payment collection by changing the address only — no code changes. Menu: Extension Plugins → EasyPay.
Config is per app: enable it and configure the keys in the app workbench → Payment Config → EasyPay Config; the order pages covered in this guide are the query and handling entry points for EasyPay-protocol orders.
Enabling and Key Config
App workbench → EasyPay Config, three sections:
Basic integration
| Item | Description |
|---|---|
| Enable | Master switch; when off, the app rejects all EasyPay-protocol requests |
| EasyPay merchant number (PID) | Allocated automatically by the system per app; read-only |
| V1 / V2 endpoint URLs | Read-only; for integration parties to replace their original EasyPay addresses |
V1 protocol: when enabled, configure the MD5 key (corresponding to the traditional EasyPay KEY signature).
V2 protocol (on by default): by default it uses the system keys (reusing the app's existing signature system — recommended); after turning off "use system keys", it switches to an independent RSA key pair (the platform public key is displayed read-only, the merchant public key can be generated online, and the private key is shown once only).
No callbacks in the current release
The EasyPay protocol in this release sends no async notifications; integration parties must poll order status via the query API — state this clearly in migration docs.
EasyPay Orders
Menu: Extension Plugins → EasyPay → Orders. The protocol-side order view:
- Query: merchant order number, platform trade number, product name, protocol status (pending / paid), pay method, creation time;
- Detail: order info, time info, app & protocol (PID, app ID, protocol version, PC invocation mode), payment & callback (payer identifier, pay link, notify and redirect URLs, extra params);
- Actions:
- Sync status: actively queries the channel for the order's latest status (use when an order stays "pending" for long);
- Close order: only pending orders can be closed; a closed order cannot be paid further.
EasyPay Refund Orders
The refund view under the same path:
- Query: platform refund number, merchant refund number, merchant order number, platform trade number, refund status (processing / refunded), creation time;
- Detail: refund info, app & protocol, time info;
- Actions: Sync status (actively queries the channel result for in-progress refunds).
Differences from Normal Orders
| Dimension | EasyPay orders | Normal payment orders |
|---|---|---|
| Perspective | EasyPay-protocol fields (PID, protocol version, merchant order number) | The platform's unified order model (three-layer orders) |
| Status | Two protocol states: pending / paid | The full payment state machine and fund status |
| Amount unit | yuan | yuan (stored internally as fen in the database) |
| Purpose | Troubleshooting integration-party requests during migration | The main entry for daily transaction query and handling |
EasyPay orders ultimately map to platform payment orders; for fund-level reconciliation and refund handling, payment orders are authoritative.
Related Links
- App Configuration — the app-level home of EasyPay config
- EasyPay API — the protocol API docs
- Payment Orders — the platform order model