[REFACTOR]: [RAPYD] Add amount conversion framework to Rapyd
:memo: Feature Description
Currently, amounts are represented as i64 values throughout the application. We want to introduce a Unit struct that explicitly states the denomination. A new type, MinorUnit, has been added to standardize the flow of amounts across the application. This type will now be used by all the connector flows.
Rather than handling conversions in each connector, we will centralize the conversion logic in one place within the core of the application.
:hammer: Possible Implementation
- For each connector, we need to create an amount conversion function. Connectors will specify the format they require, and the core framework will handle the conversion accordingly.
- Connectors should invoke the
convertfunction to receive the amount in their required format. - Refer to the connector documentation to determine the required amount format for each connector.
- You can refer this PR for more context.
🔖 Note: All the changes needed should be contained within hyperswitch/crates/router/src/connector/ , crates/router/src/types/api.rs , crates/router/tests/connectors/
:package: Have you spent some time checking if this feature request has been raised before?
- [X] I checked and didn't find a similar issue
:package: Have you read the Contributing Guidelines?
- [X] I have read the Contributing Guidelines
:package: Submission Process:
- Ask the maintainers for assignment of the issue, you can request for assignment by commenting on the issue itself.
- Once assigned, submit a pull request (PR).
- Maintainers will review and provide feedback, if any.
- Maintainers can unassign issues due to inactivity, read more here.
Refer here for Terms and conditions for the contest.
:sparkles: Are you willing to submit a PR?
Hi @mrudulvajpayee4935, I'd like to work on this issue. Can you please assign this to me?
@ankkyprasad Assigning this to you!
Hey @ankkyprasad ,
Quick check-in on the status of this issue. If you have any questions or need assistance, feel free to reach out in the community.
Hi,
I would like to contribute to this issue if there is no update.
Hey @qstommyshu You have already been assigned another issue, let me know if you want to work on this one instead.
I should be able to finish my other tickets within this week then I would be available for this one.
hey @gorakhnathy7 as no one is assigned this issue currently, can you assign it to me?
Sure @gauravghodinde
Hey @gauravghodinde Thanks for participating! Kindly fill this form once all of your PRs are merged.