Issue:
[FEATURE] statement_descriptor_suffix and statement_descriptor_name not being sent to Adyen. Please implement.

### Feature Description

It is important to be able to have custom statements (and also it is available feature on Stripe), so it should be on Adyen as well.

### Possible Implementation

It should propagate to `shopperStatement` in the Adyen't API

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

None

Resolution:
<think>
PR Context:
- Title: refactor(connector): [adyen] add more fields in the payments request
- Merged: 2024-03-11T10:13:22Z
- Files changed: 3 files
- Commits: 6 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [X] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->

- Add shopper statement and metadata in payments request
- Add additional fields and validations over fields like `IP address`, `billing_address`, `Email` and Shopper details

### Additional Changes

- [ ] This PR modifies the API contr
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(connector): [adyen] add more fields in the payments request (#4010)
Files to modify:


**crates/router/src/connector/adyen/transformers.rs**
  Remove:
    - impl: impl TryFrom<(&api::PayLaterData, Option<api_enums::CountryAlpha2>)> for value
  Add:
    - function: private::build_shopper_reference
    - function: pub::check_required_field
    - impl: impl TryFrom<(
        &api::PayLaterData,
        &Option<api_enums::CountryAlpha2>,
        &Option<Email>,
        &Option<String>,
        &Option<ShopperName>,
        &Option<Secret<String>>,
        &Option<Address>,
        &Option<Address>,
    )> for (
            pay_later_data,
            country_code,
            shopper_email,
            shopper_reference,
            shopper_name,
            telephone_number,
            billing_address,
            delivery_address,
        )

**Commit 2:** refactor(connector): [adyen] add more fields in the payments request (#4010)
Files to modify:


**crates/router/src/connector/adyen/transformers.rs**
  Remove:
    - impl: impl TryFrom<(&api::PayLaterData, Option<api_enums::CountryAlpha2>)> for value
  Add:
    - function: private::build_shopper_reference
    - function: pub::check_required_field
    - impl: impl TryFrom<(
        &api::PayLaterData,
        &Option<api_enums::CountryAlpha2>,
        &Option<Email>,
        &Option<String>,
        &Option<ShopperName>,
        &Option<Secret<String>>,
        &Option<Address>,
        &Option<Address>,
    )> for (
            pay_later_data,
            country_code,
            shopper_email,
            shopper_reference,
            shopper_name,
            telephone_number,
            billing_address,
            delivery_address,
        )