diff --git a/crates/router/src/connector/iatapay/transformers.rs b/crates/router/src/connector/iatapay/transformers.rs index 39dfd61b9a..9d4ecdff19 100644 --- a/crates/router/src/connector/iatapay/transformers.rs +++ b/crates/router/src/connector/iatapay/transformers.rs @@ -212,10 +212,14 @@ impl item: types::ResponseRouterData, ) -> Result { let form_fields = HashMap::new(); - let id = match item.response.iata_payment_id { + let id = match item.response.iata_payment_id.clone() { Some(s) => types::ResponseId::ConnectorTransactionId(s), None => types::ResponseId::NoResponseId, }; + let connector_response_reference_id = item + .response + .merchant_payment_id + .or(item.response.iata_payment_id); Ok(Self { status: enums::AttemptStatus::from(item.response.status), response: item.response.checkout_methods.map_or( @@ -225,7 +229,7 @@ impl mandate_reference: None, connector_metadata: None, network_txn_id: None, - connector_response_reference_id: None, + connector_response_reference_id: connector_response_reference_id.clone(), }), |checkout_methods| { Ok(types::PaymentsResponseData::TransactionResponse { @@ -238,7 +242,7 @@ impl mandate_reference: None, connector_metadata: None, network_txn_id: None, - connector_response_reference_id: None, + connector_response_reference_id: connector_response_reference_id.clone(), }) }, ),