Issue:
[REFACTOR] Worldpay payments integration

### Feature Description

WorldPay payments integration currently makes use of modular APIs which gives more control over the integration. This approach is not best compatible with HyperSwitch due to WP's 3DS flows - which requires sending PAN (card numbers) in multiple places. For `on_session` transactions, this would contribute to the added complexity since data is not stored in such transactions (or stored for ~15mins in redis cache).

Migrating to WP's standard payments API follows payment resource creation in an uniform way.

### Possible Implementation

Migrate from modular APIs [[ref](https://developer.worldpay.com/products/access/card-payments)] to standard payment APIs [[ref](https://developer.worldpay.com/products/access/payments/openapi)].

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

Resolution:
<think>
PR Context:
- Title: refactor(connector): [WorldPay] migrate from modular to standard payment APIs
- Merged: 2024-10-21T10:24:32Z
- Files changed: 12 files
- Commits: 30 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
Described in #6316 


### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Following a
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(connector): [WorldPay] migrate from modular to standard payment APIs (#6317)
Co-authored-by
Files to modify:


**crates/router/src/connector/utils.rs**
  Add:
    - function: private::get_capture_method

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

**crates/router/src/connector/worldpay/requests.rs**
  Remove:
    - struct: pub::WorldpayPaymentsRequest
    - struct: pub::Instruction
    - struct: pub::RequestAutoSettlement
    - struct: pub::CardToken
    - struct: pub::WalletPayment
    - struct: pub::ExpiryDate
    - enum: pub::PaymentInstrument
    - enum: pub::PaymentType
  Add:
    - struct: pub::WorldpayPaymentsRequest
    - struct: pub::Merchant
    - struct: pub::Instruction
    - struct: pub::CardPayment
    - struct: pub::CardToken
    - struct: pub::WalletPayment
    - struct: pub::ExpiryDate
    - struct: pub::AutoSettlement
    - enum: pub::PaymentInstrument
    - enum: pub::PaymentType

**crates/router/src/connector/worldpay/response.rs**
  Remove:
    - function: private::try_from
    - function: private::foreign_try_from
    - enum: pub::RefundOutcome
    - impl: impl ForeignTryFrom<Option<PaymentLinks>> for types::ResponseId
  Add:
    - struct: pub::AuthorizedResponse
    - struct: pub::FraudHighRiskResponse
    - struct: pub::RefusedResponse
    - struct: pub::ThreeDsResponse
    - struct: pub::DDCResponse
    - struct: pub::DDCToken
    - struct: pub::DDCActionLink
    - struct: pub::SelfLinkInner
    - struct: pub::ActionLinks
    - struct: pub::ActionLink
    - struct: pub::Fraud
    - enum: pub::WorldpayPaymentResponseFields
    - enum: pub::IssuerResponse
    - enum: pub::FraudOutcome

**crates/router/src/connector/worldpay/transformers.rs**
  Add:
    - function: private::try_from
    - struct: pub::WorldpayConnectorMetadataObject
    - impl: impl TryFrom<&Option<pii::SecretSerdeValue>> for WorldpayConnectorMetadataObject

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

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