[FEATURE] integrate NTI flow for Worldpay and Novalnet

### Feature Description

Processing card payments using Network Transaction ID is required for below payment processors -
- Fiuu
- Novalnet
- Worldpay

This helps make card payments agnostic to the acquirer.

### Possible Implementation

Fiuu - closed source
Novalnet - https://developer.novalnet.com/encryption/directapi (include `transaction.scheme_tid`)
Worldpay - https://developer.worldpay.com/products/access/payments/openapi/other/payment#other/payment/request (Unscheduled payments)

### 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?

Yes, I am willing to submit a PR!
<think>
PR Context:
- Title: feat(connectors): fiuu,novalnet,worldpay - extend NTI flows
- Merged: 2025-01-21T08:42:05Z
- Files changed: 19 files
- Commits: 14 commits

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

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

## Description
Described in #6941 

This PR adds NTI flow integrations for below connectors

- Fiuu - store NTI ID in `payment_methods` from connector's PSync response
- Novalnet - use NTI ID for card payments
- Worldpay - store and use NTI ID for card payments

### Additional Changes

- [
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connectors): fiuu,novalnet,worldpay - extend NTI flows (#6946)
Co-authored-by: hyperswitch-bot[
Files to modify:


**crates/hyperswitch_connectors/src/connectors/fiuu.rs**
  Modify existing code

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

**crates/hyperswitch_connectors/src/connectors/novalnet/transformers.rs**
  Add:
    - struct: pub::NovalnetRawCardDetails

**crates/hyperswitch_connectors/src/connectors/worldpay.rs**
  Add:
    - function: private::get_mandate_details
    - function: private::get_network_txn_id

**crates/hyperswitch_connectors/src/connectors/worldpay/requests.rs**
  Add:
    - struct: pub::RawCardDetails

**crates/hyperswitch_connectors/src/connectors/worldpay/response.rs**
  Modify existing code

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

**crates/hyperswitch_connectors/src/utils.rs**
  Add:
    - function: private::get_card_expiry_year_2_digit
    - function: private::get_card_issuer
    - function: private::get_card_expiry_month_year_2_digit_with_delimiter
    - function: private::get_expiry_date_as_yyyymm
    - function: private::get_expiry_date_as_mmyyyy
    - function: private::get_expiry_year_4_digit
    - function: private::get_expiry_date_as_yymm
    - function: private::get_expiry_date_as_mmyy
    - function: private::get_expiry_month_as_i8
    - function: private::get_expiry_year_as_i32
    - function: private::get_expiry_year_as_4_digit_i32
    - function: private::get_cardholder_name
    - impl: impl CardData for CardDetailsForNetworkTransactionId

**crates/router/src/configs/defaults/payment_connector_required_fields.rs**
  Modify existing code
{"issue_number": 6941, "pr_number": 6946, "commits_count": 1, "files_changed": 19, "response_length": 2509, "file_count": 11, "needs_breakdown": false}