diff --git a/crates/router/src/core/payments/operations/payment_status.rs b/crates/router/src/core/payments/operations/payment_status.rs index 1a37d88423..d90635961c 100644 --- a/crates/router/src/core/payments/operations/payment_status.rs +++ b/crates/router/src/core/payments/operations/payment_status.rs @@ -243,6 +243,8 @@ async fn get_tracker_for_sync< ) })?; + let contains_encoded_data = connector_response.encoded_data.is_some(); + Ok(( Box::new(operation), PaymentData { @@ -263,10 +265,10 @@ async fn get_tracker_for_sync< payment_method_data: None, force_sync: Some( request.force_sync - && helpers::check_force_psync_precondition( + && (helpers::check_force_psync_precondition( &payment_attempt.status, &payment_attempt.connector_transaction_id, - ), + ) || contains_encoded_data), ), payment_attempt, refunds,