Issue:
feat(payment_request): add field `amount` to `OrderDetails` and make `order_details` a `Vec` in `payments_create` request

## 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 -->
Made changes to order_details, to contain an amount(per quantity of the product) field.
Also order_details is now a vector
Why the change?
the order can have multiple products, with unique prices and quantity...the old structure didnt accomodate for it 

### Additional Changes

- [x] This PR modifies the API contract
- [x] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!-- 
Provide links to the files with corresponding changes.
-->
Payments create request, will have the order_details field in metadata inside.
```
"metadata": {
    "order_details" : [{
        "product_name" : "gillete creme",
        "quantity" : 2,
        "amount" : 600
    },
    {
        "product_name" : "gillete razor",
        "quantity" : 1,
        "amount" : 300
    }],
    "udf1": "value1",
    "new_customer": "true",
    "login_date": "2019-09-10T10:11:12Z"
  }
```
Metadata Type in DB will also change, as it will contain order_details as a vector : 
```
pub struct Metadata {
    /// Information about the product and quantity for specific connectors. (e.g. Klarna)
    pub order_details: Option<Vec<OrderDetails>>,
    /// Any other metadata that is to be provided
    #[schema(value_type = Object, example = r#"{ "city": "NY", "unit": "245" }"#)]
    #[serde(flatten)]
    pub data: pii::SecretSerdeValue,
    /// Payload coming in request as a metadata field
    pub payload: Option<pii::SecretSerdeValue>,
    /// Allowed payment method types for a payment intent
    #[schema(value_type = Option<Vec<PaymentMethodType>>)]
    pub allowed_payment_method_types: Option<Vec<api_enums::PaymentMethodType>>,
}
```


## Motivation and Context
<!--
Why is this change required? What problem does it solve?
the order can have multiple products, with unique prices and quantity...the old structure didnt accomodate for it 
so making order_details a vector , and adding amount field 
-->


## How did you test it?
<!--
via postman call
-->


## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable


Resolution:
<think>
PR Context:
- Title: revert(order_details): revert back `order_details` to be an object, and removing `meta_data` from `PaymentIntent`
- Merged: 2023-05-26T07:49:33Z
- Files changed: 16 files
- Commits: 2 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Order_details was changed from an object to a vector in payment-create....reverting it back to an object .
removing field meta_data from payment_intent table.

### Additional Changes

- [x] This PR modifies the API contract
- [x] This PR
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** revert(order_details): revert back `order_details` to be an object, and removing `meta_data` from `P
Files to modify:


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

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

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

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

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

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

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

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

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

**crates/router/src/db/payment_intent.rs**
  Modify existing code

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

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

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

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