juspay / hyperswitch

An open source payments switch written in Rust to make payments fast, reliable and affordable
https://hyperswitch.io/
Apache License 2.0
12.64k stars 1.36k forks source link

fix(webhooks): add support for updating mandate details in webhooks flow #6523

Closed srujanchikke closed 1 week ago

srujanchikke commented 2 weeks ago

Type of Change

Description

For Fiuu, the mandate ID is updated via webhooks in the case of 3DS payments. The payment webhook body was not consumed when the payment was successful, causing intermittent issues in the sandbox environment. This PR adds support to address this issue.

more detailed issue description :

Additional Changes

Motivation and Context

How did you test it?

Cannot be tested directly this is an intermediate issue in sandbox. So please test this flow multiple time and mandate id should be stored in CIT transaction against both payment attempt & payment method for the transaction.

Checklist

semanticdiff-com[bot] commented 2 weeks ago

Review changes with  SemanticDiff

Changed Files
| File | Status | | :--- | :--- | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs)  [crates/hyperswitch\_connectors/src/connectors/fiuu/transformers\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs)  25% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/core/webhooks/incoming.rs)  [crates/router/src/core/webhooks/incoming\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/core/webhooks/incoming.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/core/webhooks/incoming.rs)  5% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/diesel_models/src/payment_attempt.rs)  [crates/diesel\_models/src/payment\_attempt\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/diesel_models/src/payment_attempt.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/diesel_models/src/payment_attempt.rs)  2% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu.rs)  [crates/hyperswitch\_connectors/src/connectors/fiuu\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_connectors/src/connectors/fiuu.rs)  1% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/payments/payment_attempt.rs)  [crates/hyperswitch\_domain\_models/src/payments/payment\_attempt\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/payments/payment_attempt.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/payments/payment_attempt.rs)  0% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/router_flow_types/webhooks.rs)  [crates/hyperswitch\_domain\_models/src/router\_flow\_types/webhooks\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/router_flow_types/webhooks.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_domain_models/src/router_flow_types/webhooks.rs)  0% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_interfaces/src/webhooks.rs)  [crates/hyperswitch\_interfaces/src/webhooks\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_interfaces/src/webhooks.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/hyperswitch_interfaces/src/webhooks.rs)  0% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/configs/defaults/payment_connector_required_fields.rs)  [crates/router/src/configs/defaults/payment\_connector\_required\_fields\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/configs/defaults/payment_connector_required_fields.rs) | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/configs/defaults/payment_connector_required_fields.rs)  0% smaller | | [](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/services/connector_integration_interface.rs)  [crates/router/src/services/connector\_integration\_interface\.rs](https://app.semanticdiff.com/gh/juspay/hyperswitch/pull/6523/changes#crates/router/src/services/connector_integration_interface.rs) | Unsupported file format |