hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

[REFACTOR]: [OPAYO] Add amount conversion framework to Opayo

Open ImSagnik007 opened this issue 1 year ago • 2 comments

: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 convert function 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?

  • [ ] I checked and didn't find a similar issue

:package: Have you read the Contributing Guidelines?

:sparkles: Are you willing to submit a PR?

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.

ImSagnik007 avatar Sep 26 '24 19:09 ImSagnik007

Hi @ImSagnik007! I'd like to work on this issue under Hacktoberfest '24. Can you please assign this to me with the required labels? Thanks!

priyavratamohan avatar Oct 01 '24 11:10 priyavratamohan

Hey @priyavratamohan Assigning this issue to you!

gorakhnathy7 avatar Oct 02 '24 16:10 gorakhnathy7

Hey @priyavratamohan ,

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.

gorakhnathy7 avatar Oct 06 '24 06:10 gorakhnathy7

Hi @gorakhnathy7,

I had been busy with my College Placement activities, and hence, wasn't very active in working on my current issues at the moment. Now that I'm free, I've joined the community already and will be working on getting this issue sorted asap.

Thanks for your concern!

priyavratamohan avatar Oct 06 '24 09:10 priyavratamohan

@gorakhnathy7 Sorry for the delay, I'll finish it off by Sunday. If not, I'll unassign myself.

priyavratamohan avatar Oct 10 '24 08:10 priyavratamohan

Can take this up in case assignee is busy 😅

AnishKacham avatar Oct 15 '24 08:10 AnishKacham

Hey @priyavratamohan Are you still working on this?

gorakhnathy7 avatar Oct 15 '24 16:10 gorakhnathy7

I'll unassign myself from this, sorry for the issues I may have caused. I'll pick up an easier issue for me to start with.

priyavratamohan avatar Oct 15 '24 16:10 priyavratamohan

hey @gorakhnathy7 as no one is assigned this issue currently, can you assign it to me?

gauravghodinde avatar Oct 16 '24 07:10 gauravghodinde

Hey @gauravghodinde Assigned the Issue to you, Happy Coding!

gorakhnathy7 avatar Oct 16 '24 14:10 gorakhnathy7

Hey @gauravghodinde, Thanks for participating! Kindly fill this form once all your PRs are merged.

gorakhnathy7 avatar Oct 23 '24 15:10 gorakhnathy7