Issue:
[FEATURE] Add support for profile-specific default routing fallback 

### Feature Description

Currently every merchant has a default fallback which is a list of all of their configured connectors. We now want to make this profile-specific, i.e. each profile will have an associated default fallback that is a list of all the connectors associated with that profile.

This issue also entails development of Read/Write APIs for profile specific default fallbacks, and integration with the payments core. 

Further on , we can also later on add the `mca_id` as many connectors with the same name can be there under a single `profile_id`


### Possible Implementation

In interest of backwards compatibility, create two separate default fallback APIs for profiles (Read & Write). Additionally, implement profile-specific fallback usage in payments core routing with a feature flag. 

### Have you spent some time checking if this feature request has been raised before?

- [X] I checked and didn't find a similar issue

### Have you read the Contributing Guidelines?

- [X] I have read the [Contributing Guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md)

### Are you willing to submit a PR?

No, but I'm happy to collaborate on a PR with someone else

Resolution:
<think>
PR Context:
- Title: refactor(connector): [Paypal] Add support for both BodyKey and SignatureKey
- Merged: 2023-11-21T14:33:00Z
- Files changed: 2 files
- Commits: 23 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 -->
- Make PayPal support `SignatureKey` `auth_type`.
- Add extra fields in `orders` request.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application con
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(connector): [Paypal] Add support for both BodyKey and SignatureKey (#2633)
Co-authored-by: 
Files to modify:


**crates/router/src/connector/paypal.rs**
  Add:
    - function: private::construct_auth_assertion_header

**crates/router/src/connector/paypal/transformers.rs**
  Remove:
    - struct: pub::PaypalAuthType
  Add:
    - function: private::from
    - function: private::from
    - function: private::try_from
    - function: pub::get_client_secret
    - function: pub::get_payer_id
    - function: pub::generate_authorization_value
    - function: pub::get_credentials
    - struct: pub::OrderRequestAmount
    - struct: pub::AmountBreakdown
    - struct: pub::Payee
    - struct: pub::ItemDetails
    - struct: pub::ShippingAddress
    - struct: pub::ShippingName
    - struct: pub::StandardFlowCredentials
    - struct: pub::PartnerFlowCredentials
    - enum: pub::UserAction
    - enum: pub::ShippingPreference
    - enum: pub::PaypalAuthType
    - enum: pub::PaypalConnectorCredentials
    - impl: impl From<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for OrderRequestAmount
    - impl: impl From<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for ItemDetails
    - impl: impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for ShippingAddress
    - impl: impl PaypalAuthType
    - mod: pub::auth_headers