## 1. Request contract and routing - [x] 1.1 Audit order and wallet payment creation adapters to keep the documented endpoint paths and required fields unchanged. - [x] 1.2 Ensure no payment creation request accepts or forwards a merchant ID; keep `app_type` conditional on WeChat payment only. - [x] 1.3 Document the backend-owned merchant-pool selection and the fact that the client must issue one creation request per accepted user action. ## 2. Failure and unknown-result handling - [x] 2.1 Handle explicit pre-order failures as terminal for the current attempt and display the backend-provided error code/message. - [x] 2.2 Ensure timeout, connection interruption, and other unknown creation results do not trigger merchant switching or a second automatic creation request. - [x] 2.3 Keep status polling/refresh flows read-only; they must reconcile order or recharge state without creating another payment. - [x] 2.4 Provide a deliberate, user-visible retry path only after the current order/payment state can be safely reconciled, preserving existing submit guards. ## 3. Attempt accounting and regression verification - [x] 3.1 Verify client behavior does not treat a failed or unknown attempt as free and does not loop until payment succeeds. - [x] 3.2 Verify package order creation and wallet recharge each make at most one payment-creation call per accepted submission. - [x] 3.3 Verify WeChat, Alipay, and wallet result handling remains unchanged after routing-policy updates. - [x] 3.4 Verify API error codes/messages are passed through according to the interface documentation.