Klarna Kustom Checkout (KCO) integration

Klarna provides two payment methods:
1. Klarna Payments (for US)
2. Klarna Kustom Checkout (for EU)

Any one of the methods can be used at a time and switching between Klarna Payments and Klarna Checkout is been done. Based on the PML got, there will be a switching between Klarna Payments and Klarna Checkout.
The redirect_to_url link from response is used to complete the payment.

Linking the original PR here https://github.com/juspay/hyperswitch/pull/6590
To implement this **search_filter** feature, you'll need to modify these architectural layers:


**1. API Request/Response Models**
   - `crates/api_models/src/payments.rs`

**2. Database Layer (Queries & Schema)**
   - `crates/diesel_models/src/types.rs`

**3. Domain Models (Business Logic Types)**
   - `crates/hyperswitch_domain_models/src/lib.rs`
   - `crates/hyperswitch_domain_models/src/payment_method_data.rs`
   - `crates/hyperswitch_domain_models/src/router_request_types.rs`

**4. Core Business Logic**
   - `crates/router/src/core/payments/operations/payment_confirm.rs`
   - `crates/router/src/core/payments/operations/payment_create.rs`
   - `crates/router/src/core/payments/transformers.rs`

**5. External Connector Integration**
   - `crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs`
   - `crates/hyperswitch_connectors/src/connectors/square/transformers.rs`
   - `crates/hyperswitch_connectors/src/connectors/zen/transformers.rs`
   - ... and 12 more files

**6. Type Definitions**
   - `crates/router/src/types.rs`
   - `crates/router/src/types/transformers.rs`

**7. Other**
   - `api-reference-v2/openapi_spec.json`
   - `api-reference/openapi_spec.json`
   - `crates/openapi/src/openapi.rs`
   - ... and 1 more files

**Code Patterns Applied:**
- Define new data structures (7 changes)
- Implement new functions (2 changes)
- Extend existing types with new fields (143 changes)
- Add conditional logic for feature flags or filtering (1 changes)

**Detailed Identifier Changes:**


Commit c525c9f4:
Files to modify:


**crates/api_models/src/payments.rs**
  Modify existing code

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

**crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/connectors/square/transformers.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/connectors/zen/transformers.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/utils.rs**
  Modify existing code

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

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

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

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

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

**crates/router/src/connector/adyen/transformers.rs**
  Modify existing code

**crates/router/src/connector/klarna.rs**
  Modify existing code

**crates/router/src/connector/klarna/transformers.rs**
  Modify existing code

**crates/router/src/connector/nuvei/transformers.rs**
  Modify existing code

**crates/router/src/connector/paypal/transformers.rs**
  Modify existing code

**crates/router/src/connector/stripe/transformers.rs**
  Modify existing code

**crates/router/src/connector/utils.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_confirm.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_create.rs**
  Modify existing code

**crates/router/src/core/payments/transformers.rs**
  Modify existing code

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

**crates/router/src/types/api/verify_connector.rs**
  Modify existing code

**crates/router/src/types/transformers.rs**
  Modify existing code

**crates/router/tests/connectors/payme.rs**
  Modify existing code

**crates/router/tests/connectors/utils.rs**
  Modify existing code

**crates/router/tests/connectors/zen.rs**
  Modify existing code
{"pr_number": 6839, "pr_title": "FEAT(klarna): Klarna Kustom Checkout Integration", "merged_at": "2024-12-19T08:50:07Z", "intent": {"feature_type": "search_filter", "action": "add_feature", "entities": ["customer", "payment", "merchant"]}, "hierarchy": {"api_models": ["crates/api_models/src/payments.rs"], "database": ["crates/diesel_models/src/types.rs"], "domain": ["crates/hyperswitch_domain_models/src/lib.rs", "crates/hyperswitch_domain_models/src/payment_method_data.rs", "crates/hyperswitch_domain_models/src/router_request_types.rs"], "core_business": ["crates/router/src/core/payments/operations/payment_confirm.rs", "crates/router/src/core/payments/operations/payment_create.rs", "crates/router/src/core/payments/transformers.rs"], "connectors": ["crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs", "crates/hyperswitch_connectors/src/connectors/square/transformers.rs", "crates/hyperswitch_connectors/src/connectors/zen/transformers.rs", "crates/hyperswitch_connectors/src/utils.rs", "crates/router/src/connector/adyen/transformers.rs", "crates/router/src/connector/klarna.rs", "crates/router/src/connector/klarna/transformers.rs", "crates/router/src/connector/nuvei/transformers.rs", "crates/router/src/connector/paypal/transformers.rs", "crates/router/src/connector/stripe/transformers.rs", "crates/router/src/connector/utils.rs", "crates/router/src/types/api/verify_connector.rs", "crates/router/tests/connectors/payme.rs", "crates/router/tests/connectors/utils.rs", "crates/router/tests/connectors/zen.rs"], "types": ["crates/router/src/types.rs", "crates/router/src/types/transformers.rs"], "other": ["api-reference-v2/openapi_spec.json", "api-reference/openapi_spec.json", "crates/openapi/src/openapi.rs", "crates/openapi/src/openapi_v2.rs"]}, "change_types": {"structs_added": 7, "functions_added": 2, "enums_added": 4, "fields_added": 143, "imports_added": 1, "conditionals_added": 1}, "has_identifier_data": true, "commits_matched": 1, "match_method": "pr_number"}