feat(connector): add integration status to feature matrix #8351
feat(connector): add integration status to feature matrix #8351Gnanasundari24 merged 39 commits intomainfrom
Conversation
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
WalkthroughThis update introduces a new Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant API
participant Connectors
Client->>API: Request Connector Feature Matrix
API->>Connectors: Retrieve connector metadata
Connectors-->>API: Return metadata (includes integration_status)
API-->>Client: Respond with ConnectorFeatureMatrixResponse (integration_status included)
sequenceDiagram
participant Developer
participant OpenAPI Spec
Developer->>OpenAPI Spec: Define/Update ConnectorIntegrationStatus enum
OpenAPI Spec-->>Developer: Expose enum in API schema (integration_status property)
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 900000ms (6)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (13)
crates/router/src/routes/feature_matrix.rs (1)
104-104: Integration Status Mapping Added
Integration status is now correctly mapped from connector metadata into the response. Consider adding a unit test forbuild_connector_feature_detailsto verifyintegration_statusis serialized as expected.crates/hyperswitch_connectors/src/connectors/fiuu.rs (1)
1118-1118: Integration status added correctly toConnectorInfo.
The newintegration_statusfield is properly set toAlpha. For consistency with other connectors, consider importinguse common_enums::enums;and usingenums::ConnectorIntegrationStatus::Alpha.crates/common_enums/src/enums.rs (2)
8248-8273: MissingEnumStringderive for parsing
Most enums in this crate derive bothstrum::Displayandstrum::EnumStringto allow round-trip conversion between strings and enum values. Consider addingstrum::EnumStringhere so consumers can parse incoming strings intoConnectorIntegrationStatusif needed in the future.
8248-8273: Variant ordering suggestion
The variants are currently listedLive,Sandbox,Beta,Alpha. For clarity, you may want to reorder them in natural maturity order (Alpha,Beta,Sandbox,Live).api-reference/v1/openapi_spec_v1.json (2)
10642-10651: ConnectorIntegrationStatus enum definition review
The enum schema is well-formed. For better logical flow in the documentation, consider listing the lifecycle stages in progression (alpha,beta,sandbox,live) instead of reverse order.Suggested ordering:
"enum": [ - "live", - "sandbox", - "beta", - "alpha" + "alpha", + "beta", + "sandbox", + "live" ]
10617-10624: ```shell
#!/usr/bin/env bashShow extended context to check for description and example in v2 spec
rg -n -F '"integration_status": {' -A10 -B2 api-reference/v2/openapi_spec_v2.json
</blockquote></details> <details> <summary>api-reference/v2/openapi_spec_v2.json (2)</summary><blockquote> `8284-8291`: **Add description to `integration_status` property** To improve generated API docs, include a `description` for this field. ```diff "integration_status": { "allOf": [ { "$ref": "#/components/schemas/ConnectorIntegrationStatus" } ], - "nullable": true + "description": "The current integration status of the connector (e.g., alpha, beta, sandbox, live).", + "nullable": true },
8309-8318: Reorder enum values for logical progression
List the statuses from least mature to most mature to reflect lifecycle stages."enum": [ - "live", - "sandbox", - "beta", - "alpha" + "alpha", + "beta", + "sandbox", + "live" ]config/development.toml (1)
435-439: Normalize formatting for consistency
Some entries (sepa,bacs,becs,sofort,blik) lack spaces around braces and equals. Consider unifying style:-[sepa = {country="AT,BE,...", currency="EUR"}] +sepa = { country = "AT,BE,...", currency = "EUR" }config/deployments/production.toml (3)
544-545: Ensure Stripe credit/debit pm_filters are accurate and maintainable.
The duplicated large country and currency lists may be hard to maintain. Consider reusing the default pm_filters or centralizing this list to avoid divergence across environments. Also verify that all listed regions and currencies are officially supported by Stripe.
548-548: Inconsistent formatting: add space after “{” in Apple Pay filter.
Align with other entries by inserting a space after the opening brace:- apple_pay = {country = "...", currency = "..."} + apple_pay = { country = "...", currency = "..."}
552-552: Inconsistent formatting: add space after “{” in Google Pay filter.
For consistency, include a space after the brace:- google_pay = {country = "...", currency = "..."} + google_pay = { country = "...", currency = "..."}config/docker_compose.toml (1)
575-593: Refactor repeated Stripe payment method filters for maintainability
Individual payment‐method entries (epsthroughali_pay) re-use large country/currency lists verbatim. This is error-prone and difficult to update. Extract shared lists into TOML arrays or leverage the default[pm_filters.default]to DRY up and reduce duplication.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (81)
api-reference/v1/openapi_spec_v1.json(2 hunks)api-reference/v2/openapi_spec_v2.json(2 hunks)config/deployments/integration_test.toml(1 hunks)config/deployments/production.toml(1 hunks)config/deployments/sandbox.toml(1 hunks)config/development.toml(1 hunks)config/docker_compose.toml(1 hunks)crates/api_models/src/feature_matrix.rs(1 hunks)crates/common_enums/src/enums.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/aci.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/adyen.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/airwallex.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/authorizedotnet.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/bambora.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/bamboraapac.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/barclaycard.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/billwerk.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/bitpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/bluesnap.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/braintree.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/cashtocode.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/checkout.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/coinbase.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/coingate.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/deutschebank.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/digitalvirgo.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/dlocal.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/elavon.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/facilitapay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/fiserv.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/fiservemea.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/fiuu.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/forte.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/getnet.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/globalpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/globepay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/gocardless.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/helcim.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/hipay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/iatapay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/inespay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/itaubank.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/jpmorgan.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/klarna.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/mifinity.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/mollie.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/moneris.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/multisafepay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/nexinets.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/nexixpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/novalnet.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/nuvei.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/opennode.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/paybox.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/paystack.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/payu.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/placetopay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/powertranz.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/prophetpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/rapyd.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/razorpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/redsys.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/shift4.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/square.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/stax.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/stripe.rs(3 hunks)crates/hyperswitch_connectors/src/connectors/tokenio.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/tsys.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/volt.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/wellsfargo.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/worldline.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/worldpay.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/worldpayvantiv.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/worldpayxml.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/xendit.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/zen.rs(1 hunks)crates/hyperswitch_connectors/src/connectors/zsl.rs(1 hunks)crates/hyperswitch_domain_models/src/router_response_types.rs(1 hunks)crates/openapi/src/openapi.rs(1 hunks)crates/openapi/src/openapi_v2.rs(1 hunks)crates/router/src/routes/feature_matrix.rs(1 hunks)
🔇 Additional comments (91)
crates/openapi/src/openapi_v2.rs (1)
310-310: Document ConnectorIntegrationStatus in OpenAPI v2
The new enum is included in the component schemas, enabling documentation of theintegration_statusfield.crates/openapi/src/openapi.rs (1)
352-352: Document ConnectorIntegrationStatus in OpenAPI v1
Components now include theConnectorIntegrationStatusenum, completing the API schema update.crates/hyperswitch_connectors/src/connectors/billwerk.rs (1)
879-879: Set integration status to Alpha for Billwerk
The connector info struct now reflects theAlphamaturity level in itsintegration_statusfield.crates/hyperswitch_connectors/src/connectors/novalnet.rs (1)
1091-1091: Integration status field correctly set.New
integration_statusfield is added and set toAlphaas intended, aligning with PR objectives to expose connector maturity.crates/hyperswitch_connectors/src/connectors/deutschebank.rs (1)
1077-1077: Integration status field correctly set.New
integration_statusfield is added and set toAlpha, consistent with other connectors and PR objectives to surface connector maturity.crates/hyperswitch_connectors/src/connectors/zen.rs (1)
869-869: Integration status field correctly set.
integration_statusadded withAlphavalue, matching the enhancements to feature matrix response.crates/hyperswitch_connectors/src/connectors/redsys.rs (1)
890-890: Integration status field correctly set.The new
integration_status: ConnectorIntegrationStatus::Alphaaligns with the PR intent and matches the struct format.crates/hyperswitch_connectors/src/connectors/nuvei.rs (1)
1104-1104: Integration status field correctly set.The
integration_status: ConnectorIntegrationStatus::Alphaaddition is consistent with other connectors and follows the established pattern.crates/hyperswitch_connectors/src/connectors/paybox.rs (1)
763-763: Integration status field correctly set.The
integration_status: ConnectorIntegrationStatus::Alphais inserted in the right place and conforms to the connector metadata structure.crates/hyperswitch_connectors/src/connectors/stax.rs (1)
1005-1005: Add integration_status to ConnectorInfo
The newintegration_statusfield set toAlphais correctly added to the STAX connector metadata.crates/hyperswitch_connectors/src/connectors/tsys.rs (1)
712-712: Add integration_status to ConnectorInfo
Theintegration_statusfield correctly reflects the Alpha status for the TSYS connector.crates/hyperswitch_connectors/src/connectors/square.rs (1)
926-926: Add integration_status to ConnectorInfo
Theintegration_statusfield is correctly added with theAlphavalue for the Square connector.crates/hyperswitch_connectors/src/connectors/bitpay.rs (1)
450-450: Add integration_status to ConnectorInfo
Theintegration_statusfield is correctly added asAlphafor the BitPay connector.crates/hyperswitch_connectors/src/connectors/elavon.rs (1)
661-667: Integration status correctly added to Elavon.
TheELAVON_CONNECTOR_INFOstruct now includesintegration_status: Alphaas intended.crates/hyperswitch_connectors/src/connectors/helcim.rs (1)
904-907: Integration status correctly added to Helcim.
TheHELCIM_CONNECTOR_INFOstruct includesintegration_status: Alphaproperly.crates/hyperswitch_connectors/src/connectors/razorpay.rs (1)
815-817: Integration status correctly added to Razorpay.
TheRAZORPAY_CONNECTOR_INFOstatic now surfacesintegration_status: Alphaas expected.crates/hyperswitch_connectors/src/connectors/globalpay.rs (1)
1155-1155: Integration status property added correctlyThe new
integration_statusfield has been integrated into theConnectorInfostruct for Globalpay, aligning with updated domain models and API schemas.crates/hyperswitch_connectors/src/connectors/moneris.rs (1)
875-875: Integration status property added correctlyThe
integration_status: Alphaentry for Moneris aligns with the standardizedConnectorInfoschema update.crates/hyperswitch_connectors/src/connectors/inespay.rs (1)
743-743: Integration status property added correctlyThe
integration_status: Alphaentry for Inespay follows the newConnectorInfoschema and will be exposed in API responses.crates/hyperswitch_connectors/src/connectors/worldpay.rs (1)
1341-1341: Integration status field added correctly
The newintegration_status: ConnectorIntegrationStatus::Alphais properly declared and aligns with the connector’s maturity metadata.crates/hyperswitch_connectors/src/connectors/itaubank.rs (1)
821-821: Add integration_status to connector info
Theintegration_status: ConnectorIntegrationStatus::Alphaentry is correctly inserted. Confirm that this status is reflected in the feature matrix response and API docs.crates/hyperswitch_connectors/src/connectors/placetopay.rs (1)
732-732: Set integration_status for PlacetoPay
Theintegration_status: ConnectorIntegrationStatus::Alphafield is correctly included. Ensure consistency with other connectors and the OpenAPI schema.crates/hyperswitch_connectors/src/connectors/worldpayvantiv.rs (1)
791-793: Integration status added to connector info.
Theintegration_statusfield is correctly populated withConnectorIntegrationStatus::AlphainWORLDPAYVANTIV_CONNECTOR_INFO, making connector maturity explicit.crates/hyperswitch_connectors/src/connectors/airwallex.rs (1)
1191-1192: Integration status added to connector info.
AIRWALLEX_CONNECTOR_INFOnow includesintegration_status: ConnectorIntegrationStatus::Alpha, aligning with the new schema.crates/hyperswitch_connectors/src/connectors/fiservemea.rs (1)
855-856: Integration status added to connector info.
FISERVEMEA_CONNECTOR_INFOcorrectly definesintegration_status: ConnectorIntegrationStatus::Alpha, enabling feature matrix integration status reporting.crates/hyperswitch_connectors/src/connectors/hipay.rs (1)
821-821: Add integration_status to HIPAY_CONNECTOR_INFO
Good inclusion of the newintegration_statusfield set toAlpha, reflecting the connector’s current maturity.crates/hyperswitch_connectors/src/connectors/wellsfargo.rs (1)
1416-1416: Add integration_status to WELLSFARGO_CONNECTOR_INFO
Theintegration_statusfield has been correctly added and set toAlpha. Ensure this value aligns with internal documentation and API exposure.crates/hyperswitch_connectors/src/connectors/mollie.rs (1)
801-801: Add integration_status to MOLLIE_CONNECTOR_INFO
Connector metadata now includesintegration_status=Alpha. Confirm consistency with other connectors and API schemas.crates/hyperswitch_connectors/src/connectors/payu.rs (1)
880-886: ConnectorInfo extended with integration_status
The newintegration_statusfield is correctly added toPAYU_CONNECTOR_INFOusing theConnectorIntegrationStatusenum.crates/hyperswitch_connectors/src/connectors/aci.rs (1)
754-756: ConnectorInfo extended with integration_status
Theintegration_statusfield is correctly added toACI_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/digitalvirgo.rs (1)
558-559: ConnectorInfo extended with integration_status
Theintegration_statusfield is correctly added toDIGITALVIRGO_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/checkout.rs (1)
1556-1556: Integration status field added correctly.The new
integration_status: enums::ConnectorIntegrationStatus::Alphaentry aligns with the updatedConnectorInfostruct and fulfills the PR objective of exposing connector maturity.crates/hyperswitch_connectors/src/connectors/worldline.rs (1)
912-912: Integration status field added correctly.The
Worldlineconnector now includesintegration_status: enums::ConnectorIntegrationStatus::Alphaas intended, matching the new enum and feature-matrix enhancement.crates/hyperswitch_connectors/src/connectors/barclaycard.rs (1)
1026-1027: Integration status added for Barclaycard connectorThe
integration_status: enums::ConnectorIntegrationStatus::Alphafield has been correctly added toBARCLAYCARD_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/bamboraapac.rs (1)
801-802: Integration status added for Bamboraapac connectorThe
integration_status: enums::ConnectorIntegrationStatus::Alphafield has been correctly added toBAMBORAAPAC_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/getnet.rs (1)
869-870: Integration status added for Getnet connectorThe
integration_status: enums::ConnectorIntegrationStatus::Alphafield has been correctly added toGETNET_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/opennode.rs (1)
471-472: Integration status added for Opennode connectorThe
integration_status: enums::ConnectorIntegrationStatus::Alphafield has been correctly added toOPENNODE_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/coingate.rs (1)
640-645: Integration status metadata added
The newintegration_statusfield is correctly set toAlphainCOINGATE_CONNECTOR_INFO, aligning with the common enum.crates/hyperswitch_connectors/src/connectors/mifinity.rs (1)
537-539: Integration status metadata added
Theintegration_statusfield has been properly introduced and set toAlphainMIFINITY_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/nexinets.rs (1)
867-868: Integration status metadata added
Theintegration_statusproperty is correctly included asAlphainNEXINETS_CONNECTOR_INFO.crates/hyperswitch_connectors/src/connectors/nexixpay.rs (1)
1083-1084: Integration status metadata added
Theintegration_statusfield is present and set toAlphainNEXIXPAY_CONNECTOR_INFOas expected.crates/hyperswitch_domain_models/src/router_response_types.rs (1)
590-591: Add integration_status field to ConnectorInfo
The newintegration_statusfield is correctly defined in theConnectorInfostruct.crates/hyperswitch_connectors/src/connectors/klarna.rs (1)
1398-1400: Populateintegration_statusfor Klarna connector
Theintegration_statusis set toAlphaand aligns with the updated domain model.crates/hyperswitch_connectors/src/connectors/xendit.rs (1)
1029-1029: Populateintegration_statusfor Xendit connector
Theintegration_statusis correctly set toAlphaand matches the new enum.crates/hyperswitch_connectors/src/connectors/jpmorgan.rs (1)
890-892: Add integration_status to connector metadata
The newintegration_status: Alphaentry correctly signals the JPMorgan connector’s maturity. Consider adding or extending a unit/integration test to assert this field appears in the feature matrix API response.crates/hyperswitch_connectors/src/connectors/multisafepay.rs (1)
676-678: Add integration_status to connector metadata
Settingintegration_status: Alphaaligns with the PR objective. Please verify thatbuild_connector_feature_detailsin the router layer populates this field and add test coverage to confirm its presence in the API output.crates/hyperswitch_connectors/src/connectors/powertranz.rs (1)
671-673: Add integration_status to connector metadata
Theintegration_status: Alphaline is consistent with other connectors. Ensure the OpenAPI documentation and schema components include this field and add a test to validate its serialization in the feature matrix endpoint.crates/hyperswitch_connectors/src/connectors/prophetpay.rs (1)
748-750: Add integration_status to connector metadata
UsingAlphahere matches the new enum. Verify that the API model (ConnectorFeatureMatrixResponse) and JSON schema reflect this addition, and include test assertions for the field in the feature matrix response.crates/hyperswitch_connectors/src/connectors/bluesnap.rs (1)
1483-1485: Integration status field added correctly.The
integration_statusproperty is properly introduced withAlphafor BlueSnap, aligning with the newConnectorIntegrationStatusenum and ensuring this metadata flows through the feature matrix.crates/hyperswitch_connectors/src/connectors/forte.rs (1)
785-787: Integration status field added correctly.The
integration_statusproperty is properly introduced withAlphafor Forte, consistent with other connectors and the updatedConnectorIntegrationStatusenum.crates/hyperswitch_connectors/src/connectors/braintree.rs (1)
1311-1311: Integration status added correctly toConnectorInfo.
The newintegration_statusfield withAlphais properly included in the connector metadata.crates/hyperswitch_connectors/src/connectors/globepay.rs (1)
605-605: Integration status added correctly toConnectorInfo.
The newintegration_statusfield withAlphais properly included in the connector metadata.crates/hyperswitch_connectors/src/connectors/cashtocode.rs (1)
487-493: ConnectorInfo updated withintegration_status
Theintegration_statusfield is correctly added asAlpha, reflecting the connector’s development stage.crates/hyperswitch_connectors/src/connectors/dlocal.rs (1)
745-751: ConnectorInfo updated withintegration_status
Theintegration_statusfield is correctly set toAlpha, aligning with the connector’s current maturity.crates/hyperswitch_connectors/src/connectors/shift4.rs (1)
949-955: ConnectorInfo updated withintegration_status
Theintegration_statusfield is properly introduced asAlpha, matching the intended connector lifecycle.crates/hyperswitch_connectors/src/connectors/volt.rs (1)
764-770: ConnectorInfo updated withintegration_status
Theintegration_statusentry for Volt is correctly added asAlpha, consistent with other connectors.crates/hyperswitch_connectors/src/connectors/paystack.rs (1)
687-687: Integration status addition is correctThe
integration_status: ConnectorIntegrationStatus::Alphafield has been correctly added to the Paystack connector metadata.crates/hyperswitch_connectors/src/connectors/gocardless.rs (1)
914-914: Integration status addition is correctThe
integration_status: ConnectorIntegrationStatus::Alphafield has been correctly added to the GoCardless connector metadata.crates/hyperswitch_connectors/src/connectors/rapyd.rs (1)
1040-1040: Integration status addition is correctThe
integration_status: ConnectorIntegrationStatus::Alphafield has been correctly added to the Rapyd connector metadata.crates/hyperswitch_connectors/src/connectors/fiserv.rs (1)
979-979: Addintegration_statusto connector metadata
TheFISERV_CONNECTOR_INFOnow includes the newintegration_statusfield set toAlpha, matching the updated enum and API schema.crates/hyperswitch_connectors/src/connectors/worldpayxml.rs (1)
825-825: Addintegration_statusto connector metadata
TheWORLDPAYXML_CONNECTOR_INFOnow includes the newintegration_statusfield set toAlpha, aligning with the domain and API model changes.crates/hyperswitch_connectors/src/connectors/facilitapay.rs (1)
775-775: Addintegration_statusto connector metadata
TheFACILITAPAY_CONNECTOR_INFOnow includes the newintegration_statusfield set toAlpha, reflecting its integration maturity in the feature matrix.crates/hyperswitch_connectors/src/connectors/tokenio.rs (1)
774-774: Addintegration_statusto connector metadata
TheTOKENIO_CONNECTOR_INFOnow includes the newintegration_statusfield set toAlpha, consistent with the new enum and API schema updates.crates/api_models/src/feature_matrix.rs (1)
74-76: Add integration_status to ConnectorFeatureMatrixResponse
The newintegration_statusfield is correctly declared as an optional enum with schema metadata and example. This aligns with the OpenAPI spec and enables reporting connector maturity.crates/hyperswitch_connectors/src/connectors/adyen.rs (1)
3022-3024: Include integration_status in ADYEN_CONNECTOR_INFO
The staticADYEN_CONNECTOR_INFOnow properly setsintegration_statustoLive. This matches the updatedConnectorInfostruct and maintains consistency with other connector definitions.crates/hyperswitch_connectors/src/connectors/iatapay.rs (1)
766-766: Add integration_status to connector metadata
The newintegration_status: enums::ConnectorIntegrationStatus::Alphaentry properly marks the Iatapay connector as alpha and aligns with the updatedConnectorInfoschema.crates/hyperswitch_connectors/src/connectors/authorizedotnet.rs (1)
1141-1141: Add integration_status to connector metadata
Theintegration_status: enums::ConnectorIntegrationStatus::Alphafield is correctly added to Authorize.net’sConnectorInfo, matching the PR’s objective of exposing connector maturity.crates/hyperswitch_connectors/src/connectors/coinbase.rs (1)
444-444: Add integration_status to connector metadata
The integration status for the Coinbase connector is accurately set toAlpha, consistent with the new enum and other connectors.crates/hyperswitch_connectors/src/connectors/zsl.rs (1)
476-476: Add integration_status to connector metadata
The ZSL connector’sintegration_status: enums::ConnectorIntegrationStatus::Alphais properly defined and in line with the update across all connectors.crates/hyperswitch_connectors/src/connectors/bambora.rs (1)
867-867: Integration status added as expected.The new
integration_statusfield is correctly set toConnectorIntegrationStatus::Alphaon theBAMBORA_CONNECTOR_INFOstatic, matching the updatedConnectorInfodefinition.config/deployments/sandbox.toml (4)
552-553: Stripe credit & debit filters expanded
The global coverage lists forcreditanddebitnow include a comprehensive set of country codes as intended. Ensure there are no duplicates and that this list matches Stripe’s actual supported countries in sandbox.
556-556: Review Stripeapple_payfilter list
Theapple_paycountry and currency list has been widened significantly. Confirm these entries align with Stripe’s sandbox support matrix.
560-560: Review Stripegoogle_payfilter list
Thegoogle_payfilters are updated with a broad set. Verify that the included countries and currencies match Stripe’s documented capabilities.
563-576: New Stripe payment method filters added
Multiple new payment methods (multibanco,sepa,bacs,becs,sofort,blik,bancontact_card,przelewy24,online_banking_fpx,amazon_pay,we_chat_pay,ali_pay) are introduced. Please validate each against Stripe’s official docs for correct country & currency coverage.config/development.toml (5)
421-422: Stripe credit/debit filters: comprehensive global support
The updatedcreditanddebitentries now include full country and currency scopes matching Stripe’s global footprint.
425-429: Expand region support for core payment methods
The newapple_pay,cashapp,giropay, andgoogle_payentries correctly reflect Stripe’s multi-region, multi-currency capabilities.
431-432: Add Klarna and Multibanco support
The integration ofklarnaandmultibancowith accurate country and currency lists aligns with official Stripe docs.
440-442: Include additional bank transfer methods
Thebancontact_card,przelewy24, andonline_banking_fpxfilters are correctly added for Stripe.
443-446: Introduced alternative payment methods
Entries foramazon_pay,we_chat_pay, andali_payare accurate and complete.config/deployments/production.toml (4)
558-561: Verify SEPA, BACS, BECS, and Sofort support regions.
Cross-check that Stripe supports:
- SEPA across the specified Eurozone countries.
- BACS in the UK only.
- BECS in Australia only.
- Sofort in the listed European markets.
Adjust country lists to match Stripe’s official coverage.
562-565: Confirm Blik, Bancontact, Przelewy24 & FPX support.
These local methods were added under Stripe. Verify Stripe’s API support for:
- BLIK (Poland)
- Bancontact (Belgium)
- Przelewy24 (Poland)
- Online Banking FPX (Malaysia)
Ensure the country/currency filters align with Stripe’s documentation.
566-568: Validate Amazon Pay, WeChat Pay & Alipay filters.
Stripe offers these alternative payment methods only in select markets. Please confirm the exact supported country and currency combinations for:
- Amazon Pay
- WeChat Pay
- Alipay
and update the filters based on Stripe’s official docs.
555-555: [web_search]Which countries are supported by Stripe for Multibanco payments?config/docker_compose.toml (1)
569-573: Ensure Stripe supportedcredit/debitlists are accurate and maintainable
These filters hard-code an extensive list of ISO country codes and currencies. Please verify these against Stripe’s latest published support matrix to avoid drift. Consider automating list retrieval or centralizing the common lists to simplify future updates.config/deployments/integration_test.toml (6)
450-450: Validate updated Apple Pay filter under Stripe
The newapple_paycountry/currency set is extensive—ensure it aligns with the connector’s static metadata and your Cypress tests.
454-454: Review Google Pay filter adjustments for Stripe
Double-check that thegoogle_paylist here correctly reflects all supported regions and currencies per Stripe’s documentation.
457-457: Confirm addition of Multibanco to Stripe filters
Themultibancoentry is new; please ensure it’s also present and tested in the feature matrix response and matches production settings.
459-459: Verify Revolut Pay support for Stripe
revolut_payhas been added without country scope—confirm Stripe actually supports this payment method in Europe and document it accordingly.
460-470: Check all new Stripe PM filters for consistency
The block (sepa,bacs,becs,sofort,blik,bancontact_card,przelewy24,online_banking_fpx,amazon_pay,we_chat_pay,ali_pay) was expanded. Confirm each key is supported by Stripe’s API and that these entries match those in your connector’s static metadata and other environment configs.You can extract and compare the entire Stripe section with:
rg -A15 '\[pm_filters.stripe\]' config/deployments/*.toml
446-447: Here’s a more reliable way to pull out the Stripe credit/debit filters from every deployment config so you can do a side-by-side comparison:#!/usr/bin/env bash echo "Comparing Stripe credit/debit filters across all deployment configs" for f in config/deployments/*.toml; do echo -e "\n=== $f ===" # Print lines from [pm_filters.stripe] until the next table header, then filter for credit/debit sed -n '/\[pm_filters\.stripe\]/,/\[/p' "$f" \ | grep -E '^(credit|debit) =' \ || echo " (no credit/debit filters found)" donecrates/hyperswitch_connectors/src/connectors/stripe.rs (1)
3171-3183: Well-structured ConnectorSpecifications implementation!The trait implementation properly returns references to the static configuration data, providing comprehensive connector metadata including supported payment methods, webhook flows, and general connector information.
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
| common_enums::PaymentMethod::Card, | ||
| PaymentMethodType::Credit, | ||
| PaymentMethodDetails { | ||
| mandates: common_enums::FeatureStatus::NotSupported, |
There was a problem hiding this comment.
We support mandates in stripe ?
There was a problem hiding this comment.
Yes, we support mandates in stripe. I will update it
| api_models::feature_matrix::PaymentMethodSpecificFeatures::Card( | ||
| api_models::feature_matrix::CardSpecificFeatures { | ||
| three_ds: common_enums::FeatureStatus::Supported, | ||
| no_three_ds: common_enums::FeatureStatus::NotSupported, |
There was a problem hiding this comment.
We support non 3ds transactions as well
There was a problem hiding this comment.
Same for debit cards
fb90324
239ae3f
Type of Change
Description
This PR,
Adds integration status to feature matrix
In the response of the feature matrix query, integration status for each connector is added.
Fill stripe's feature data
Stripe's feature data is carefully filled by taking reference from https://docs.stripe.com/payments/payment-methods/payment-method-support. In case the payment method being global, all the countries and currencies supported by hyperswitch is considered supported
As Description and connector category is added to the connectors. We have made the supported payment methods optional in the feature matrix response. Have updated cypress_test accordingly
How did you test it?
The Cypress test case ran by default on this PR. It will help verify the supported capture and payment methods.
Test for feature matrix.
Ensure if
integration_statusis present in the response of Feature MatrixResponse
Checklist
cargo +nightly fmt --allcargo clippySummary by CodeRabbit
New Features
Documentation