Issue:
[FEATURE] add payment methods afterpay, klarna, affirm for adyen connector

### Feature Description

Support for payment methods afterpay, klarna and affirm should be added for adyen connector

### Possible Implementation

Implementation is similar to card payment method. Newly adding payment method should support following flows,

1. Authorise
2. Capture
3. Cancel
4. Refund
5. Webhook

### 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 I am willing to submit a PR!

Resolution:
<think>
PR Context:
- Title: feat(connector): add afterpay,klarna,affirm support in adyen connector
- Merged: 2023-02-09T21:07:10Z
- Files changed: 7 files
- Commits: 7 commits

Implementation approach:
Fixes #470 , #488 

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates

## Description
add payment methods like affirm, klarna, afterpay support for adyen connector


### Additional Changes

- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!-- 
Provide links to the files with corresponding changes.

Follo
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connector): add afterpay, klarna, affirm support in adyen connector (#516)
Files to modify:


**crates/router/src/connector/adyen.rs**
  Modify existing code

**crates/router/src/connector/adyen/transformers.rs**
  Remove:
    - function: private::try_from
    - impl: impl TryFrom<&types::BrowserInformation> for AdyenBrowserInfo
  Add:
    - function: private::from
    - function: private::get_recurring_processing_model
    - function: private::get_browser_info
    - function: private::get_additional_data
    - function: private::get_amount_data
    - function: private::get_address_info
    - function: private::get_line_items
    - function: private::get_telephone_number
    - function: private::get_shopper_name
    - function: private::get_country_code
    - function: private::get_card_specific_payment_data
    - function: private::get_wallet_specific_payment_data
    - struct: pub::ShopperName
    - struct: pub::Address
    - struct: pub::LineItem
    - enum: pub::PaymentType
    - impl: impl From<&types::PaymentsAuthorizeRouterData> for AdyenShopperInteraction

**crates/router/src/connector/utils.rs**
  Add:
    - function: private::get_return_url

**crates/router/tests/connectors/adyen.rs**
  Add:
    - function: private::get_data
    - function: private::get_auth_token
    - function: private::get_name
    - function: private::get_payment_info
    - function: private::get_payment_authorize_data
    - function: private::should_only_authorize_payment
    - function: private::should_capture_authorized_payment
    - function: private::should_partially_capture_authorized_payment
    - function: private::should_void_authorized_payment
    - function: private::should_refund_manually_captured_payment
    - function: private::should_partially_refund_manually_captured_payment
    - function: private::should_make_payment
    - function: private::should_refund_auto_captured_payment
    - function: private::should_partially_refund_succeeded_payment
    - function: private::should_refund_succeeded_payment_multiple_times
    - function: private::should_fail_payment_for_incorrect_card_number
    - function: private::should_fail_payment_for_empty_card_number
    - function: private::should_fail_payment_for_incorrect_cvc
    - function: private::should_fail_payment_for_invalid_exp_month
    - function: private::should_fail_payment_for_incorrect_expiry_year
    - function: private::should_fail_capture_for_invalid_payment
    - struct: private::AdyenTest
    - impl: impl ConnectorActions for AdyenTest
    - impl: impl utils::Connector for AdyenTest
    - impl: impl AdyenTest

**crates/router/tests/connectors/connector_auth.rs**
  Modify existing code

**crates/router/tests/connectors/main.rs**
  Add:
    - mod: private::adyen