-
Notifications
You must be signed in to change notification settings - Fork 4.2k
refactor(core): add recurring customer support for nomupay payouts. #6687
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
Merged
Conversation
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
b098698
to
13f9582
Compare
a6d2247
to
dba2017
Compare
kashif-m
reviewed
Dec 2, 2024
403de74
to
9247d06
Compare
kashif-m
reviewed
Dec 3, 2024
fe546b0
to
0975259
Compare
kashif-m
reviewed
Dec 5, 2024
kashif-m
reviewed
Dec 5, 2024
kashif-m
reviewed
Dec 5, 2024
kashif-m
previously approved these changes
Dec 5, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved! Added a few nitpick suggestions
prajjwalkumar17
requested changes
Dec 5, 2024
migrations/2024-11-27-143958_add_transaction_flow_in_payment_method/up.sql
Outdated
Show resolved
Hide resolved
0851cc6
to
d805ce9
Compare
e9a645d
74c1f39
to
e9a645d
Compare
kashif-m
previously approved these changes
Jan 27, 2025
Aprabhat19
previously approved these changes
Jan 27, 2025
kashif-m
approved these changes
Jan 28, 2025
Aprabhat19
approved these changes
Jan 28, 2025
deepanshu-iiitu
approved these changes
Jan 28, 2025
Sarthak1799
approved these changes
Jan 28, 2025
jarnura
approved these changes
Jan 30, 2025
Narayanbhat166
pushed a commit
that referenced
this pull request
Feb 6, 2025
…6687) Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-feature
Category: Feature request or enhancement
M-api-contract-changes
Metadata: This PR involves API contract 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
Added
payout_method_id
to Payout API requests and responses.Added validations for requests with
payout_method_id
.Added
payout_method
toPayoutData
.Added
transfer_method_id
toPayoutsResponseData
.Changed
connector_mandate_details
structure to distinguish between payins and payouts.Fetch/update
payment_methods
usingpayout_method_id
ortransfer_method_id
.Additional Changes
Motivation and Context
Nomupay requires storing customer payment method details (like cards, bank accounts or id corresponding to them) to process payouts, which is not handled in HyperSwitch. Attempting to re-add the same customer payment method results in errors from Nomupay.
To address this, we are leveraging the
payment_methods
table to store these details in theconnector_mandate_details
column, linking them to a customer and distinguishing entries by a new columntransaction_flow
(to identify payins vs. payouts).This change ensures seamless payouts for existing customers by reusing stored mandate details while maintaining compatibility with HyperSwitch's architecture. Additionally, it introduces a
payout_method_id
field in requests and responses to enhance clarity and functionality.This update lays the groundwork for integrating Nomupay while preserving existing payout functionality for other connectors.
How did you test it?
As it is a core change in payouts and Nomupay is yet to be added, it should be tested with an existing connector to ensure it is working as before.
Wise Create BACS Payout Request
Wise Create BACS Payout Response
Wise Create SEPA Payout Request
Wise Create SEPA Payout Response
Create SEPA Payout Request
Create SEPA Payout Response
Update payout Request
Update payout Response
Confirm payout Request
Confirm payout Response
Fulfill payout Request
Fulfill payout Response
CIT and MIT test
Payments CIT request
Payments CIT response
Confirm CIT request
Confirm CIT response
Payments MIT request
Payment MIT Response
Checklist
cargo +nightly fmt --all
cargo clippy