Issue: refactor(router): add revenue_recovery_metadata to payment intent in diesel and api model for v2 flow

Add the following fields to the api and diesel models Feature meta data

retry_count: Total number of billing connector + recovery retries for a payment intent.

payment_connector_transmission: It's supposed to tell if the payment_connector has been called or not.

billing_connector_id: To update the invoice at billing connector.

active_attempt_payment_connector_id : Process tracker needs payment merchant connector account id to schedule the retry attempt.

billing_connector_mit_token_details : MIT related information given by billing connector contains two fields.
1. customer_id : Customer Id of the customer in billing connector
2. payment_processor_token : The token used by the payment processor to retry the payment.

payment_method_type: This represents payment Method type like Card,Crypto,Mandate etc..

payment_method_subtype : This represents the subtype of the payment method like Credit, CryptoCurrency etc..



Resolution: <think>
PR Context:
- Title: refactor(router):  add revenue_recovery_metadata to payment intent in diesel and api model for v2 flow
- Merged: 2025-02-14T11:41:35Z
- Files changed: 6 files
- Commits: 23 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
Adds the following fields to the api and diesel models Feature meta data

retry_count: Total number of billing connector + recovery retries for a payment intent.

payment_connector_transmission: It's supposed to tell if the payment_connector has been called or not. 

billing_con
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(router):  add revenue_recovery_metadata to payment intent in diesel and api model for v2 fl
Files to modify:


**crates/api_models/src/payments.rs**
  Add:
    - struct: pub::FeatureMetadata
    - struct: pub::PaymentRevenueRecoveryMetadata
    - struct: pub::BillingConnectorPaymentDetails

**crates/common_enums/src/enums.rs**
  Add:
    - enum: pub::PaymentConnectorTransmission

**crates/diesel_models/src/types.rs**
  Add:
    - struct: pub::FeatureMetadata
    - struct: pub::PaymentRevenueRecoveryMetadata
    - struct: pub::BillingConnectorPaymentDetails

**crates/hyperswitch_domain_models/src/lib.rs**
  Add:
    - function: private::convert_from
    - function: private::convert_back
    - function: private::convert_from
    - function: private::convert_back
    - function: private::convert_from
    - function: private::convert_back
    - impl: impl ApiModelToDieselModelConvertor<ApiFeatureMetadata> for FeatureMetadata
    - impl: impl ApiModelToDieselModelConvertor<ApiRevenueRecoveryMetadata> for PaymentRevenueRecoveryMetadata
    - impl: impl ApiModelToDieselModelConvertor<ApiBillingConnectorPaymentDetails> for BillingConnectorPaymentDetails

**crates/openapi/src/openapi_v2.rs**
  Modify existing code