Issue:
[FEATURE] Payments and it's webhook response to contain non-card payment method details

### Feature Description

TLDR; Payments response and it's associated webhooks events to contain payment method data details.

As of today, only card's and paylater's payment method data is populated in our API responses and webhook events for payments. Populating details of other payment methods provides more context about the payment details.

### Possible Implementation

Below is the list of payment methods supported in HyperSwitch

- :white_check_mark: Card
- CardRedirect
- Wallet
- :white_check_mark: PayLater
- BankRedirect
- BankDebit
- BankTransfer
- RealTimePayment
- Crypto
- Upi
- Voucher
- GiftCard
- CardToken
- OpenBanking


### 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: populate payment method details in payments response
- Merged: 2024-08-26T16:56:18Z
- Files changed: 10 files
- Commits: 10 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
Described in #5652 


### Additional Changes

- [x] 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:** feat: populate payment method details in payments response (#5661)
Files to modify:


**crates/api_models/src/payments.rs**
  Add:
    - mod: pub::additional_info

**crates/api_models/src/payments/additional_info.rs**
  Add:
    - struct: pub::AchBankDebitAdditionalData
    - struct: pub::BacsBankDebitAdditionalData
    - struct: pub::BecsBankDebitAdditionalData
    - struct: pub::SepaBankDebitAdditionalData
    - struct: pub::BankRedirectAdditionalData
    - struct: pub::BancontactBankRedirectAdditionalData
    - struct: pub::BlikBankRedirectAdditionalData
    - struct: pub::GiropayBankRedirectAdditionalData
    - struct: pub::PixBankTransferAdditionalData
    - struct: pub::LocalBankTransferAdditionalData
    - struct: pub::GivexGiftCardAdditionalData
    - struct: pub::CardTokenAdditionalData
    - struct: pub::UpiCollectAdditionalData
    - enum: pub::BankDebitAdditionalData
    - enum: pub::BankRedirectDetails
    - enum: pub::BankTransferAdditionalData
    - enum: pub::GiftCardAdditionalData
    - enum: pub::UpiAdditionalData

**crates/hyperswitch_domain_models/src/payment_method_data.rs**
  Add:
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - impl: impl From<CardRedirectData> for api_models::payments::CardRedirectData
    - impl: impl From<CryptoData> for api_models::payments::CryptoData
    - impl: impl From<UpiData> for api_models::payments::additional_info::UpiAdditionalData
    - impl: impl From<Box<BoletoVoucherData>> for Box<api_models::payments::BoletoVoucherData>
    - impl: impl From<Box<AlfamartVoucherData>> for Box<api_models::payments::AlfamartVoucherData>
    - impl: impl From<Box<IndomaretVoucherData>> for Box<api_models::payments::IndomaretVoucherData>
    - impl: impl From<Box<JCSVoucherData>> for Box<api_models::payments::JCSVoucherData>
    - impl: impl From<VoucherData> for api_models::payments::VoucherData
    - impl: impl From<GiftCardData> for payment_additional_types::GiftCardAdditionalData
    - impl: impl From<CardToken> for payment_additional_types::CardTokenAdditionalData
    - impl: impl From<BankDebitData> for api_models::payments::additional_info::BankDebitAdditionalData
    - impl: impl From<BankTransferData> for api_models::payments::additional_info::BankTransferAdditionalData
    - impl: impl From<RealTimePaymentData> for api_models::payments::RealTimePaymentData
    - impl: impl From<OpenBankingData> for api_models::payments::OpenBankingData

**crates/masking/src/lib.rs**
  Add:
    - mod: pub::masked_string

**crates/masking/src/masked_string.rs**
  Add:
    - function: private::apply_mask
    - function: private::from
    - function: private::from
    - function: private::from
    - function: private::from
    - struct: pub::MaskedSortCode
    - struct: pub::MaskedRoutingNumber
    - struct: pub::MaskedBankAccount
    - struct: pub::MaskedIban
    - impl: impl SerializableSecret for MaskedSortCode
    - impl: impl From<String> for MaskedSortCode
    - impl: impl SerializableSecret for MaskedRoutingNumber
    - impl: impl From<String> for MaskedRoutingNumber
    - impl: impl SerializableSecret for MaskedBankAccount
    - impl: impl From<String> for MaskedBankAccount
    - impl: impl SerializableSecret for MaskedIban
    - impl: impl From<String> for MaskedIban

**crates/openapi/src/openapi.rs**
  Modify existing code

**crates/openapi/src/openapi_v2.rs**
  Modify existing code

**crates/router/src/core/payments/helpers.rs**
  Modify existing code