Issue:
[FEATURE] Add support for Bank Debits payment method

### Feature Description

### Problem statement
Bank Debits enables merchants to directly pull funds from the customers' bank accounts once the customers provide authorization for the same. It is primarily used for recurring transactions/mandates and for large ticket transactions like rent, fees, etc.
Hyperswitch will need to support the following popular Bank Debits from US and EU:

- ACH Direct Debit
- BECS Direct Debit
- BACS Direct Debit
- SEPA Direct Debit


### Possible Implementation

_No response_

### Have you spent some time to check if this feature request has been raised before?

- [X] I checked and didn't find 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

Resolution:
<think>
PR Context:
- Title: feat(core): [Stripe] add bank debits payment method to stripe
- Merged: 2023-04-21T08:38:53Z
- Files changed: 8 files
- Commits: 17 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] New feature

## Description
<!-- Describe your changes in detail -->
This PR will add support for creating payments using `bank_debits` payment method. This has been implemented for stripe.
Mandate details have to passed for all the payment methods.
- Sample mandate data
```json
{
"mandate_data": {
        "customer_acceptance": {
            "acceptance_type": "online",
            "accepted_at": "2022-09-10T10:
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(core): [Stripe] add bank debits payment method to stripe (#906)
Files to modify:


**crates/api_models/src/enums.rs**
  Modify existing code

**crates/api_models/src/payments.rs**
  Add:
    - struct: pub::BankDebitBilling
    - enum: pub::BankDebitData

**crates/router/src/connector/aci/transformers.rs**
  Modify existing code

**crates/router/src/connector/authorizedotnet/transformers.rs**
  Modify existing code

**crates/router/src/connector/stripe/transformers.rs**
  Add:
    - function: private::from
    - function: private::get_bank_debit_data
    - function: private::get_url
    - struct: pub::StripeMandateRequest
    - struct: pub::StripeBankDebitData
    - struct: pub::StripeVerifyWithMicroDepositsResponse
    - enum: pub::StripeMandateType
    - enum: pub::BankDebitData
    - impl: impl From<&payments::BankDebitBilling> for StripeBillingAddress
    - impl: impl StripeNextActionResponse

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

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

**crates/storage_models/src/enums.rs**
  Modify existing code