hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

feat: init esnekpos connector

Open adnanjpg opened this issue 1 year ago • 13 comments

Type of Change

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

Description

This PR introduces a new payment connector esnekpos, which is a Turkish payment provider.

At this stage, only the payment authorization api service is functioning, I'm expecting feedback on the implementation so I would continue adding the other apis for this connector and implementing a few other Turkish connectors.

Additional Changes

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

Motivation and Context

How did you test it?

Checklist

  • [x] I formatted the code cargo +nightly fmt --all
  • [x] I addressed lints thrown by cargo clippy
  • [x] I reviewed the submitted code
  • [x] I added unit tests for my changes where possible

#5833

adnanjpg avatar Aug 01 '24 08:08 adnanjpg

There's also an implementation for Esnekpos for the hyperswitch-control-center project, that will be submitted once this PR is ready

adnanjpg avatar Aug 01 '24 12:08 adnanjpg

Hey @adnanjpg, can you please base your PR on the main branch instead if the v1.108.2 tag?

SanchithHegde avatar Aug 01 '24 13:08 SanchithHegde

Hi @SanchithHegde , I've based my PR on the main branch, but now my esnekpos.rs file has the following error:

the trait bound `connector::esnekpos::Esnekpos: hyperswitch_interfaces::api::ConnectorIntegration<hyperswitch_domain_models::router_flow_types::PostProcessing, PaymentsPostProcessingData, PaymentsResponseData>` is not satisfied

and I'm unable to figure out why

adnanjpg avatar Aug 02 '24 09:08 adnanjpg

Hello @adnanjpg , you need to go to crates/router/src/core/payments/flows.rs and put your connector name in the default_imp_for_pre_processing_steps macro. This should work out👍

Sakilmostak avatar Aug 04 '24 14:08 Sakilmostak

Hi @Sakilmostak , the macro mentioned already has my connector name

adnanjpg avatar Sep 03 '24 15:09 adnanjpg

Related issue: https://github.com/juspay/hyperswitch/issues/5833

a0m0rajab avatar Sep 07 '24 11:09 a0m0rajab

Hi @Sakilmostak , I just fixed that, please check again

adnanjpg avatar Sep 09 '24 10:09 adnanjpg

On further inspecting your branch, I found that it is the same case with Authorize Session Token flow. Please add the connector name in the default_imp_for_authorize_session_token. And it is also missing in whole v2 flow suite. Please add in the respective implementations in connector_integration_v2_impls.rs file

Sakilmostak avatar Sep 09 '24 10:09 Sakilmostak

Hi @Sakilmostak , I think these commits resolve your requests

I've also fixed merge conflicts with main

adnanjpg avatar Sep 09 '24 13:09 adnanjpg

@adnanjpg Please resolve the conflicts and add the testcases.

Gnanasundari24 avatar Oct 24 '24 12:10 Gnanasundari24

Hi @Gnanasundari24 , I've just fixed the conflicts about the tests, I have added the default tests by copying from ebanx, if more specific tests are needed can you please give me more details?

adnanjpg avatar Oct 25 '24 12:10 adnanjpg

Hi, is there a way we can fast track this? I'm having to continually deal with merge conflicts as my pr affects core parts of the codebase

adnanjpg avatar Oct 30 '24 13:10 adnanjpg

Hello @adnanjpg , in the PR description please provide test cases including cURL commands and their corresponding API responses for the features implemented.

Please refer to https://github.com/juspay/hyperswitch/pull/7508 as an example for the test cases to be included

AkshayaFoiger avatar Apr 22 '25 11:04 AkshayaFoiger