Skip to content

Commit 3e16219

Browse files
authored
fix(connector): [Datatrans] Handling for 4-Digit YYYY input and Correct 3DS Routing to no_3ds (#5410)
1 parent e4b3982 commit 3e16219

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

crates/router/src/connector/datatrans/transformers.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize};
77
use crate::{
88
connector::{
99
utils as connector_utils,
10-
utils::{PaymentsAuthorizeRequestData, RouterData},
10+
utils::{CardData, PaymentsAuthorizeRequestData},
1111
},
1212
core::errors,
1313
types::{
@@ -158,21 +158,15 @@ impl TryFrom<&DatatransRouterData<&types::PaymentsAuthorizeRouterData>>
158158
fn try_from(
159159
item: &DatatransRouterData<&types::PaymentsAuthorizeRouterData>,
160160
) -> Result<Self, Self::Error> {
161-
if item.router_data.is_three_ds() {
162-
return Err(errors::ConnectorError::NotImplemented(
163-
"Three_ds payments through Datatrans".to_string(),
164-
)
165-
.into());
166-
};
167161
match item.router_data.request.payment_method_data.clone() {
168162
domain::PaymentMethodData::Card(req_card) => Ok(Self {
169163
amount: item.amount,
170164
currency: item.router_data.request.currency,
171165
card: PlainCardDetails {
172166
res_type: "PLAIN".to_string(),
173-
number: req_card.card_number,
174-
expiry_month: req_card.card_exp_month,
175-
expiry_year: req_card.card_exp_year,
167+
number: req_card.card_number.clone(),
168+
expiry_month: req_card.card_exp_month.clone(),
169+
expiry_year: req_card.get_card_expiry_year_2_digit()?,
176170
},
177171
refno: item.router_data.connector_request_reference_id.clone(),
178172
auto_settle: matches!(

0 commit comments

Comments
 (0)