Bug: [BUG] Deutschebank Payment Method Card not appearing in Dashboard



### Bug Description

In Dashboard, card payment method is not appearing for Deutschebank Connector.

### Expected Behavior

In Dashboard, card payment method should appear for Deutschebank Connector.

### Actual Behavior

In Dashboard, card payment method is not appearing for Deutschebank Connector.

### Steps To Reproduce

1. Go to Dashboard
2. Go to Connectors
3. Go to Payment Processors
4. Find Deutschebank and click on Connect
5. Card Payment Method does not appear for Deutschebank

### Context For The Bug

_No response_

### Environment

Integ/Sandbox/Prod

### Have you spent some time checking if this bug 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!
diff --git a/crates/connector_configs/toml/development.toml b/crates/connector_configs/toml/development.toml
index 2ab348d5dd5..190114fee3a 100644
--- a/crates/connector_configs/toml/development.toml
+++ b/crates/connector_configs/toml/development.toml
@@ -1408,6 +1408,14 @@ api_secret="Shared Secret"
 [deutschebank]
 [[deutschebank.bank_debit]]
   payment_method_type = "sepa"
+[[deutschebank.credit]]
+  payment_method_type = "Visa"
+[[deutschebank.credit]]
+  payment_method_type = "Mastercard"
+[[deutschebank.debit]]
+  payment_method_type = "Visa"
+[[deutschebank.debit]]
+  payment_method_type = "Mastercard"
 [deutschebank.connector_auth.SignatureKey]
 api_key="Client ID"
 key1="Merchant ID"
diff --git a/crates/connector_configs/toml/production.toml b/crates/connector_configs/toml/production.toml
index 5b963e07801..f1745587a6e 100644
--- a/crates/connector_configs/toml/production.toml
+++ b/crates/connector_configs/toml/production.toml
@@ -1143,6 +1143,14 @@ type="Text"
 [deutschebank]
 [[deutschebank.bank_debit]]
   payment_method_type = "sepa"
+[[deutschebank.credit]]
+  payment_method_type = "Visa"
+[[deutschebank.credit]]
+  payment_method_type = "Mastercard"
+[[deutschebank.debit]]
+  payment_method_type = "Visa"
+[[deutschebank.debit]]
+  payment_method_type = "Mastercard"
 [deutschebank.connector_auth.SignatureKey]
 api_key="Client ID"
 key1="Merchant ID"
diff --git a/crates/connector_configs/toml/sandbox.toml b/crates/connector_configs/toml/sandbox.toml
index 50c13dc8596..2a83d62ee9c 100644
--- a/crates/connector_configs/toml/sandbox.toml
+++ b/crates/connector_configs/toml/sandbox.toml
@@ -1357,6 +1357,14 @@ api_secret="Shared Secret"
 [deutschebank]
 [[deutschebank.bank_debit]]
   payment_method_type = "sepa"
+[[deutschebank.credit]]
+  payment_method_type = "Visa"
+[[deutschebank.credit]]
+  payment_method_type = "Mastercard"
+[[deutschebank.debit]]
+  payment_method_type = "Visa"
+[[deutschebank.debit]]
+  payment_method_type = "Mastercard"
 [deutschebank.connector_auth.SignatureKey]
 api_key="Client ID"
 key1="Merchant ID"
diff --git a/crates/hyperswitch_connectors/src/connectors/deutschebank.rs b/crates/hyperswitch_connectors/src/connectors/deutschebank.rs
index f98d6843be7..d7dcb63c476 100644
--- a/crates/hyperswitch_connectors/src/connectors/deutschebank.rs
+++ b/crates/hyperswitch_connectors/src/connectors/deutschebank.rs
@@ -1016,6 +1016,25 @@ lazy_static! {
             }
         );
 
+        deutschebank_supported_payment_methods.add(
+            enums::PaymentMethod::Card,
+            enums::PaymentMethodType::Debit,
+            PaymentMethodDetails{
+                mandates: enums::FeatureStatus::NotSupported,
+                refunds: enums::FeatureStatus::Supported,
+                supported_capture_methods: supported_capture_methods.clone(),
+                specific_features: Some(
+                    api_models::feature_matrix::PaymentMethodSpecificFeatures::Card({
+                        api_models::feature_matrix::CardSpecificFeatures {
+                            three_ds: common_enums::FeatureStatus::Supported,
+                            non_three_ds: common_enums::FeatureStatus::NotSupported,
+                            supported_card_networks: supported_card_network.clone(),
+                        }
+                    }),
+                ),
+            }
+        );
+
         deutschebank_supported_payment_methods
     };
 

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

Added support for Debit Card payments for deutschebank and upgraded the toml files for deutschebank card payments to be available on dashboard.


### Additional Changes

- [ ] 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 are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## 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 it is an obvious bug or documentation fix
that will have little conversation).
-->

Issue link: https://github.com/juspay/hyperswitch/issues/7142


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

**Cypress Tests**

**1. No3DSManualCapture**

![image](https://github.com/user-attachments/assets/cca4c8ed-2205-419b-8eb4-4759daf20f8a)

**2. 3DSAutoCapture**

![image](https://github.com/user-attachments/assets/38318c13-fba1-40f9-a4a8-16ee655e6127)

**3. 3DSManualCapture**

![image](https://github.com/user-attachments/assets/58c72d9d-9668-49dd-a8af-20c6f7407b2c)

**4. No3DSAutoCapture**

![image](https://github.com/user-attachments/assets/bc0b897d-5f45-4878-9a98-1498e8c9ce82)

**5. VoidPayment**

![image](https://github.com/user-attachments/assets/3cedc848-9b4c-4d95-bc66-9019085648d1)

**6. SyncPayment**

![image](https://github.com/user-attachments/assets/b4508f59-95b7-49e7-b079-df8933b38c3e)

**7. RefundPayment**

![image](https://github.com/user-attachments/assets/b8372b26-3945-47b6-afa7-06ca75b267f9)

**8. SyncRefund**

![image](https://github.com/user-attachments/assets/625f7bab-1c1f-4e89-8c89-9c4793cf78d9)

Note: Currently, no 3ds for card payments are not being supported for Deutschebank. Hence, no 3ds flows are expected to return an error message saying that the payment method type is not supported, and has been handled in the cypress tests accordingly. 


**Postman Tests**

**1. Authorize (Manual)**

 - Request
 
```
curl --location 'http://localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--data-raw '{
    "amount": 6540,
    "currency": "USD",
    "confirm": true,
    "business_country": "US",
    "business_label": "default",
    "capture_method": "manual",
    "capture_on": "2022-09-10T10:11:12Z",
    "amount_to_capture": 6540,
    "customer_id": "cybersourcecustomer",
    "email": "est@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "phone_country_code": "+65",
    "description": "Its my first payment request",
    "authentication_type": "three_ds",
    "return_url": "https://duck.com",
    "payment_method": "card",
    "payment_method_type": "debit",
    "payment_method_data": {
        "card": {
            "card_number": "4761739090000088",
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "card_cvc": "123"
        }
    },
    "customer_acceptance": {
        "acceptance_type": "online"
    },
    "billing": {
        "address": {
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "sundari",
            "last_name": "sundari"
        }
    },
    "shipping": {
        "address": {
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "sundari",
            "last_name": "sundari"
        }
    },
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    }
}'
```
- Response

```
{
    "payment_id": "pay_VYJlbbqy1tGwgMKNNMS0",
    "merchant_id": "postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef",
    "status": "requires_customer_action",
    "amount": 6540,
    "net_amount": 6540,
    "shipping_cost": null,
    "amount_capturable": 6540,
    "amount_received": null,
    "connector": "deutschebank",
    "client_secret": "pay_VYJlbbqy1tGwgMKNNMS0_secret_uWdbMvvFhN5neSR2m7sT",
    "created": "2025-02-07T09:16:02.733Z",
    "currency": "USD",
    "customer_id": "cybersourcecustomer",
    "customer": {
        "id": "cybersourcecustomer",
        "name": "Cardholder",
        "email": "est@example.com",
        "phone": "999999999",
        "phone_country_code": "+65"
    },
    "description": "Its my first payment request",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "manual",
    "payment_method": "card",
    "payment_method_data": {
        "card": {
            "last4": "0088",
            "card_type": null,
            "card_network": null,
            "card_issuer": null,
            "card_issuing_country": null,
            "card_isin": "476173",
            "card_extended_bin": null,
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "payment_checks": null,
            "authentication_data": null
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": "est@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "return_url": "https://duck.com/",
    "authentication_type": "three_ds",
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "next_action": {
        "type": "redirect_to_url",
        "redirect_to_url": "http://localhost:8080/payments/redirect/pay_VYJlbbqy1tGwgMKNNMS0/postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef/pay_VYJlbbqy1tGwgMKNNMS0_1"
    },
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "debit",
    "connector_label": "deutschebank_US_default",
    "business_country": "US",
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "cybersourcecustomer",
        "created_at": 1738919762,
        "expires": 1738923362,
        "secret": "epk_8ce2d93171bb4bea96f1e56dfea65cd2"
    },
    "manual_retry_allowed": null,
    "connector_transaction_id": null,
    "frm_message": null,
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    },
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-02-07T09:31:02.732Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": null,
    "payment_method_status": null,
    "updated": "2025-02-07T09:16:05.420Z",
    "split_payments": null,
    "frm_metadata": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null
}
```

**2. Capture (Manual)**

 - Request
 
```
curl --location 'http://localhost:8080/payments/pay_VYJlbbqy1tGwgMKNNMS0/capture' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--data '{
    "amount_to_capture": 6540,
    "statement_descriptor_name": "Joseph",
    "statement_descriptor_suffix": "JS"
}'
```

- Response 

```
{
    "payment_id": "pay_VYJlbbqy1tGwgMKNNMS0",
    "merchant_id": "postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef",
    "status": "succeeded",
    "amount": 6540,
    "net_amount": 6540,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 6540,
    "connector": "deutschebank",
    "client_secret": "pay_VYJlbbqy1tGwgMKNNMS0_secret_uWdbMvvFhN5neSR2m7sT",
    "created": "2025-02-07T09:16:02.733Z",
    "currency": "USD",
    "customer_id": "cybersourcecustomer",
    "customer": {
        "id": "cybersourcecustomer",
        "name": "Cardholder",
        "email": "est@example.com",
        "phone": "999999999",
        "phone_country_code": "+65"
    },
    "description": "Its my first payment request",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "manual",
    "payment_method": "card",
    "payment_method_data": {
        "card": {
            "last4": "0088",
            "card_type": null,
            "card_network": null,
            "card_issuer": null,
            "card_issuing_country": null,
            "card_isin": "476173",
            "card_extended_bin": null,
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "payment_checks": null,
            "authentication_data": null
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": "est@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "return_url": "https://duck.com/",
    "authentication_type": "three_ds",
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "debit",
    "connector_label": "deutschebank_US_default",
    "business_country": "US",
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": null,
    "manual_retry_allowed": false,
    "connector_transaction_id": "aimoDpjSq14oJvh2739kzO",
    "frm_message": null,
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    },
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-02-07T09:31:02.732Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": "pm_dH797tZ7R7P9NceVZtYp",
    "payment_method_status": null,
    "updated": "2025-02-07T09:19:23.370Z",
    "split_payments": null,
    "frm_metadata": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null
}
```

**3. Authorize + Capture**

 - Request

```
curl --location 'http://localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--data-raw '{
    "amount": 6540,
    "currency": "USD",
    "confirm": true,
    "capture_method": "automatic",
    "capture_on": "2022-09-10T10:11:12Z",
    "amount_to_capture": 6540,
    "customer_id": "cybersourcecustomer",
    "email": "guest@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "phone_country_code": "+65",
    "description": "Its my first payment request",
    "authentication_type": "three_ds",
    "return_url": "https://duck.com",
    "payment_method": "card",
    "payment_method_type": "debit",
    "payment_method_data": {
        "card": {
            "card_number": "4761739090000088",
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "card_cvc": "123"
        }
    },
    "customer_acceptance": {
        "acceptance_type": "online"
    },
    "billing": {
        "address": {
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "sundari",
            "last_name": "sundari"
        }
    },
    "shipping": {
        "address": {
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "sundari",
            "last_name": "sundari"
        }
    },
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    }
}'
```

- Response

```
{
    "payment_id": "pay_8pRLiEWHkOeMw9ryMExB",
    "merchant_id": "postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef",
    "status": "requires_customer_action",
    "amount": 6540,
    "net_amount": 6540,
    "shipping_cost": null,
    "amount_capturable": 6540,
    "amount_received": null,
    "connector": "deutschebank",
    "client_secret": "pay_8pRLiEWHkOeMw9ryMExB_secret_0W1NOqKC4RaQLzILUxHq",
    "created": "2025-02-07T09:20:23.732Z",
    "currency": "USD",
    "customer_id": "cybersourcecustomer",
    "customer": {
        "id": "cybersourcecustomer",
        "name": "Cardholder",
        "email": "guest@example.com",
        "phone": "999999999",
        "phone_country_code": "+65"
    },
    "description": "Its my first payment request",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "card",
    "payment_method_data": {
        "card": {
            "last4": "0088",
            "card_type": null,
            "card_network": null,
            "card_issuer": null,
            "card_issuing_country": null,
            "card_isin": "476173",
            "card_extended_bin": null,
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "payment_checks": null,
            "authentication_data": null
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": "guest@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "return_url": "https://duck.com/",
    "authentication_type": "three_ds",
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "next_action": {
        "type": "redirect_to_url",
        "redirect_to_url": "http://localhost:8080/payments/redirect/pay_8pRLiEWHkOeMw9ryMExB/postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef/pay_8pRLiEWHkOeMw9ryMExB_1"
    },
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "debit",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "cybersourcecustomer",
        "created_at": 1738920023,
        "expires": 1738923623,
        "secret": "epk_460a392543454485a6e7b3de41b70987"
    },
    "manual_retry_allowed": null,
    "connector_transaction_id": null,
    "frm_message": null,
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    },
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-02-07T09:35:23.732Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": null,
    "payment_method_status": null,
    "updated": "2025-02-07T09:20:26.230Z",
    "split_payments": null,
    "frm_metadata": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null
}
```

**4. PSync**

 - Request

```
curl --location 'http://localhost:8080/payments/pay_8pRLiEWHkOeMw9ryMExB?force_sync=true' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy'
```

- Response

```
{
    "payment_id": "pay_8pRLiEWHkOeMw9ryMExB",
    "merchant_id": "postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef",
    "status": "succeeded",
    "amount": 6540,
    "net_amount": 6540,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 6540,
    "connector": "deutschebank",
    "client_secret": "pay_8pRLiEWHkOeMw9ryMExB_secret_0W1NOqKC4RaQLzILUxHq",
    "created": "2025-02-07T09:20:23.732Z",
    "currency": "USD",
    "customer_id": "cybersourcecustomer",
    "customer": {
        "id": "cybersourcecustomer",
        "name": "Cardholder",
        "email": "guest@example.com",
        "phone": "999999999",
        "phone_country_code": "+65"
    },
    "description": "Its my first payment request",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "card",
    "payment_method_data": {
        "card": {
            "last4": "0088",
            "card_type": null,
            "card_network": null,
            "card_issuer": null,
            "card_issuing_country": null,
            "card_isin": "476173",
            "card_extended_bin": null,
            "card_exp_month": "12",
            "card_exp_year": "34",
            "card_holder_name": "joseph Doe",
            "payment_checks": null,
            "authentication_data": null
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "sundari",
            "last_name": "sundari"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": "guest@example.com",
    "name": "Cardholder",
    "phone": "999999999",
    "return_url": "https://duck.com/",
    "authentication_type": "three_ds",
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "debit",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": null,
    "manual_retry_allowed": false,
    "connector_transaction_id": "8v7juyo5zIQNmXpQHJLAu8",
    "frm_message": null,
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    },
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-02-07T09:35:23.732Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": "pm_3VYVyVeYFKFYTqR8cI8T",
    "payment_method_status": "active",
    "updated": "2025-02-07T09:21:17.333Z",
    "split_payments": null,
    "frm_metadata": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null
}
```

**5. Refund**

 - Request

```
curl --location 'http://localhost:8080/refunds' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--data '{
    "payment_id": "pay_dOajGFWsngnaGOito5FB",
    "amount": 6540,
    "reason": "Customer returned product",
    "refund_type": "instant",
    "metadata": {
        "udf1": "value1",
        "new_customer": "true",
        "login_date": "2019-09-10T10:11:12Z"
    }
}'
```

- Response

```
{
    "refund_id": "ref_ltBCndOVl9ezefLoG5xY",
    "payment_id": "pay_dOajGFWsngnaGOito5FB",
    "amount": 6540,
    "currency": "USD",
    "status": "succeeded",
    "reason": "Customer returned product",
    "metadata": {
        "udf1": "value1",
        "new_customer": "true",
        "login_date": "2019-09-10T10:11:12Z"
    },
    "error_message": null,
    "error_code": null,
    "unified_code": null,
    "unified_message": null,
    "created_at": "2025-02-07T09:22:57.166Z",
    "updated_at": "2025-02-07T09:22:59.401Z",
    "connector": "deutschebank",
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "split_refunds": null
}
```

**6. RSync**

 - Request

```
curl --location 'http://localhost:8080/refunds/ref_ltBCndOVl9ezefLoG5xY' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy'
```

- Response

```
{
    "refund_id": "ref_ltBCndOVl9ezefLoG5xY",
    "payment_id": "pay_dOajGFWsngnaGOito5FB",
    "amount": 6540,
    "currency": "USD",
    "status": "succeeded",
    "reason": "Customer returned product",
    "metadata": {
        "udf1": "value1",
        "new_customer": "true",
        "login_date": "2019-09-10T10:11:12Z"
    },
    "error_message": null,
    "error_code": null,
    "unified_code": null,
    "unified_message": null,
    "created_at": "2025-02-07T09:22:57.166Z",
    "updated_at": "2025-02-07T09:22:59.401Z",
    "connector": "deutschebank",
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "split_refunds": null
}
```

**7. Cancel/Void**

 - Request

```
curl --location 'http://localhost:8080/payments/pay_dFNJrNoDmMvDjyNHOZZ8/cancel' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--data '{
    "cancellation_reason": "requested_by_customer"
}'
```

- Response

```
{
    "payment_id": "pay_dFNJrNoDmMvDjyNHOZZ8",
    "merchant_id": "postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef",
    "status": "cancelled",
    "amount": 6540,
    "net_amount": 6540,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": null,
    "connector": "deutschebank",
    "client_secret": "pay_dFNJrNoDmMvDjyNHOZZ8_secret_e0dJDcM0P0A5zoldbsRo",
    "created": "2025-02-07T09:24:24.880Z",
    "currency": "USD",
    "customer_id": "cybersourcecustomer",
    "customer": {
        "id": "cybersourcecustomer",
        "name": "John Doe",
        "email": "guest@example.com",
        "phone": "999999999",
        "phone_country_code": "+65"
    },
    "description": "Its my first payment request",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "manual",
    "payment_method": "card",
    "payment_method_data": {
        "card": {
            "last4": "0088",
            "card_type": null,
            "card_network": null,
            "card_issuer": null,
            "card_issuing_country": null,
            "card_isin": "476173",
            "card_extended_bin": null,
            "card_exp_month": "10",
            "card_exp_year": "25",
            "card_holder_name": "joseph Doe",
            "payment_checks": null,
            "authentication_data": null
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "likhin",
            "last_name": "bopanna"
        },
        "phone": null,
        "email": null
    },
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "likhin",
            "last_name": "bopanna"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": "guest@example.com",
    "name": "John Doe",
    "phone": "999999999",
    "return_url": "https://duck.com/",
    "authentication_type": "three_ds",
    "statement_descriptor_name": "joseph",
    "statement_descriptor_suffix": "JS",
    "next_action": null,
    "cancellation_reason": "requested_by_customer",
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "debit",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": null,
    "manual_retry_allowed": false,
    "connector_transaction_id": "06e3oGyHNckEEvC7hSkBuc",
    "frm_message": null,
    "metadata": {
        "count_tickets": 1,
        "transaction_number": "5590045"
    },
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_Lyy6g89emaIu0psz0vqt",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_4gnJLSe89ta8S61C5CKI",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-02-07T09:39:24.880Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": "pm_fnfOzrvmb3FRjxxF2ib5",
    "payment_method_status": null,
    "updated": "2025-02-07T09:24:55.194Z",
    "split_payments": null,
    "frm_metadata": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null
}
```

**8. Supported Payments**

-Request

```
curl --location --request GET 'http://localhost:8080/feature_matrix' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_vsCAxEbJ8IhgM93GZetzz1HjLbUaqalLZxBmnepYDtM7JJgVisFHVMyV3auU1gHy' \
--header 'X-Merchant-Id: postman_merchant_GHAction_f13d2dc3-29d6-41af-9e24-e25eb75d31ef' \
--data '{
    
}'
```

-Response

```
{
    "connector_count": 3,
    "connectors": [
        {
            "name": "BAMBORA",
            "description": "Bambora is a leading online payment provider in Canada and United States.",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "non_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub"
                    ],
                    "supported_countries": [
                        "CA",
                        "US"
                    ],
                    "supported_currencies": [
                        "USD"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "DEUTSCHEBANK",
            "description": "Deutsche Bank is a German multinational investment bank and financial services company ",
            "category": "bank_acquirer",
            "supported_payment_methods": [
                {
                    "payment_method": "bank_debit",
                    "payment_method_type": "sepa",
                    "mandates": "supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "non_three_ds": "not_supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "non_three_ds": "not_supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "ZSL",
            "description": "Zsl is a payment gateway operating in China, specializing in facilitating local bank transfers",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "bank_transfer",
                    "payment_method_type": "local_bank_transfer",
                    "mandates": "not_supported",
                    "refunds": "not_supported",
                    "supported_capture_methods": [
                        "automatic"
                    ],
                    "supported_countries": [
                        "CN"
                    ],
                    "supported_currencies": [
                        "CNY"
                    ]
                }
            ],
            "supported_webhook_flows": []
        }
    ]
}
```


## 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 the submitted code
- [ ] I added unit tests for my changes where possible
