Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(connector): [DLOCAL, MOLLIE, MIFINITY, RAZORPAY, VOLT] add in feature matrix api #7290

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

swangi-kumari
Copy link
Contributor

Type of Change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates
  • Documentation
  • CI/CD

Description

Add Dlocal, Mollie, Mifinity, Razorpay, Volt supported payment methods, currencies and countries in feature matrix

Additional Changes

  • This PR modifies the API contract
  • This PR modifies the database schema
  • This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Feature API Call
Request

curl --location 'http://localhost:8080/feature_matrix' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: ____'

Response

{
    "connector_count": 8,
    "connectors": [
        {
            "name": "BAMBORA",
            "display_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",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub"
                    ],
                    "supported_countries": [
                        "US",
                        "CA"
                    ],
                    "supported_currencies": [
                        "USD"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "DEUTSCHEBANK",
            "display_name": "Deutsche Bank",
            "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",
                    "no_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",
                    "no_three_ds": "not_supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "DLOCAL",
            "display_name": "DLOCAL",
            "description": "Dlocal is a cross-border payment processor enabling businesses to accept and send payments in emerging markets worldwide.",
            "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",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub",
                        "UnionPay",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "CI",
                        "UY",
                        "VN",
                        "MX",
                        "BO",
                        "HN",
                        "ZM",
                        "TR",
                        "ZA",
                        "RW",
                        "AR",
                        "UG",
                        "CM",
                        "GT",
                        "CO",
                        "CL",
                        "GH",
                        "MY",
                        "PE",
                        "NI",
                        "KE",
                        "SA",
                        "ID",
                        "CN",
                        "SV",
                        "BR",
                        "IN",
                        "MA",
                        "PK",
                        "BD",
                        "PH",
                        "JP",
                        "TZ",
                        "TH",
                        "CR",
                        "PY",
                        "DO",
                        "EC",
                        "NG",
                        "EG",
                        "PA",
                        "SN"
                    ],
                    "supported_currencies": [
                        "PKR",
                        "HNL",
                        "CNY",
                        "DOP",
                        "PHP",
                        "KES",
                        "ARS",
                        "USD",
                        "IDR",
                        "THB",
                        "UYU",
                        "BRL",
                        "EGP",
                        "VND",
                        "ZMW",
                        "INR",
                        "JPY",
                        "PEN",
                        "PYG",
                        "XAF",
                        "MYR",
                        "SAR",
                        "BDT",
                        "BOB",
                        "TRY",
                        "CLP",
                        "NGN",
                        "COP",
                        "NIO",
                        "TZS",
                        "RWF",
                        "GHS",
                        "MAD",
                        "XOF",
                        "MXN",
                        "CRC",
                        "GTQ",
                        "UGX",
                        "ZAR"
                    ]
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "manual",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub",
                        "UnionPay",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": [
                        "NG",
                        "CL",
                        "BD",
                        "PE",
                        "DO",
                        "SV",
                        "BO",
                        "IN",
                        "AR",
                        "BR",
                        "ID",
                        "CN",
                        "MY",
                        "ZA",
                        "UG",
                        "UY",
                        "CM",
                        "VN",
                        "TZ",
                        "CO",
                        "PY",
                        "KE",
                        "TH",
                        "EC",
                        "MX",
                        "CI",
                        "EG",
                        "GH",
                        "NI",
                        "PK",
                        "GT",
                        "SA",
                        "SN",
                        "TR",
                        "JP",
                        "MA",
                        "PH",
                        "ZM",
                        "CR",
                        "HN",
                        "PA",
                        "RW"
                    ],
                    "supported_currencies": [
                        "JPY",
                        "PEN",
                        "UGX",
                        "TRY",
                        "ZMW",
                        "CRC",
                        "RWF",
                        "DOP",
                        "CNY",
                        "BOB",
                        "INR",
                        "XOF",
                        "CLP",
                        "ARS",
                        "BRL",
                        "VND",
                        "COP",
                        "USD",
                        "NGN",
                        "BDT",
                        "IDR",
                        "KES",
                        "XAF",
                        "TZS",
                        "UYU",
                        "PKR",
                        "HNL",
                        "EGP",
                        "MAD",
                        "GTQ",
                        "THB",
                        "NIO",
                        "PYG",
                        "PHP",
                        "GHS",
                        "MXN",
                        "SAR",
                        "ZAR",
                        "MYR"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "MIFINITY",
            "display_name": "MIFINITY",
            "description": "Mifinity is a payment gateway empowering you to pay online, receive funds, and send money globally, the MiFinity eWallet supports super-low fees, offering infinite possibilities to do more of the things you love.",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "wallet",
                    "payment_method_type": "mifinity",
                    "mandates": "not_supported",
                    "refunds": "not_supported",
                    "supported_capture_methods": [
                        "automatic"
                    ],
                    "supported_countries": [
                        "MO",
                        "BA",
                        "PR",
                        "AS",
                        "IE",
                        "DM",
                        "LS",
                        "EE",
                        "PK",
                        "MK",
                        "KR",
                        "BT",
                        "TC",
                        "TO",
                        "FO",
                        "TH",
                        "HM",
                        "IS",
                        "BS",
                        "RW",
                        "SH",
                        "ML",
                        "LV",
                        "SV",
                        "SC",
                        "CG",
                        "UZ",
                        "CK",
                        "PS",
                        "KW",
                        "MG",
                        "LC",
                        "GB",
                        "NL",
                        "AU",
                        "MA",
                        "DO",
                        "GP",
                        "GR",
                        "PW",
                        "MZ",
                        "DJ",
                        "PL",
                        "FM",
                        "BR",
                        "PF",
                        "CX",
                        "GW",
                        "RE",
                        "KN",
                        "TN",
                        "LI",
                        "HK",
                        "SE",
                        "BW",
                        "JP",
                        "KZ",
                        "BD",
                        "VU",
                        "MU",
                        "LT",
                        "ER",
                        "CU",
                        "PH",
                        "NP",
                        "CH",
                        "NU",
                        "AE",
                        "SM",
                        "AW",
                        "RS",
                        "LK",
                        "VC",
                        "PE",
                        "IM",
                        "TF",
                        "GM",
                        "SZ",
                        "AD",
                        "NO",
                        "KH",
                        "MH",
                        "MN",
                        "MF",
                        "GY",
                        "BJ",
                        "EG",
                        "QA",
                        "TD",
                        "SI",
                        "BO",
                        "AR",
                        "WS",
                        "RO",
                        "VA",
                        "SO",
                        "BI",
                        "ID",
                        "JO",
                        "MD",
                        "MW",
                        "UA",
                        "CN",
                        "VE",
                        "ZA",
                        "IO",
                        "OM",
                        "FR",
                        "LA",
                        "MS",
                        "MX",
                        "YT",
                        "LU",
                        "UG",
                        "VN",
                        "NI",
                        "PM",
                        "HT",
                        "PT",
                        "ME",
                        "LB",
                        "FK",
                        "GT",
                        "KG",
                        "GD",
                        "FJ",
                        "NC",
                        "ET",
                        "MT",
                        "AG",
                        "CY",
                        "BG",
                        "SG",
                        "BZ",
                        "CZ",
                        "GQ",
                        "AT",
                        "NA",
                        "PG",
                        "MR",
                        "CF",
                        "NZ",
                        "KI",
                        "SL",
                        "GE",
                        "BN",
                        "GU",
                        "NF",
                        "MP",
                        "IN",
                        "TR",
                        "SB",
                        "FI",
                        "DK",
                        "TW",
                        "NG",
                        "SN",
                        "EH",
                        "CR",
                        "AX",
                        "TL",
                        "UY",
                        "CC",
                        "BB",
                        "CI",
                        "SX",
                        "GF",
                        "AM",
                        "CA",
                        "TV",
                        "CO",
                        "CV",
                        "ZM",
                        "TM",
                        "JE",
                        "GS",
                        "AO",
                        "ES",
                        "KM",
                        "DZ",
                        "BQ",
                        "GH",
                        "DE",
                        "SK",
                        "KE",
                        "BM",
                        "KY",
                        "GG",
                        "TK",
                        "TG",
                        "WF",
                        "VI",
                        "AZ",
                        "CM",
                        "BH",
                        "SJ",
                        "NR",
                        "NE",
                        "SR",
                        "PA",
                        "IT",
                        "AL",
                        "MY",
                        "GL",
                        "BL",
                        "VG",
                        "HR",
                        "AI",
                        "BF",
                        "BE",
                        "PN",
                        "IL",
                        "CL",
                        "GN",
                        "PY",
                        "MC",
                        "EC",
                        "GA",
                        "SA",
                        "CW",
                        "HN",
                        "MQ",
                        "TT",
                        "ST",
                        "GI",
                        "RU",
                        "MV"
                    ],
                    "supported_currencies": [
                        "SEK",
                        "INR",
                        "PLN",
                        "GBP",
                        "RUB",
                        "UYU",
                        "NOK",
                        "AUD",
                        "ZAR",
                        "CAD",
                        "EUR",
                        "USD",
                        "NZD",
                        "EGP",
                        "CZK",
                        "UZS",
                        "JPY",
                        "CHF",
                        "DKK",
                        "CNY"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "MOLLIE",
            "display_name": "MOLLIE",
            "description": "Mollie is a Developer-friendly processor providing simple and customizable payment solutions for businesses of all sizes.",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "wallet",
                    "payment_method_type": "paypal",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "wallet",
                    "payment_method_type": "apple_pay",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "credit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub",
                        "UnionPay",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "card",
                    "payment_method_type": "debit",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "three_ds": "supported",
                    "no_three_ds": "supported",
                    "supported_card_networks": [
                        "Visa",
                        "Mastercard",
                        "AmericanExpress",
                        "Discover",
                        "JCB",
                        "DinersClub",
                        "UnionPay",
                        "Interac",
                        "CartesBancaires"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "bank_debit",
                    "payment_method_type": "sepa",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "przelewy24",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": [
                        "PL"
                    ],
                    "supported_currencies": [
                        "EUR",
                        "PLN"
                    ]
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "bancontact_card",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "eps",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": [
                        "AT"
                    ],
                    "supported_currencies": [
                        "EUR"
                    ]
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "ideal",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": [
                        "NL"
                    ],
                    "supported_currencies": [
                        "EUR"
                    ]
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "sofort",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                },
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "giropay",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic",
                        "sequential_automatic"
                    ],
                    "supported_countries": null,
                    "supported_currencies": null
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "RAZORPAY",
            "display_name": "RAZORPAY",
            "description": "Razorpay helps you accept online payments from customers across Desktop, Mobile web, Android & iOS. Additionally by using Razorpay Payment Links, you can collect payments across multiple channels like SMS, Email, Whatsapp, Chatbots & Messenger.",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "upi",
                    "payment_method_type": "upi_collect",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic"
                    ],
                    "supported_countries": [
                        "IN"
                    ],
                    "supported_currencies": [
                        "INR"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "VOLT",
            "display_name": "VOLT",
            "description": "Volt is a payment gateway operating in China, specializing in facilitating local bank transfers",
            "category": "payment_gateway",
            "supported_payment_methods": [
                {
                    "payment_method": "bank_redirect",
                    "payment_method_type": "open_banking_uk",
                    "mandates": "not_supported",
                    "refunds": "supported",
                    "supported_capture_methods": [
                        "automatic"
                    ],
                    "supported_countries": [
                        "PL",
                        "SI",
                        "SE",
                        "LT",
                        "NO",
                        "LU",
                        "HU",
                        "DK",
                        "SK",
                        "GR",
                        "ES",
                        "LV",
                        "DE",
                        "IE",
                        "BG",
                        "RO",
                        "CZ",
                        "BE",
                        "AU",
                        "MT",
                        "GB",
                        "BR",
                        "FR",
                        "HR",
                        "IT",
                        "AT",
                        "CY",
                        "EE",
                        "NL",
                        "FI",
                        "PT"
                    ],
                    "supported_currencies": [
                        "EUR",
                        "NOK",
                        "PLN",
                        "SEK",
                        "AUD",
                        "GBP",
                        "BRL",
                        "DKK"
                    ]
                }
            ],
            "supported_webhook_flows": []
        },
        {
            "name": "ZSL",
            "display_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

  • I formatted the code cargo +nightly fmt --all
  • I addressed lints thrown by cargo clippy
  • I reviewed the submitted code
  • I added unit tests for my changes where possible

@swangi-kumari swangi-kumari requested review from a team as code owners February 17, 2025 13:30
Copy link

semanticdiff-com bot commented Feb 17, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  crates/hyperswitch_connectors/src/connectors/mifinity.rs  16% smaller
  crates/hyperswitch_connectors/src/connectors/razorpay.rs  16% smaller
  crates/hyperswitch_connectors/src/connectors/volt.rs  16% smaller
  crates/hyperswitch_connectors/src/connectors/dlocal.rs  14% smaller
  crates/hyperswitch_connectors/src/connectors/mollie.rs  4% smaller
  config/config.example.toml Unsupported file format
  config/deployments/integration_test.toml Unsupported file format
  config/deployments/production.toml Unsupported file format
  config/deployments/sandbox.toml Unsupported file format
  config/development.toml Unsupported file format
  config/docker_compose.toml Unsupported file format
  loadtest/config/development.toml Unsupported file format

@swangi-kumari swangi-kumari self-assigned this Feb 17, 2025
@swangi-kumari swangi-kumari added A-connector-integration Area: Connector integration C-feature Category: Feature request or enhancement labels Feb 17, 2025
@swangi-kumari swangi-kumari added this to the February 2025 Release milestone Feb 17, 2025
connector_type: enums::PaymentConnectorCategory::PaymentGateway,
};

static ref RAZORPAY_SUPPORTED_WEBHOOK_FLOWS: Vec<enums::EventClass> = Vec::new();
Copy link
Contributor

@AkshayaFoiger AkshayaFoiger Feb 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Include the supported webhook types

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove validate_connector_against_payment_request()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-connector-integration Area: Connector integration C-feature Category: Feature request or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants