From d622b7438e7c82ac84403b05334fcffcc8edf064 Mon Sep 17 00:00:00 2001 From: Kartikeya Hegde Date: Thu, 2 Mar 2023 12:49:12 +0530 Subject: [PATCH] fix: Populate amount_captured in case of success (#700) --- .../src/core/payments/operations/payment_response.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/router/src/core/payments/operations/payment_response.rs b/crates/router/src/core/payments/operations/payment_response.rs index 1236b71e24..43f08b9391 100644 --- a/crates/router/src/core/payments/operations/payment_response.rs +++ b/crates/router/src/core/payments/operations/payment_response.rs @@ -362,6 +362,13 @@ async fn payment_response_update_tracker( None => payment_data.connector_response, }; + let amount_captured = router_data.amount_captured.or_else(|| { + if router_data.status == enums::AttemptStatus::Charged { + Some(payment_data.payment_intent.amount) + } else { + None + } + }); let payment_intent_update = match router_data.response { Err(_) => storage::PaymentIntentUpdate::PGStatusUpdate { status: enums::IntentStatus::Failed, @@ -369,7 +376,7 @@ async fn payment_response_update_tracker( Ok(_) => storage::PaymentIntentUpdate::ResponseUpdate { status: router_data.status.foreign_into(), return_url: router_data.return_url.clone(), - amount_captured: router_data.amount_captured, + amount_captured, }, };