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: feat(connector): worldpay - add dynamic fields and update terminal status mapping
- Merged: 2024-11-28T14:50:09Z
- Files changed: 17 files
- Commits: 14 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
This PR contains changes to
- update status mapping for Worldpay - payments and refunds
- add required fields for Worldpay
- fix refund retrieve bug for Worldpay

Described in detail - #6316 point # 5

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] Thi
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connector): worldpay - add dynamic fields and update terminal status mapping (#6468)
Files to modify:


**crates/diesel_models/src/query/payment_attempt.rs**
  Modify existing code

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

**crates/hyperswitch_connectors/src/connectors/worldpay/transformers.rs**
  Add:
    - function: private::from
    - impl: impl From<PaymentOutcome> for enums::RefundStatus

**crates/hyperswitch_domain_models/src/payments/payment_attempt.rs**
  Modify existing code

**crates/router/src/configs/defaults/payment_connector_required_fields.rs**
  Add:
    - function: pub::get_worldpay_billing_required_fields

**crates/router/src/core/refunds.rs**
  Modify existing code

**crates/router/src/db/kafka_store.rs**
  Modify existing code

**crates/storage_impl/src/mock_db/payment_attempt.rs**
  Modify existing code

**crates/storage_impl/src/payments/payment_attempt.rs**
  Modify existing code