-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
refactor(router): add feature_metadata for merchant_connector_account create v2 flow #7144
Open
srujanchikke
wants to merge
19
commits into
main
Choose a base branch
from
merchant_connector_account_db
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+356
−10
Conversation
This file contains 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
Changed Files
|
hyperswitch-bot
bot
added
the
M-database-changes
Metadata: This PR involves database schema changes
label
Jan 30, 2025
hyperswitch-bot
bot
added
the
M-api-contract-changes
Metadata: This PR involves API contract changes
label
Feb 5, 2025
Narayanbhat166
approved these changes
Feb 5, 2025
jarnura
approved these changes
Feb 6, 2025
ThisIsMani
approved these changes
Feb 6, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-core
Area: Core flows
api-v2
M-api-contract-changes
Metadata: This PR involves API contract changes
M-database-changes
Metadata: This PR involves database schema changes
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
Data poi
nt related to Revenue Recovery
There is a maximum limit on how much time we can do a retry, this limit is fixed by card network.
What will be the maximum limit for other payment methods?
max_retry_count_by_network
refers to maximum limit.There is a maximum limit how much time we can do a retry which is fixed by merchant for each
billing connector
max_retry_count
refers to maximum limit set by merchant.billing_connector_retry_threshold
: maximumbilling connector
retries before revenue recovery can start executing retries.Merchant configured their payment processor accounts in
billing connector
where they process payment, these accounts are identified asAccountReferenceId
.In Revenue Recovery service also merchants needs to config payment processor accounts, these accounts are identified as
Hyperswitch Merchant Connector Account Id
and they need to provide the mapping between these accounts for everybilling connector
.These data is added as
recovery_metadata
infeature_metadata
.We need recovery metadata to validate and process retries, there are two places we can add recovery metadata
There are 2 scenarios we need this recovery metadata
While receiving the webhooks
While receiving webhooks, we always have access to both profiles and billing connector accounts, because the webhooks path holds this information. Add path
While triggering update to invoice
While triggering any update to invoice, where
invoice
is represented in the recovery service aspayment_intent
, we haveprofile
andbilling connector
identifiers inpayment_intent
.Why are we adding this in billing MCA not in profile level?
We can get
Account Reference Id’s
(payment connector in billing connector end) from respective billing connector accounts,The data is very closely related to billing connectors rather than profiles, and one billing connector information cannot be shared to another billing connector. So we are currently storing in MCA since there is no shared behaviour and we can get recovery metadata in all flows using billing mca id.
Note: Will add the connector type as billing processor in chargebee integration PR and allow adding recovery feature metadata only for billing processor .#7110.
Additional Changes
Motivation and Context
How did you test it?
Update MCA request :
response :
request :
response :
response :
Checklist
cargo +nightly fmt --all
cargo clippy