## ADDED Requirements ### Requirement: 已绑定设备的卡不允许单独购买套餐 购买套餐验证时,系统 MUST 检查目标 IoT 卡是否为独立卡(`is_standalone = true`)。若卡已绑定设备(`is_standalone = false`),必须拒绝购买并引导用户至对应设备页面操作。 此规则适用于所有套餐购买入口(C 端个人客户、B 端代理/平台)。 #### Scenario: 独立卡正常购买 - **WHEN** 买家为 IoT 卡购买套餐,该卡的 `is_standalone = true`(未绑定任何设备) - **THEN** 验证通过,继续后续购买流程 #### Scenario: 已绑定设备的卡被单独购买 - **WHEN** 买家使用 IoT 卡的 ICCID 或 VirtualNo 购买套餐,该卡的 `is_standalone = false` - **THEN** 系统拒绝购买,返回错误码 `CodeInvalidParam`,错误消息"该卡已绑定设备,请前往设备页面购买套餐" #### Scenario: B 端代理通过卡标识符购买套餐(绑定了设备的卡) - **WHEN** 代理使用已绑定设备的卡的 ICCID 创建订单 - **THEN** 系统在 `ValidateCardPurchase()` 中检查 `is_standalone`,返回错误,订单不创建