hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

[REFACTOR]: [SQUARE] Add amount conversion framework to Square

Open ImSagnik007 opened this issue 1 year ago • 12 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

@ImSagnik007 can i work on this?

keshavkrishna avatar Sep 29 '24 19:09 keshavkrishna

@keshavkrishna Assigning this to issue.

gorakhnathy7 avatar Oct 02 '24 10:10 gorakhnathy7

Hey @keshavkrishna ,

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

@gorakhnathy7 I was facing issues with my set up, but I have resolved it now with the help of community members, I will working on this now.

keshavkrishna avatar Oct 08 '24 07:10 keshavkrishna

@gorakhnathy7 @ImSagnik007 I would like to work on this one if it's up for grab

mrswastik-robot avatar Oct 20 '24 00:10 mrswastik-robot

Hey @keshavkrishna Are you still working on the issue?

gorakhnathy7 avatar Oct 21 '24 01:10 gorakhnathy7

Hii @gorakhnathy7, please assign it to someone. I won't be able to allocate bandwidth for this rn. I will pick another issue later.

keshavkrishna avatar Oct 21 '24 05:10 keshavkrishna

hii @gorakhnathy7 , can you assign this to me ?

mrswastik-robot avatar Oct 22 '24 21:10 mrswastik-robot

Hey @mrswastik-robot Assigned to you!

gorakhnathy7 avatar Oct 25 '24 09:10 gorakhnathy7

I can pick this up if assignee is busy

AnishKacham avatar Nov 09 '24 05:11 AnishKacham

Hey @mrswastik-robot Are you still working on this issue?

gorakhnathy7 avatar Nov 11 '24 08:11 gorakhnathy7

Hey @mrswastik-robot Are you still working on this issue?

Hii @gorakhnathy7 , I am really sorry I was busy with something else. Can you give me a 2 day window for the PR , then you can assign it to other assignee

mrswastik-robot avatar Nov 11 '24 08:11 mrswastik-robot

hii @ImSagnik007, I have linked a PR for this issue, can you please review it

mrswastik-robot avatar Nov 25 '24 06:11 mrswastik-robot