Get Plan prices

**Request to Subscription Povider to get plans prices**
api/v2/item_prices?item_id[is]=cbdemo_enterprise-suite'

**Response from Subscription Provider**
```
{
    "list": [
        {
            "item_price": {
                "id": "cbdemo_enterprise-suite-INR-Daily",
                "name": "Enterprise Suite INR Daily",
                "item_family_id": "cbdemo_omnisupport-solutions",
                "item_id": "cbdemo_enterprise-suite",
                "status": "active",
                "external_name": "Enterprise Suite",
                "pricing_model": "flat_fee",
                "price": 10000,
                "period": 1,
                "currency_code": "INR",
                "period_unit": "day",
                "free_quantity": 0,
                "channel": "web",
                "resource_version": 1755510951486,
                "updated_at": 1755510951,
                "created_at": 1755510951,
                "is_taxable": true,
                "item_type": "plan",
                "show_description_in_invoices": false,
                "show_description_in_quotes": false,
                "deleted": false,
                "object": "item_price"
            }
        },
        {
            "item_price": {
                "id": "cbdemo_enterprise-suite-monthly",
                "name": "Enterprise Suite Monthly",
                "item_family_id": "cbdemo_omnisupport-solutions",
                "item_id": "cbdemo_enterprise-suite",
                "description": "Enterprise Suite billed monthly",
                "status": "active",
                "external_name": "Enterprise Suite Monthly",
                "pricing_model": "flat_fee",
                "price": 14100,
                "period": 1,
                "currency_code": "INR",
                "period_unit": "month",
                "free_quantity": 0,
                "channel": "web",
                "resource_version": 1754897341938,
                "updated_at": 1754897341,
                "created_at": 1754897341,
                "is_taxable": true,
                "item_type": "plan",
                "show_description_in_invoices": false,
                "show_description_in_quotes": false,
                "deleted": false,
                "object": "item_price"
            }
        },
        {
            "item_price": {
                "id": "cbdemo_enterprise-suite-annual",
                "name": "Enterprise Suite Annual",
                "item_family_id": "cbdemo_omnisupport-solutions",
                "item_id": "cbdemo_enterprise-suite",
                "description": "Enterprise Suite billed annually",
                "status": "active",
                "external_name": "Enterprise Suite Annual",
                "pricing_model": "flat_fee",
                "price": 169000,
                "period": 1,
                "currency_code": "INR",
                "period_unit": "year",
                "free_quantity": 0,
                "channel": "web",
                "resource_version": 1754897341789,
                "updated_at": 1754897341,
                "created_at": 1754897341,
                "is_taxable": true,
                "item_type": "plan",
                "show_description_in_invoices": false,
                "show_description_in_quotes": false,
                "deleted": false,
                "object": "item_price"
            }
        }
    ]
}
```
<think>
PR Context:
- Title: feat(connector): Add support for get plan prices for Chargebee
- Merged: 2025-09-19T08:20:28Z
- Files changed: 16 files
- Commits: 25 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR integrates the get plan prices endpoint for chargebee, required to be called in the respective API handler for the same (not yet implemented)

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies 
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connector): Add support for get plan prices for Chargebee (#9300)
Co-authored-by: hyperswitch-b
Files to modify:


**crates/hyperswitch_connectors/src/connectors/chargebee.rs**
  Add:
    - function: private::get_chargebee_plan_prices_query_params
    - function: private::get_headers
    - function: private::get_url
    - function: private::build_request
    - function: private::handle_response
    - function: private::get_error_response
    - impl: impl api::subscriptions::GetSubscriptionPlanPricesFlow for Chargebee
    - impl: impl ConnectorIntegration<
        GetSubscriptionPlanPrices,
        GetSubscriptionPlanPricesRequest,
        GetSubscriptionPlanPricesResponse,
    > for Chargebee
    - impl: impl GetSubscriptionPlanPricesV2 for Chargebee
    - impl: impl ConnectorIntegrationV2<
        GetSubscriptionPlanPrices,
        hyperswitch_domain_models::router_data_v2::flow_common_types::GetSubscriptionPlanPricesData,
        GetSubscriptionPlanPricesRequest,
        GetSubscriptionPlanPricesResponse,
    > for Chargebee

**crates/hyperswitch_connectors/src/connectors/chargebee/transformers.rs**
  Add:
    - function: private::try_from

**crates/hyperswitch_connectors/src/connectors/recurly.rs**
  Add:
    - impl: impl api::subscriptions_v2::GetSubscriptionPlanPricesV2 for Recurly
    - impl: impl ConnectorIntegrationV2<
        GetSubscriptionPlanPrices,
        GetSubscriptionPlanPricesData,
        GetSubscriptionPlanPricesRequest,
        GetSubscriptionPlanPricesResponse,
    > for Recurly

**crates/hyperswitch_connectors/src/default_implementations.rs**
  Remove:
    - impl: impl Subscriptions for connectors::DummyConnector<T>
  Add:
    - impl: impl GetSubscriptionPlanPricesFlow for $connector
    - impl: impl ConnectorIntegration<
            GetSubscriptionPlanPrices,
            GetSubscriptionPlanPricesRequest,
            GetSubscriptionPlanPricesResponse
            > for $connector
    - impl: impl Subscriptions for connectors::DummyConnector<T>
    - impl: impl GetSubscriptionPlanPricesFlow for connectors::DummyConnector<T>
    - impl: impl ConnectorIntegration<
        GetSubscriptionPlanPrices,
        GetSubscriptionPlanPricesRequest,
        GetSubscriptionPlanPricesResponse,
    > for connectors::DummyConnector<T>

**crates/hyperswitch_domain_models/src/router_data_v2/flow_common_types.rs**
  Add:
    - struct: pub::GetSubscriptionPlanPricesData

**crates/hyperswitch_domain_models/src/router_flow_types.rs**
  Modify existing code

**crates/hyperswitch_domain_models/src/router_flow_types/subscriptions.rs**
  Add:
    - struct: pub::GetSubscriptionPlanPrices

**crates/hyperswitch_domain_models/src/router_request_types/subscriptions.rs**
  Add:
    - struct: pub::GetSubscriptionPlanPricesRequest

**crates/hyperswitch_domain_models/src/router_response_types/subscriptions.rs**
  Add:
    - struct: pub::GetSubscriptionPlanPricesResponse
    - struct: pub::SubscriptionPlanPrices
    - enum: pub::PeriodUnit

**crates/hyperswitch_domain_models/src/types.rs**
  Modify existing code

**crates/hyperswitch_interfaces/src/api.rs**
  Modify existing code

**crates/hyperswitch_interfaces/src/api/subscriptions.rs**
  Add:
    - trait: pub::GetSubscriptionPlanPricesFlow
    - trait: private::GetSubscriptionPlanPricesFlow

**crates/hyperswitch_interfaces/src/api/subscriptions_v2.rs**
  Remove:
    - trait: pub::SubscriptionsV2
  Add:
    - trait: pub::SubscriptionsV2
    - trait: pub::GetSubscriptionPlanPricesV2

**crates/hyperswitch_interfaces/src/conversion_impls.rs**
  Remove:
    - function: private::from_old_router_data
    - function: private::to_old_router_data
    - impl: impl RouterDataConversion<T, Req, Resp> for GetSubscriptionPlansData

**crates/hyperswitch_interfaces/src/types.rs**
  Modify existing code

**crates/router/src/services/api.rs**
  Modify existing code
{"issue_number": 9054, "pr_number": 9300, "commits_count": 1, "files_changed": 16, "response_length": 4657, "file_count": 18, "needs_breakdown": true}