3.4 KiB
ADDED Requirements
Requirement: Discontinued packages SHALL remain renewable only for eligible existing customers
The H5/C client SHALL keep discontinued packages out of the ordinary package catalog shown to new customers and agents. An eligible existing customer SHALL be able to use a valid current_package_id from asset info or package_ids from a historical order to continue a package renewal.
Scenario: New customer opens the package catalog
- WHEN the package catalog contains a discontinued package that is not the customer's current package
- THEN the client SHALL not display that package as an ordinary purchase option
Scenario: Existing customer is using a discontinued current package
- WHEN asset info returns a discontinued package through
current_package_id - THEN the client SHALL expose that ID only in the eligible renewal context
- AND the client SHALL allow the customer to continue through the existing standard order/payment flow without navigating to the package catalog
Scenario: Existing customer renews from a historical order
- WHEN a historical order returns one or more valid
package_ids - THEN the client SHALL use those IDs for the renewal selection when the order-list renewal entry is used
- AND the client SHALL preserve the historical order data unchanged
Requirement: Renewal SHALL reuse the standard order creation contract
The client SHALL create a renewal by calling POST /api/c/v1/orders/create with the selected package ID or IDs, the asset identifier, and a currently allowed payment_method. It SHALL not invent or call a dedicated discontinued-package renewal endpoint.
Scenario: Submit a discontinued-package renewal
- WHEN an eligible customer confirms a renewal with an allowed payment method
- THEN the client SHALL submit the selected package IDs, identifier, and payment method to the standard order endpoint
- AND the client SHALL follow the standard payment response handling
Scenario: No eligible package ID is available
- WHEN neither asset info nor the relevant historical order supplies a valid package ID
- THEN the client SHALL show that renewal is unavailable
- AND the client SHALL not guess an ID from the ordinary package catalog
Requirement: Renewal buttons SHALL be limited to the homepage and order list
The client SHALL show an 立即续费 button in the homepage asset summary and in every order card in the order list. The client SHALL NOT show a renewal button in the order detail page, package catalog, package-order page, or other pages.
Scenario: Customer renews from the homepage
- WHEN the homepage asset summary is displayed
- THEN the client SHALL show an
立即续费button - AND tapping it SHALL directly start the standard order/payment flow for the asset's current package ID when one is available
Scenario: Customer renews from an order card
- WHEN an order is displayed in the order list
- THEN the client SHALL show an
立即续费button for that order - AND tapping it SHALL directly start the standard order/payment flow for that order's package IDs without navigating to the package-order page
Scenario: Customer views another page
- WHEN the customer views any page other than the homepage or order list
- THEN the client SHALL NOT show an
立即续费button