hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

feat(connector): [Recurly] add invoice sync support along with transaction monitoring

Open NISHANTH1221 opened this issue 8 months ago • 1 comments

Type of Change

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

Description

Transaction Monitoring means to record all the transaction that are happening in the billing connectors and storing them in our database. So that we can use those to train our model and get insights from that data in revenue recovery flow. To support monitor the transaction happening in the billing connectors and to get maximum efficiency we need the fields in the issue which are billing address, retry count, subscription next billing date. To make this support for recurly we need invoice api call to recurly. BillingConnectorInvoiceSync will do that work. This PR contains the Connector Integration V2 Implementations of BillingConnectorInvoiceSync , BillingConnectorPaymentsSync and RecoveryRecordBack only for recurly. This PR also contains transaction monitoring support for recurly.

Additional Changes

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

Motivation and Context

How did you test it?

Cannot test it

Here is a picture depicting that we are able to get all the details: Screenshot 2025-04-22 at 12 38 57 PM

Checklist

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

NISHANTH1221 avatar Apr 22 '25 08:04 NISHANTH1221

Review changes with  SemanticDiff

Changed Files
File Status
  crates/hyperswitch_domain_models/src/revenue_recovery.rs  65% smaller
  crates/hyperswitch_connectors/src/connectors/recurly.rs  19% smaller
  crates/hyperswitch_interfaces/src/conversion_impls.rs  15% smaller
  crates/hyperswitch_connectors/src/default_implementations.rs  15% smaller
  crates/hyperswitch_connectors/src/default_implementations_v2.rs  15% smaller
  crates/hyperswitch_domain_models/src/configs.rs  5% smaller
  crates/hyperswitch_connectors/src/connectors/recurly/transformers.rs  1% smaller
  config/config.example.toml Unsupported file format
  config/deployments/integration_test.toml Unsupported file format
  config/deployments/production.toml Unsupported file format
  config/deployments/sandbox.toml Unsupported file format
  config/development.toml Unsupported file format
  config/docker_compose.toml Unsupported file format
  crates/hyperswitch_connectors/src/connectors/chargebee/transformers.rs  0% smaller
  crates/hyperswitch_connectors/src/connectors/stripebilling/transformers.rs  0% smaller
  crates/hyperswitch_connectors/src/types.rs  0% smaller
  crates/hyperswitch_domain_models/src/router_request_types/revenue_recovery.rs  0% smaller
  crates/hyperswitch_domain_models/src/router_response_types/revenue_recovery.rs  0% smaller
  crates/hyperswitch_domain_models/src/types.rs  0% smaller
  crates/hyperswitch_interfaces/src/api/revenue_recovery_v2.rs  0% smaller
  crates/hyperswitch_interfaces/src/types.rs  0% smaller
  crates/hyperswitch_interfaces/src/webhooks.rs  0% smaller
  crates/router/src/configs/secrets_transformers.rs  0% smaller
  crates/router/src/configs/settings.rs  0% smaller
  crates/router/src/core/errors.rs  0% smaller
  crates/router/src/core/revenue_recovery/types.rs  0% smaller
  crates/router/src/core/webhooks/recovery_incoming.rs  0% smaller
  crates/router/src/types/api.rs  0% smaller
  crates/router/tests/connectors/main.rs  0% smaller
  crates/router/tests/connectors/recurly.rs  0% smaller
  loadtest/config/development.toml Unsupported file format

semanticdiff-com[bot] avatar Apr 22 '25 08:04 semanticdiff-com[bot]