Bug: [BUG] Map zip to postal_code in BillingDetails when making a PaymentsCreate request through SCL



### Bug Description

Currently the `BillingDetails` struct uses `zip` and not `postal_code`. Implement the `AddressDetails` struct for it and do the corresponding mapping to fix `deserialization error` when making a PaymentsCreate request via SCL.

### Have you spent some time to check if this bug 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!
diff --git a/Cargo.lock b/Cargo.lock
index bb513916148..6e5967aede2 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6146,4 +6146,4 @@ dependencies = [
  "cc",
  "libc",
  "pkg-config",
-]
+]
\ No newline at end of file
diff --git a/crates/router/src/compatibility/stripe/payment_intents/types.rs b/crates/router/src/compatibility/stripe/payment_intents/types.rs
index 51ccf61377a..02b6977f94b 100644
--- a/crates/router/src/compatibility/stripe/payment_intents/types.rs
+++ b/crates/router/src/compatibility/stripe/payment_intents/types.rs
@@ -24,7 +24,7 @@ use crate::{
 
 #[derive(Default, Serialize, PartialEq, Eq, Deserialize, Clone)]
 pub struct StripeBillingDetails {
-    pub address: Option<payments::AddressDetails>,
+    pub address: Option<AddressDetails>,
     pub email: Option<Email>,
     pub name: Option<String>,
     pub phone: Option<masking::Secret<String>>,
@@ -39,8 +39,17 @@ impl From<StripeBillingDetails> for payments::Address {
                     address.country.as_ref().map(|country| country.to_string())
                 }),
             }),
-
-            address: details.address,
+            address: details.address.map(|address| payments::AddressDetails {
+                city: address.city,
+                country: address.country,
+                line1: address.line1,
+                line2: address.line2,
+                zip: address.postal_code,
+                state: address.state,
+                first_name: None,
+                line3: None,
+                last_name: None,
+            }),
         }
     }
 }

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix

## Description
<!-- Describe your changes in detail -->
SCL accepts `postal_code` instead of `zip` in the `payment_method_data` field. So, this PR adds the corresponding struct changes and mappings for `BillingDetails` -> `AddressDetails`.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless its an obvious bug or documentation fix
that will have little conversation).
-->
This PR closes https://github.com/juspay/hyperswitch/issues/1762.

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->

Manually using Postman :

<img width="1728" alt="Screen Shot 2023-08-11 at 2 40 51 PM" src="https://github.com/juspay/hyperswitch/assets/61862301/d228b9e4-183f-4626-a093-c55f5c0e53c8">

## 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