Issue:
[FEATURE] Implementing iDEAL and Giropay payment methods with Multisafe

### Feature Description

Add iDEAL and Giropay payment processors in [Multisafepay](https://docs.hyperswitch.io/hyperswitch-cloud/connectors/available-connectors/multisafepay) connector.

Whole description can be found in #4143 discussion.

### Possible Implementation


## Proposal: **Implementing iDEAL and Giropay payment methods with Multisafe** #4143

### Objective
Add iDEAL and Giropay payment processors in [Multisafepay](https://docs.hyperswitch.io/hyperswitch-cloud/connectors/available-connectors/multisafepay) connector. 
### Background
Currently multisafepay provides various payment processors from Banking Methods, BNPL, Credit and Debit cards, Prepaid cards and Wallets segment. From these hyperswitch's multisafepay connector provides support for credit cards and debit cards, mendate payements, GooglePay, Paypal and Klarna only. iDEAL and Giropay are from "Banking Methods" category. 
#### iDeal
iDeal has direct and re-directed flow which is showed below:
![iDeal payment-flow](https://github.com/juspay/hyperswitch/assets/52617262/6356d5cf-e955-4dad-a7c7-2008b8286bfa)

**direct**:  given **iDEAL issuer code** user customer will be directly redirected to the bank’s 
page
**redirect:** Redirect customer to payment’s page to select their bank.
#### Giropay
giropay has only redirect flow which is exactly same flow as iDEAL’s redirect flow.
![Giropay payment-flow](https://github.com/juspay/hyperswitch/assets/52617262/c4cf915d-ccb4-4062-9595-3a283b56f70b)

### Approach
For iDeal deciding direct or re-direct payment type:
If bank name is provided in `PaymentMethodData` then direct path should be used otherwise redirect.  If direct flow is selected then in `MultisafepayPaymentsRequest` ’s `gateway_info` must have **`issuer_id`** field. 

List of iDEAL issuers and respective code is given below ([source](https://docs.multisafepay.com/reference/listidealissuers))

| Code | Description           |
| ---- | --------------------- |
| 0031 | ABN AMRO              |
| 0761 | ASN Bank              |
| 4371 | bunq                  |
| 1235 | Handelsbanken         |
| 9927 | Nationale Nederlanden |
| 9926 | N26                   |
| 0721 | ING                   |
| 0801 | Knab                  |
| 0021 | Rabobank              |
| 0771 | Regio Bank            |
| 1099 | Revolut               |
| 0751 | SNS Bank              |
| 0511 | Triodos Bank          |
| 0161 | Van Lanschot Bankiers |
| 0806 | Yoursafe              |
Only these banks should be allowed in `PaymentMethodData` for iDEAL.
#### Implementation 

All the changes will be in `connector/multisafepay.rs` file and in the enums and traits for request object

- Add `Ideal` and `Giropay` in `Gateway` enum
- changes in `impl TryFrom<&CheckoutRouterData<&T>> for MultisafepayPaymentsRequest`
    - for `payment_type` : add pattern for redirect “giropay” and “iDeal” and direct “iDeal” payments
        
    - for `gateway` : add `BankRedirectData::Ideal` and `BankRedirectData::Geropay` pattern
        
    - for `gateway_info`: Only for direct “iDeal” payments,
        
        - `issuer_id` : get issuer id from the table above
	    There are also optional `gateway_info` fields for modifying payment behaviours like **`allow_change_amount` , `min_amount` and `max_amount`** which are related to QR code payment in direct flop.

### 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): [Multisafepay] Add support for Ideal and Giropay 
- Merged: 2024-06-11T13:59:42Z
- Files changed: 5 files
- Commits: 11 commits

Implementation approach:

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [X] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Add iDEAL and Giropay payment processors in [Multisafepay](https://docs.hyperswitch.io/hyperswitch-cloud/connectors/available-connectors/multisafepay) connector.

Whole description can be found in https://github.com/juspay/hyperswitch/disc
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connector): [Multisafepay] Add support for Ideal and Giropay  (#4398)
Files to modify:


**crates/router/src/connector/multisafepay/transformers.rs**
  Add:
    - function: private::try_from
    - struct: pub::IdealInfo
    - enum: pub::BankRedirectInfo
    - enum: pub::MultisafepayBankNames
    - impl: impl TryFrom<&BankNames> for MultisafepayBankNames