Skip to content
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(core): add locker config to enable or disable locker #3352

Merged
merged 33 commits into from
Jan 18, 2024

Conversation

Aprabhat19
Copy link
Contributor

@Aprabhat19 Aprabhat19 commented Jan 15, 2024

Type of Change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates
  • Documentation
  • CI/CD

Description

Add locker config to enable or disable locker , so that if the locker is enabled we can store the card_details in the locker else if the config is disabled we don't

Also this PR involvesaddition in the MandateResponse.

Additional Changes

  • This PR modifies the API contract
  • This PR modifies the database schema
  • This PR modifies application configuration/environment variables

Motivation and Context

This Feature provides an option for the merchant whether or not to save the card at hyperswitch . Saving the card at hyperswitch is not necessary if the mandate is created at the processor level.

How did you test it?

  • Create an MA & MCA

  • Disable the locker_enabled config

Create a Mandate payment , the details will not be stored in Locker and payment will be successful
List PaymentMethods for a Customer won't have any details as the card was never stored
List the Mandates would have mandate details

Screenshot 2024-01-16 at 4 38 43 PM

Screenshot 2024-01-16 at 4 38 59 PM

Screenshot 2024-01-16 at 4 39 10 PM

Screenshot 2024-01-16 at 4 39 26 PM

Screenshot 2024-01-16 at 4 39 38 PM

  • Enable the locker_enabled config

Create a Mandate payment , the details will be stored in Locker and payment will be successful
List PaymentMethods for a Customer would have details of the card that was stored
List the Mandates

Screenshot 2024-01-16 at 4 33 56 PM

Screenshot 2024-01-16 at 4 34 57 PM

Screenshot 2024-01-16 at 4 35 18 PM

Screenshot 2024-01-16 at 4 35 33 PM

Screenshot 2024-01-16 at 4 35 51 PM

Screenshot 2024-01-16 at 4 36 32 PM

-When we do a list mandates we have an additional field payment_method_type

Screenshot 2024-01-18 at 4 27 53 PM

Checklist

  • I formatted the code cargo +nightly fmt --all
  • I addressed lints thrown by cargo clippy
  • I reviewed the submitted code
  • I added unit tests for my changes where possible
  • I added a CHANGELOG entry if applicable

@Aprabhat19 Aprabhat19 added A-core Area: Core flows P-high Priority: High S-waiting-on-review Status: This PR has been implemented and needs to be reviewed labels Jan 15, 2024
@Aprabhat19 Aprabhat19 self-assigned this Jan 15, 2024
@Aprabhat19 Aprabhat19 requested review from a team as code owners January 15, 2024 11:31
config/development.toml Outdated Show resolved Hide resolved
crates/router/src/core/payment_methods/cards.rs Outdated Show resolved Hide resolved
crates/router/src/core/payments/flows/authorize_flow.rs Outdated Show resolved Hide resolved
crates/router/src/core/payments/helpers.rs Outdated Show resolved Hide resolved
crates/router/src/core/payments/tokenization.rs Outdated Show resolved Hide resolved
crates/router/src/core/payments/tokenization.rs Outdated Show resolved Hide resolved
crates/router/src/core/payouts/helpers.rs Outdated Show resolved Hide resolved
@Aprabhat19 Aprabhat19 changed the title refactor(core): add locker config to enable or disable locker for the mandates flow refactor(core): add locker config to enable or disable locker Jan 16, 2024
@Aprabhat19 Aprabhat19 linked an issue Jan 16, 2024 that may be closed by this pull request
2 tasks
pub card_issuer: Option<String>,
pub card_network: Option<api_enums::CardNetwork>,
pub card_type: Option<String>,
pub save_to_locker: bool,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pub save_to_locker: bool,
pub saved_to_locker: bool,

vspecky
vspecky previously approved these changes Jan 16, 2024
vspecky
vspecky previously approved these changes Jan 17, 2024
kashif-m
kashif-m previously approved these changes Jan 17, 2024
@Aprabhat19 Aprabhat19 dismissed stale reviews from kashif-m and vspecky via 344e178 January 17, 2024 12:22
@Aprabhat19 Aprabhat19 linked an issue Jan 18, 2024 that may be closed by this pull request
2 tasks
@Gnanasundari24 Gnanasundari24 added this pull request to the merge queue Jan 18, 2024
Merged via the queue into main with commit bd5356e Jan 18, 2024
9 checks passed
@Gnanasundari24 Gnanasundari24 deleted the locker-enable-config branch January 18, 2024 12:54
pixincreate added a commit that referenced this pull request Jan 18, 2024
* 'main' of github.com:juspay/hyperswitch:
  feat(users): Added get role from jwt api (#3385)
  feat(users): Add `preferred_merchant_id` column and update user details API (#3373)
  chore(version): 2024.01.18.1
  refactor(core): add locker config to enable or disable locker  (#3352)
  fix(connector): [Cashtocode] update amount from i64 to f64 in webhook payload (#3382)
  fix(metrics): Add TASKS_ADDED_COUNT and TASKS_RESET_COUNT metrics in router scheduler flow (#3189)
  fix(connector): Trustpay zen error mapping (#3255)
  fix(user): fetch profile_id for sample data (#3358)
  refactor(connector): [Volt] Refactor Payments and Refunds Webhooks (#3377)
  chore(version): 2024.01.18.0
@SanchithHegde SanchithHegde added C-refactor Category: Refactor and removed P-high Priority: High S-waiting-on-review Status: This PR has been implemented and needs to be reviewed labels Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-core Area: Core flows C-refactor Category: Refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[REFACTOR] Add additional field in MandateResponse [REFACTOR] Add config to enable and disable locker
6 participants