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

feat(cypress): add iatapay connector #5093

Merged
merged 16 commits into from
Jun 28, 2024

Conversation

pixincreate
Copy link
Member

@pixincreate pixincreate commented Jun 24, 2024

Type of Change

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

Description

This PR adds Iatapay connector

  • Payment Method: UPI
  • Payment Method Types:
    • UPI Collect
    • UPI Intent

Will consider adding UPI Payments -- Hyperswitch Stripe Compatibility Layer in future.

Notable changes:

  • Removed Responses from Common.js to accommodate place for Iatapay. This does not affect other connectors as it is handled already in <connector>.js files.
  • PM lists have been refactored to follow alphabetical order to help improve readibility
  • During redirection flow in:
    • UPI_Collect, we wait 14 (set by Iatapay) + 6 (for page to load) seconds to get the payment to succeed
    • UPI_Intent, validate the JSON response, only forward flow
  • Lints

Addition of Iatapay proved that the current implementation of Commons.js is just useless. My thought on this is to have additional parameter in every payment_method of Commons.js that is checked every time before the test is run. If a connector is not supported, the entire payment method can be ignored. #5128

In addition to this, refundPayment has been modified a bit where I moved all 3DS tests within a describe to make them more intuitive (the split is now made clearer by marking 3DS payments as 3DS payments).

Additional Changes

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

Motivation and Context

NIL

How did you test it?

Executed sh run_all.sh --parallel

Adyen Bank of America Bluesnap Cybersource Iatapay
image image image image image
NMI PayPal Stripe Trustpay
image image image image

00018-MandatesUsingPMID is failing for some connectors. Will be taken up by @likhinbopanna

Iatapay Upi_intent is failing during redirection as connector is returning 5xx:

image

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

- this is the initial commit that sets up the environment for adding new
connector
- `real_time_payment` `payment_method` has been added to connector create body, but will
  not be used anytime soon
- `payment_method`s have been refactored to follow alphabetical order
this commit 2 tests for iatapay:
- upi collect -- create & confirm + refund
- upi intent -- create & confirm (no refund, payment goes to processing
  state, verifyUrl cannot be done either as we end up getting json
  response)
@pixincreate pixincreate requested review from a team as code owners June 24, 2024 07:42
@pixincreate pixincreate self-assigned this Jun 24, 2024
@pixincreate pixincreate added A-CI-CD Area: Continuous Integration/Deployment S-waiting-on-review Status: This PR has been implemented and needs to be reviewed labels Jun 24, 2024
@pixincreate pixincreate added this to the June 2024 Release milestone Jun 24, 2024
…ough-hyperswitch-cypress

* 'main' of github.com:juspay/hyperswitch:
  feat(router): add support for googlepay step up flow (#2744)
  fix(access_token): use `merchant_connector_id` in access token (#5106)
  feat: added kafka events for authentication create and update (#4991)
  feat(ci): add vector to handle logs pipeline (#5021)
  feat(users): Decision manager flow changes for SSO (#4995)
  ci(cypress): Fix payment method id for non supported connectors (#5075)
  refactor(core): introduce an interface to switch between old and new connector integration implementations on the connectors (#5013)
  refactor(events): populate object identifiers in outgoing webhooks analytics events during retries (#5067)
  Refactor: [Fiserv] Remove Default Case Handling (#4767)
  chore(version): 2024.06.24.0
  fix(router): avoid considering pre-routing results during `perform_session_token_routing` (#5076)
  refactor(redis): spawn one subscriber thread for handling all the published messages to different channel (#5064)
  feat(users): setup user authentication methods schema and apis (#4999)
  feat(payment_methods): Implement Process tracker workflow for Payment method Status update (#4668)
  chore(version): 2024.06.20.1
  chore(postman): update Postman collection files
  fix(payment_methods): support last used for off session token payments (#5039)
  ci(postman): add net_amount field test cases (#3286)
  refactor(connector): [Mifinity]dynamic fields for mifinity (#5056)
  refactor(payment_method): [Klarna] store and populate payment_type for klarna_sdk Paylater in response (#4956)
@pixincreate pixincreate force-pushed the iatapay-through-hyperswitch-cypress branch from 7c84ca0 to ee180f6 Compare June 27, 2024 09:49
likhinbopanna
likhinbopanna previously approved these changes Jun 27, 2024
…ay/hyperswitch into iatapay-through-hyperswitch-cypress

* 'iatapay-through-hyperswitch-cypress' of github.com:juspay/hyperswitch:
  feat(router): skip apple pay session call if the browser is not Safari (#5136)
  fix(opensearch): show search results only if user has access permission to the index  (#5097)
  chore(version): 2024.06.27.0
  feat(users): add endpoint for terminate auth select (#5135)
  feat(users): implemented openidconnect (#5124)
  feat(router): add payments manual-update api (#5045)
  fix(docs): open-api fix for payment response (#5103)
  refactor(connector): [AdyenPlatform]Throw 4xx instead of 5xx for source_balance_account (#4990)
  feat: realtime user analytics (#5098)
  refactor(connector): added amount conversion framework for cashtocode (#4857)
  feat(email): Add `auth_id` in email types and send `auth_id` in email URLs (#5120)
  refactor(connector): add amount framework to payme & Trustpay with googlePay, ApplePay for bluesnap, Noon & Trustpay (#4833)
  fix(connector): [BOA/CYBS] make risk information message optional (#5107)
  chore(version): 2024.06.25.1
  fix(router): skip serialize if none for assurance_details_required in googlepay session response (#5118)
  refactor: separate DB queries and HTML creation for payout links (#4967)
  feat(router): updated `last_used_at` field for apple pay and google pay for CITs (#5087)
  fix(payment_methods): use existing field value of `nick_name` in db if not sent during request (#5105)
  chore(version): 2024.06.25.0
@Gnanasundari24 Gnanasundari24 added this pull request to the merge queue Jun 28, 2024
Merged via the queue into main with commit f03dc7a Jun 28, 2024
11 checks passed
@Gnanasundari24 Gnanasundari24 deleted the iatapay-through-hyperswitch-cypress branch June 28, 2024 10:52
@pixincreate pixincreate removed the S-waiting-on-review Status: This PR has been implemented and needs to be reviewed label Jun 28, 2024
pixincreate added a commit that referenced this pull request Jun 28, 2024
…ror-handling-in-cypress

* 'main' of github.com:juspay/hyperswitch:
  Docs: Api reference docs update for Payments - Create (#4955)
  feat(cypress): add iatapay connector (#5093)
  chore: fix ui-test configs (#5152)
  chore(cards): add configuration option to change the decryption scheme locker (#5140)
  refactor(hyperswitch_constraint_graph): Removal of lifetime from the Constraint Graph framework (#5132)
  feat(core): customer_details storage in payment_intent (#5007)
  fix(connector): [ADYEN] send `browser_info` for all the card and googlepay payments (#5153)
  fix(users): clear cookie and alter parsing for sso (#5147)
  refactor(connector): added amount framework to paypal, payouts and routing (#4865)
  chore(version): 2024.06.28.0
  chore(postman): update Postman collection files
  chore: use generic phone numbers instead (#5142)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-CI-CD Area: Continuous Integration/Deployment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants