feat(router): introduce feature and feature_data to gsm#7771
Merged
Gnanasundari24 merged 35 commits intomainfrom Jul 31, 2025
Merged
feat(router): introduce feature and feature_data to gsm#7771Gnanasundari24 merged 35 commits intomainfrom
feature and feature_data to gsm#7771Gnanasundari24 merged 35 commits intomainfrom
Conversation
feature and feature_data to gsm
feature and feature_data to gsmfeature and feature_data to gsm
…ay/hyperswitch into gsm/introduce-domain-models
…ay/hyperswitch into gsm/introduce-domain-models
…ay/hyperswitch into gsm/introduce-domain-models
jarnura
requested changes
Apr 11, 2025
migrations/2025-04-07-133030_add_feature_data_column_to_gsm/up.sql
Outdated
Show resolved
Hide resolved
14 tasks
…/introduce-domain-models
…/introduce-domain-models
…ay/hyperswitch into gsm/introduce-domain-models
…ay/hyperswitch into gsm/introduce-domain-models
jarnura
previously approved these changes
Jul 28, 2025
…ay/hyperswitch into gsm/introduce-domain-models
…/introduce-domain-models
…ay/hyperswitch into gsm/introduce-domain-models
sai-harsha-vardhan
approved these changes
Jul 30, 2025
jarnura
approved these changes
Jul 30, 2025
pixincreate
added a commit
that referenced
this pull request
Aug 1, 2025
…rver * 'main' of github.com:juspay/hyperswitch: (25 commits) chore: `xof` currency to cybersource cards (#8799) chore(version): 2025.08.01.0 feat(core): Implement UCS based upi for paytm and phonepe (#8732) feat(connector): [katapult]add template code for katapult (#8783) feat(router): introduce `feature` and `feature_data` to gsm (#7771) feat(connector): [cybersource] add changes for field CybersourceConsumerAuthInformation (#8768) feat(authentication): added authentication sync api (#8596) feat(connector): [facilitapay] fix refunds, add webhook and void support (#8778) feat(connector): [payload] add recurring payments (#8597) chore(version): 2025.07.31.0 feat(connector): [Flexiti]Add support for flexiti connector (#8743) chore(router): events enhancement for kafka (#8780) ci(cypress): Making a mandate payment with large customer user agents (#8790) fix(openapi): update create_platform endpoint in api-reference docs (#8782) chore(version): 2025.07.30.0 fix(connector): [GLOBALPAY] Added Tokenization Flow for CITs (#8568) feat(routing): Add api-refs for new decision engine endpoints (#8709) fix: replace xtrim with xdel to support older redis version (#8515) fix(connector): [Worldpay] handle multiple ddc submission for CompleteAuthorize (#8741) feat(connector): [Adyen] receive incoming webhooks for pix expiry (#8720) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type of Change
Description
This pull request includes a number of changes to the
gsmmodule across multiple files to introduce new features and improve the existing code structure. The most important changes include the addition of new fields and enums, refactoring of existing enums, and introducing domain models for gsm.Changes to
gsmmodule:crates/api_models/src/gsm.rs:alternate_network_possibleandfeaturetoGsmCreateRequest,GsmUpdateRequest, andGsmResponsestructs.step_up_possibleandclear_pan_possibleare made as optional in api contract these are retry feature specific dataand might not be present for other features.
crates/common_enums/src/enums.rs:GsmFeatureto handle GSM decision and feature data.Requeueas feature us not yet implementedAdditional Changes
Motivation and Context
How did you test it?
Create gsm rule without passing feature and feature data
Db entry

Update rule
"clear_pan_possible": falseTest case of existing records
(manually create db entries like the existing ones and try to update it)

db entry showing feature and feature_data to be null
-> update call will
"clear_pan_possible": trueDB entry after update

Test case for the new change where in which we pass feature and feature data in the request
Note :-
Same goes for db state and update gsm call
-> Update call
-> Test a retry payment
Checklist
cargo +nightly fmt --allcargo clippy