Bug: refactor(connector): [BILLWERK, FISERVEMEA, TSYS] use LazyLock instead of lazy_static!



Use LazyLock instead of lazy_static!
diff --git a/crates/hyperswitch_connectors/src/connectors/billwerk.rs b/crates/hyperswitch_connectors/src/connectors/billwerk.rs
index 4d76dcd5706..4d5e324b39f 100644
--- a/crates/hyperswitch_connectors/src/connectors/billwerk.rs
+++ b/crates/hyperswitch_connectors/src/connectors/billwerk.rs
@@ -1,5 +1,7 @@
 pub mod transformers;
 
+use std::sync::LazyLock;
+
 use api_models::webhooks::{IncomingWebhookEvent, ObjectReferenceId};
 use base64::Engine;
 use common_enums::enums;
@@ -44,7 +46,6 @@ use hyperswitch_interfaces::{
     types::{self, Response},
     webhooks::{IncomingWebhook, IncomingWebhookRequestDetails},
 };
-use lazy_static::lazy_static;
 use masking::{Mask, PeekInterface};
 use transformers::{
     self as billwerk, BillwerkAuthType, BillwerkCaptureRequest, BillwerkErrorResponse,
@@ -808,8 +809,8 @@ impl IncomingWebhook for Billwerk {
     }
 }
 
-lazy_static! {
-    static ref BILLWERK_SUPPORTED_PAYMENT_METHODS: SupportedPaymentMethods = {
+static BILLWERK_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods> =
+    LazyLock::new(|| {
         let supported_capture_methods = vec![
             enums::CaptureMethod::Automatic,
             enums::CaptureMethod::Manual,
@@ -833,7 +834,7 @@ lazy_static! {
         billwerk_supported_payment_methods.add(
             enums::PaymentMethod::Card,
             enums::PaymentMethodType::Credit,
-            PaymentMethodDetails{
+            PaymentMethodDetails {
                 mandates: enums::FeatureStatus::NotSupported,
                 refunds: enums::FeatureStatus::Supported,
                 supported_capture_methods: supported_capture_methods.clone(),
@@ -846,13 +847,13 @@ lazy_static! {
                         }
                     }),
                 ),
-            }
+            },
         );
 
         billwerk_supported_payment_methods.add(
             enums::PaymentMethod::Card,
             enums::PaymentMethodType::Debit,
-            PaymentMethodDetails{
+            PaymentMethodDetails {
                 mandates: enums::FeatureStatus::NotSupported,
                 refunds: enums::FeatureStatus::Supported,
                 supported_capture_methods: supported_capture_methods.clone(),
@@ -865,24 +866,23 @@ lazy_static! {
                         }
                     }),
                 ),
-            }
+            },
         );
 
         billwerk_supported_payment_methods
-    };
+    });
 
-    static ref BILLWERK_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
-        display_name: "Billwerk",
-        description: "Billwerk+ Pay is an acquirer independent payment gateway that's easy to setup with more than 50 recurring and non-recurring payment methods.",
-        connector_type: enums::PaymentConnectorCategory::PaymentGateway,
-    };
+static BILLWERK_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
+    display_name: "Billwerk",
+    description: "Billwerk+ Pay is an acquirer independent payment gateway that's easy to setup with more than 50 recurring and non-recurring payment methods.",
+    connector_type: enums::PaymentConnectorCategory::PaymentGateway,
+};
 
-    static ref BILLWERK_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
-}
+static BILLWERK_SUPPORTED_WEBHOOK_FLOWS: [enums::EventClass; 0] = [];
 
 impl ConnectorSpecifications for Billwerk {
     fn get_connector_about(&self) -> Option<&'static ConnectorInfo> {
-        Some(&*BILLWERK_CONNECTOR_INFO)
+        Some(&BILLWERK_CONNECTOR_INFO)
     }
 
     fn get_supported_payment_methods(&self) -> Option<&'static SupportedPaymentMethods> {
@@ -890,6 +890,6 @@ impl ConnectorSpecifications for Billwerk {
     }
 
     fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
-        Some(&*BILLWERK_SUPPORTED_WEBHOOK_FLOWS)
+        Some(&BILLWERK_SUPPORTED_WEBHOOK_FLOWS)
     }
 }
diff --git a/crates/hyperswitch_connectors/src/connectors/fiservemea.rs b/crates/hyperswitch_connectors/src/connectors/fiservemea.rs
index cb00c66a4fd..95c252cb685 100644
--- a/crates/hyperswitch_connectors/src/connectors/fiservemea.rs
+++ b/crates/hyperswitch_connectors/src/connectors/fiservemea.rs
@@ -1,5 +1,7 @@
 pub mod transformers;
 
+use std::sync::LazyLock;
+
 use base64::Engine;
 use common_enums::enums;
 use common_utils::{
@@ -41,7 +43,6 @@ use hyperswitch_interfaces::{
     types::{self, Response},
     webhooks,
 };
-use lazy_static::lazy_static;
 use masking::{ExposeInterface, Mask, PeekInterface};
 use ring::hmac;
 use time::OffsetDateTime;
@@ -784,8 +785,8 @@ impl webhooks::IncomingWebhook for Fiservemea {
     }
 }
 
-lazy_static! {
-    static ref FISERVEMEA_SUPPORTED_PAYMENT_METHODS: SupportedPaymentMethods = {
+static FISERVEMEA_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods> =
+    LazyLock::new(|| {
         let supported_capture_methods = vec![
             enums::CaptureMethod::Automatic,
             enums::CaptureMethod::Manual,
@@ -809,7 +810,7 @@ lazy_static! {
         fiservemea_supported_payment_methods.add(
             enums::PaymentMethod::Card,
             enums::PaymentMethodType::Credit,
-            PaymentMethodDetails{
+            PaymentMethodDetails {
                 mandates: enums::FeatureStatus::NotSupported,
                 refunds: enums::FeatureStatus::Supported,
                 supported_capture_methods: supported_capture_methods.clone(),
@@ -822,13 +823,13 @@ lazy_static! {
                         }
                     }),
                 ),
-            }
+            },
         );
 
         fiservemea_supported_payment_methods.add(
             enums::PaymentMethod::Card,
             enums::PaymentMethodType::Debit,
-            PaymentMethodDetails{
+            PaymentMethodDetails {
                 mandates: enums::FeatureStatus::NotSupported,
                 refunds: enums::FeatureStatus::Supported,
                 supported_capture_methods: supported_capture_methods.clone(),
@@ -841,24 +842,23 @@ lazy_static! {
                         }
                     }),
                 ),
-            }
+            },
         );
 
         fiservemea_supported_payment_methods
-    };
+    });
 
-    static ref FISERVEMEA_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
-        display_name: "Fiservemea",
-        description: "Fiserv powers over 6+ million merchants and 10,000+ financial institutions enabling them to accept billions of payments a year.",
-        connector_type: enums::PaymentConnectorCategory::BankAcquirer,
-    };
+static FISERVEMEA_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
+    display_name: "Fiservemea",
+    description: "Fiserv powers over 6+ million merchants and 10,000+ financial institutions enabling them to accept billions of payments a year.",
+    connector_type: enums::PaymentConnectorCategory::BankAcquirer,
+};
 
-    static ref FISERVEMEA_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
-}
+static FISERVEMEA_SUPPORTED_WEBHOOK_FLOWS: [enums::EventClass; 0] = [];
 
 impl ConnectorSpecifications for Fiservemea {
     fn get_connector_about(&self) -> Option<&'static ConnectorInfo> {
-        Some(&*FISERVEMEA_CONNECTOR_INFO)
+        Some(&FISERVEMEA_CONNECTOR_INFO)
     }
 
     fn get_supported_payment_methods(&self) -> Option<&'static SupportedPaymentMethods> {
@@ -866,6 +866,6 @@ impl ConnectorSpecifications for Fiservemea {
     }
 
     fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
-        Some(&*FISERVEMEA_SUPPORTED_WEBHOOK_FLOWS)
+        Some(&FISERVEMEA_SUPPORTED_WEBHOOK_FLOWS)
     }
 }
diff --git a/crates/hyperswitch_connectors/src/connectors/tsys.rs b/crates/hyperswitch_connectors/src/connectors/tsys.rs
index 7a0fe0bdc93..d5a6fd834e2 100644
--- a/crates/hyperswitch_connectors/src/connectors/tsys.rs
+++ b/crates/hyperswitch_connectors/src/connectors/tsys.rs
@@ -1,5 +1,7 @@
 pub mod transformers;
 
+use std::sync::LazyLock;
+
 use common_enums::enums;
 use common_utils::{
     errors::CustomResult,
@@ -43,7 +45,6 @@ use hyperswitch_interfaces::{
     },
     webhooks,
 };
-use lazy_static::lazy_static;
 use transformers as tsys;
 
 use crate::{constants::headers, types::ResponseRouterData, utils};
@@ -645,78 +646,76 @@ impl webhooks::IncomingWebhook for Tsys {
     }
 }
 
-lazy_static! {
-    static ref TSYS_SUPPORTED_PAYMENT_METHODS: SupportedPaymentMethods = {
-        let supported_capture_methods = vec![
-            enums::CaptureMethod::Automatic,
-            enums::CaptureMethod::Manual,
-            enums::CaptureMethod::SequentialAutomatic,
-        ];
-
-        let supported_card_network = vec![
-            common_enums::CardNetwork::Mastercard,
-            common_enums::CardNetwork::Visa,
-            common_enums::CardNetwork::AmericanExpress,
-            common_enums::CardNetwork::Discover,
-            common_enums::CardNetwork::JCB,
-            common_enums::CardNetwork::UnionPay,
-        ];
-
-        let mut tsys_supported_payment_methods = SupportedPaymentMethods::new();
-
-        tsys_supported_payment_methods.add(
-            enums::PaymentMethod::Card,
-            enums::PaymentMethodType::Credit,
-            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::NotSupported,
-                            no_three_ds: common_enums::FeatureStatus::Supported,
-                            supported_card_networks: supported_card_network.clone(),
-                        }
-                    }),
-                ),
-            }
-        );
-
-        tsys_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::NotSupported,
-                            no_three_ds: common_enums::FeatureStatus::Supported,
-                            supported_card_networks: supported_card_network.clone(),
-                        }
-                    }),
-                ),
-            }
-        );
-
-        tsys_supported_payment_methods
-    };
-
-    static ref TSYS_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
-        display_name: "Tsys",
-        description: "TSYS, a Global Payments company, is the payment stack for the future, powered by unmatched expertise.",
-        connector_type: enums::PaymentConnectorCategory::BankAcquirer,
-    };
-
-    static ref TSYS_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
-}
+static TSYS_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods> = LazyLock::new(|| {
+    let supported_capture_methods = vec![
+        enums::CaptureMethod::Automatic,
+        enums::CaptureMethod::Manual,
+        enums::CaptureMethod::SequentialAutomatic,
+    ];
+
+    let supported_card_network = vec![
+        common_enums::CardNetwork::Mastercard,
+        common_enums::CardNetwork::Visa,
+        common_enums::CardNetwork::AmericanExpress,
+        common_enums::CardNetwork::Discover,
+        common_enums::CardNetwork::JCB,
+        common_enums::CardNetwork::UnionPay,
+    ];
+
+    let mut tsys_supported_payment_methods = SupportedPaymentMethods::new();
+
+    tsys_supported_payment_methods.add(
+        enums::PaymentMethod::Card,
+        enums::PaymentMethodType::Credit,
+        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::NotSupported,
+                        no_three_ds: common_enums::FeatureStatus::Supported,
+                        supported_card_networks: supported_card_network.clone(),
+                    }
+                }),
+            ),
+        },
+    );
+
+    tsys_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::NotSupported,
+                        no_three_ds: common_enums::FeatureStatus::Supported,
+                        supported_card_networks: supported_card_network.clone(),
+                    }
+                }),
+            ),
+        },
+    );
+
+    tsys_supported_payment_methods
+});
+
+static TSYS_CONNECTOR_INFO: ConnectorInfo = ConnectorInfo {
+    display_name: "Tsys",
+    description: "TSYS, a Global Payments company, is the payment stack for the future, powered by unmatched expertise.",
+    connector_type: enums::PaymentConnectorCategory::BankAcquirer,
+};
+
+static TSYS_SUPPORTED_WEBHOOK_FLOWS: [enums::EventClass; 0] = [];
 
 impl ConnectorSpecifications for Tsys {
     fn get_connector_about(&self) -> Option<&'static ConnectorInfo> {
-        Some(&*TSYS_CONNECTOR_INFO)
+        Some(&TSYS_CONNECTOR_INFO)
     }
 
     fn get_supported_payment_methods(&self) -> Option<&'static SupportedPaymentMethods> {
@@ -724,6 +723,6 @@ impl ConnectorSpecifications for Tsys {
     }
 
     fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
-        Some(&*TSYS_SUPPORTED_WEBHOOK_FLOWS)
+        Some(&TSYS_SUPPORTED_WEBHOOK_FLOWS)
     }
 }

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

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

Closes this [issue](https://github.com/juspay/hyperswitch/issues/7495)

## Description
<!-- Describe your changes in detail -->

Refactored the feature matrix PR by using `LazyLock` instead of `lazy_static!`

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


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

Postman Test

Feature API curl:
```
curl --location 'http://localhost:8080/feature_matrix' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: {{api_key}}'
```

Response:
```
{
    "connector_count": 3,
    "connectors": [
        {
            "name": "BILLWERK",
            "display_name": "Billwerk",
            "description": "Billwerk+ Pay is an acquirer independent payment gateway that's easy to setup with more than 50 recurring and non-recurring payment methods.",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay",
                        "DinersClub",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "DK",
                        "DE",
                        "FR",
                        "SE"
                    ],
                    "supported_currencies": [
                        "DKK",
                        "NOK"
                    ]
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay",
                        "DinersClub",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "SE",
                        "FR",
                        "DE",
                        "DK"
                    ],
                    "supported_currencies": [
                        "NOK",
                        "DKK"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "FISERVEMEA",
            "display_name": "Fiservemea",
            "description": "Fiserv powers over 6+ million merchants and 10,000+ financial institutions enabling them to accept billions of payments a year.",
            "category": "bank_acquirer",
            "supported_payment_methods": [
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay",
                        "DinersClub",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "AE",
                        "PL",
                        "FR",
                        "ES",
                        "GB",
                        "ZA",
                        "DE",
                        "NL",
                        "IT"
                    ],
                    "supported_currencies": [
                        "SSP",
                        "BIF",
                        "MOP",
                        "KMF",
                        "HNL",
                        "SYP",
                        "CVE",
                        "SGD",
                        "KHR",
                        "MXN",
                        "NPR",
                        "RUB",
                        "TMT",
                        "BRL",
                        "MRU",
                        "SHP",
                        "KPW",
                        "KZT",
                        "SLE",
                        "CZK",
                        "CAD",
                        "VUV",
                        "PYG",
                        "SOS",
                        "AFN",
                        "MVR",
                        "YER",
                        "ZAR",
                        "TTD",
                        "CHF",
                        "AMD",
                        "NGN",
                        "KYD",
                        "ERN",
                        "PKR",
                        "MZN",
                        "TJS",
                        "BTN",
                        "IDR",
                        "SCR",
                        "AED",
                        "MUR",
                        "CLP",
                        "XPF",
                        "TOP",
                        "PHP",
                        "THB",
                        "AZN",
                        "RON",
                        "DZD",
                        "SBD",
                        "PAB",
                        "HRK",
                        "KRW",
                        "SEK",
                        "BOB",
                        "LKR",
                        "SAR",
                        "KGS",
                        "NIO",
                        "RSD",
                        "PLN",
                        "NZD",
                        "BYN",
                        "SVC",
                        "GYD",
                        "SZL",
                        "USD",
                        "ISK",
                        "BMD",
                        "COP",
                        "SDG",
                        "TZS",
                        "KWD",
                        "UYU",
                        "JOD",
                        "CUP",
                        "LYD",
                        "LAK",
                        "DOP",
                        "AUD",
                        "VES",
                        "FJD",
                        "CRC",
                        "FKP",
                        "HKD",
                        "IRR",
                        "BDT",
                        "BBD",
                        "EUR",
                        "BHD",
                        "UAH",
                        "MGA",
                        "CNY",
                        "HTG",
                        "ALL",
                        "INR",
                        "GHS",
                        "MAD",
                        "TWD",
                        "MYR",
                        "BND",
                        "NAD",
                        "QAR",
                        "GIP",
                        "GEL",
                        "AOA",
                        "UGX",
                        "LSL",
                        "XAF",
                        "LBP",
                        "DJF",
                        "ETB",
                        "TND",
                        "XCD",
                        "SRD",
                        "GNF",
                        "BGN",
                        "GTQ",
                        "MWK",
                        "ZMW",
                        "MKD",
                        "HUF",
                        "PEN",
                        "RWF",
                        "DKK",
                        "BZD",
                        "IQD",
                        "ANG",
                        "ARS",
                        "GBP",
                        "WST",
                        "ZWL",
                        "PGK",
                        "TRY",
                        "KES",
                        "MDL",
                        "MNT",
                        "CDF",
                        "BAM",
                        "LRD",
                        "JPY",
                        "GMD",
                        "STN",
                        "VND",
                        "BWP",
                        "OMR",
                        "NOK",
                        "SLL",
                        "JMD",
                        "XOF",
                        "MMK",
                        "EGP",
                        "AWG",
                        "ILS",
                        "UZS",
                        "BSD"
                    ]
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay",
                        "DinersClub",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "NL",
                        "ES",
                        "DE",
                        "PL",
                        "IT",
                        "AE",
                        "GB",
                        "ZA",
                        "FR"
                    ],
                    "supported_currencies": [
                        "JOD",
                        "AED",
                        "ALL",
                        "BOB",
                        "ERN",
                        "LBP",
                        "PAB",
                        "HNL",
                        "AZN",
                        "TMT",
                        "DKK",
                        "AWG",
                        "PKR",
                        "LAK",
                        "PGK",
                        "JMD",
                        "CUP",
                        "PHP",
                        "BAM",
                        "THB",
                        "FKP",
                        "HRK",
                        "UYU",
                        "KZT",
                        "BYN",
                        "PLN",
                        "SDG",
                        "VND",
                        "NZD",
                        "KWD",
                        "CDF",
                        "SCR",
                        "VUV",
                        "CHF",
                        "USD",
                        "GYD",
                        "ANG",
                        "DOP",
                        "MKD",
                        "STN",
                        "SAR",
                        "QAR",
                        "PEN",
                        "RSD",
                        "BRL",
                        "KGS",
                        "SGD",
                        "TWD",
                        "BHD",
                        "KHR",
                        "MOP",
                        "GHS",
                        "UGX",
                        "XPF",
                        "SSP",
                        "CAD",
                        "TOP",
                        "OMR",
                        "MXN",
                        "BGN",
                        "RUB",
                        "MDL",
                        "GNF",
                        "PYG",
                        "SRD",
                        "AFN",
                        "MNT",
                        "NOK",
                        "XAF",
                        "BWP",
                        "NGN",
                        "GIP",
                        "CZK",
                        "MGA",
                        "DZD",
                        "YER",
                        "DJF",
                        "SBD",
                        "CNY",
                        "ZAR",
                        "LYD",
                        "BMD",
                        "MUR",
                        "NIO",
                        "UZS",
                        "GBP",
                        "VES",
                        "SVC",
                        "CVE",
                        "NPR",
                        "RON",
                        "KMF",
                        "BZD",
                        "KPW",
                        "SLL",
                        "LKR",
                        "AUD",
                        "LSL",
                        "XCD",
                        "TJS",
                        "KYD",
                        "UAH",
                        "ARS",
                        "NAD",
                        "SEK",
                        "GTQ",
                        "BSD",
                        "IDR",
                        "WST",
                        "AMD",
                        "BTN",
                        "HUF",
                        "ZMW",
                        "COP",
                        "BIF",
                        "FJD",
                        "INR",
                        "IRR",
                        "GEL",
                        "HTG",
                        "SOS",
                        "CLP",
                        "ISK",
                        "MVR",
                        "RWF",
                        "BBD",
                        "KRW",
                        "BDT",
                        "LRD",
                        "AOA",
                        "MMK",
                        "MWK",
                        "SLE",
                        "XOF",
                        "MRU",
                        "KES",
                        "MYR",
                        "MZN",
                        "SYP",
                        "SZL",
                        "TRY",
                        "SHP",
                        "TTD",
                        "GMD",
                        "TZS",
                        "ETB",
                        "ILS",
                        "IQD",
                        "CRC",
                        "BND",
                        "HKD",
                        "EGP",
                        "JPY",
                        "MAD",
                        "TND",
                        "EUR",
                        "ZWL"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "TSYS",
            "display_name": "Tsys",
            "description": "TSYS, a Global Payments company, is the payment stack for the future, powered by unmatched expertise.",
            "category": "bank_acquirer",
            "supported_payment_methods": [
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay"
                    ],
                    "supported_countries": [
                        "NA"
                    ],
                    "supported_currencies": [
                        "CUP",
                        "SZL",
                        "GMD",
                        "AMD",
                        "MRU",
                        "BWP",
                        "SSP",
                        "QAR",
                        "XOF",
                        "VES",
                        "XAF",
                        "BBD",
                        "BSD",
                        "ETB",
                        "GBP",
                        "BHD",
                        "UYU",
                        "XCD",
                        "JPY",
                        "VUV",
                        "SAR",
                        "ZAR",
                        "MOP",
                        "MDL",
                        "IRR",
                        "SGD",
                        "MVR",
                        "BIF",
                        "BTN",
                        "STN",
                        "AED",
                        "TTD",
                        "TWD",
                        "UZS",
                        "KZT",
                        "ALL",
                        "UGX",
                        "DOP",
                        "BMD",
                        "FJD",
                        "KGS",
                        "KPW",
                        "ZMW",
                        "IQD",
                        "HRK",
                        "KMF",
                        "GTQ",
                        "LSL",
                        "NOK",
                        "MWK",
                        "CDF",
                        "KRW",
                        "ERN",
                        "RUB",
                        "GEL",
                        "MGA",
                        "OMR",
                        "HUF",
                        "HTG",
                        "PYG",
                        "MUR",
                        "HKD",
                        "BZD",
                        "LRD",
                        "SRD",
                        "THB",
                        "IDR",
                        "TJS",
                        "TRY",
                        "VND",
                        "JOD",
                        "PKR",
                        "GNF",
                        "LKR",
                        "TND",
                        "BDT",
                        "DJF",
                        "SDG",
                        "AOA",
                        "SVC",
                        "PEN",
                        "KYD",
                        "BRL",
                        "JMD",
                        "ISK",
                        "COP",
                        "BAM",
                        "BOB",
                        "CVE",
                        "INR",
                        "RWF",
                        "SCR",
                        "YER",
                        "LYD",
                        "MYR",
                        "LBP",
                        "CZK",
                        "NIO",
                        "SEK",
                        "DKK",
                        "UAH",
                        "USD",
                        "AZN",
                        "RON",
                        "HNL",
                        "SYP",
                        "CHF",
                        "PAB",
                        "NGN",
                        "NPR",
                        "AFN",
                        "CAD",
                        "ANG",
                        "GYD",
                        "MXN",
                        "BND",
                        "LAK",
                        "PGK",
                        "PLN",
                        "SHP",
                        "ARS",
                        "KWD",
                        "ILS",
                        "TMT",
                        "XPF",
                        "ZWL",
                        "FKP",
                        "CLP",
                        "AUD",
                        "DZD",
                        "GHS",
                        "PHP",
                        "NAD",
                        "TZS",
                        "CNY",
                        "MAD",
                        "NZD",
                        "MNT",
                        "WST",
                        "KHR",
                        "CRC",
                        "SLE",
                        "AWG",
                        "GIP",
                        "BGN",
                        "RSD",
                        "SOS",
                        "MKD",
                        "MMK",
                        "TOP",
                        "MZN",
                        "BYN",
                        "KES",
                        "EGP",
                        "EUR",
                        "SBD"
                    ]
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "not_supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Mastercard",
                        "Visa",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "UnionPay"
                    ],
                    "supported_countries": [
                        "NA"
                    ],
                    "supported_currencies": [
                        "AZN",
                        "SAR",
                        "ZWL",
                        "MRU",
                        "SZL",
                        "TRY",
                        "TOP",
                        "YER",
                        "LKR",
                        "ISK",
                        "NIO",
                        "TTD",
                        "BMD",
                        "PAB",
                        "MNT",
                        "BTN",
                        "SYP",
                        "HUF",
                        "CHF",
                        "UAH",
                        "DJF",
                        "DOP",
                        "XPF",
                        "MVR",
                        "WST",
                        "ZMW",
                        "TMT",
                        "TWD",
                        "LBP",
                        "PGK",
                        "XOF",
                        "ARS",
                        "PLN",
                        "MUR",
                        "MZN",
                        "NGN",
                        "MDL",
                        "SDG",
                        "SLE",
                        "VND",
                        "STN",
                        "KZT",
                        "THB",
                        "SGD",
                        "HRK",
                        "AUD",
                        "NAD",
                        "KHR",
                        "BSD",
                        "GEL",
                        "NOK",
                        "KPW",
                        "GNF",
                        "GHS",
                        "MWK",
                        "RUB",
                        "MAD",
                        "GMD",
                        "BWP",
                        "VUV",
                        "GTQ",
                        "BZD",
                        "MYR",
                        "BND",
                        "KMF",
                        "CVE",
                        "SSP",
                        "BBD",
                        "ALL",
                        "UZS",
                        "ERN",
                        "GYD",
                        "CUP",
                        "TJS",
                        "CZK",
                        "OMR",
                        "GIP",
                        "XCD",
                        "CNY",
                        "SBD",
                        "RON",
                        "KES",
                        "HKD",
                        "IQD",
                        "BDT",
                        "CDF",
                        "SEK",
                        "JPY",
                        "HNL",
                        "ETB",
                        "GBP",
                        "VES",
                        "TZS",
                        "MXN",
                        "XAF",
                        "CLP",
                        "AMD",
                        "LAK",
                        "EGP",
                        "NZD",
                        "SCR",
                        "SHP",
                        "ILS",
                        "KRW",
                        "SOS",
                        "MGA",
                        "JMD",
                        "ZAR",
                        "NPR",
                        "BAM",
                        "BIF",
                        "EUR",
                        "UYU",
                        "CRC",
                        "RSD",
                        "TND",
                        "PKR",
                        "SRD",
                        "AED",
                        "BOB",
                        "INR",
                        "MOP",
                        "USD",
                        "PEN",
                        "LRD",
                        "UGX",
                        "MMK",
                        "KGS",
                        "BRL",
                        "SVC",
                        "FKP",
                        "ANG",
                        "MKD",
                        "BGN",
                        "BHD",
                        "PHP",
                        "IRR",
                        "KYD",
                        "RWF",
                        "LSL",
                        "QAR",
                        "DKK",
                        "IDR",
                        "DZD",
                        "LYD",
                        "AWG",
                        "AFN",
                        "KWD",
                        "BYN",
                        "JOD",
                        "AOA",
                        "HTG",
                        "COP",
                        "FJD",
                        "CAD",
                        "PYG"
                    ]
                }
            ],
            "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
