feat(connector): [DataTrans] ADD 3DS Flow#6026
Conversation
Changed Files
|
ce511fb to
35b85d5
Compare
There was a problem hiding this comment.
Make only required fields as mandatory and add the in crates/router/src/configs/defaults.rs.
Make strongly recommended fields as optional and add a comment highlighting those fields.
There was a problem hiding this comment.
This will always be false hence no need to pass it here.
There was a problem hiding this comment.
Please test PSYNC, Capture, Refunds and Incremental Auth for 3DS transactions.
There was a problem hiding this comment.
tested ,
For incremental Auth we have a different merchant account. Not able to test 3ds + incremental Auth
Except that everything is working
4303fba to
7c59b17
Compare
| const REDIRECTION_SBX_URL: &str = "https://pay.sandbox.datatrans.com"; | ||
| const REDIRECTION_PROD_URL: &str = "https://pay.datatrans.com"; |
There was a problem hiding this comment.
Why have we hardcoded these URLs?
There was a problem hiding this comment.
This URL is used in the 3DS redirection
fn handle_response(
&self,
data: &types::PaymentsAuthorizeRouterData,
event_builder: Option<&mut ConnectorEvent>,
res: Response,
) -> CustomResult<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
let response: datatrans::DatatransResponse = res
.response
.parse_struct("Datatrans PaymentsAuthorizeResponse")
.change_context(errors::ConnectorError::ResponseDeserializationFailed)?;
event_builder.map(|i| i.set_response_body(&response));
router_env::logger::info!(connector_response=?response);
types::RouterData::try_from(types::ResponseRouterData {
response,
data: data.clone(),
http_code: res.status_code,
})
}
in handle response there's no other way to retrieve the base/secondary_url ( connectors: &settings::Connectors, not there in handle_response) ,Had to hard code it
| pub currency: storage_enums::Currency, | ||
| pub reason: Option<String>, | ||
| pub connector_transaction_id: String, | ||
| pub minor_additional_amount: MinorUnit, |
There was a problem hiding this comment.
I think, instead of adding new minor fields here, we should refactor the existing fields as minor unit
7c59b17 to
9522536
Compare
8c2c8d2 to
d9d162e
Compare
| router_env::logger::info!(connector_response=?response); | ||
| Ok(ErrorResponse { | ||
| status_code: res.status_code, | ||
| code: response.clone(), |
There was a problem hiding this comment.
Can we make this NO_ERROR_CODE
7826e2c to
6a846de
Compare
crates/hyperswitch_connectors/src/connectors/datatrans/transformers.rs
Outdated
Show resolved
Hide resolved
crates/hyperswitch_connectors/src/connectors/datatrans/transformers.rs
Outdated
Show resolved
Hide resolved
crates/router/src/configs/defaults/payment_connector_required_fields.rs
Outdated
Show resolved
Hide resolved
4ec716d to
d1fbbb3
Compare
…ced-payment-flows
…unt-configurable * 'main' of github.com:juspay/hyperswitch: (37 commits) refactor(router): add display_name field to connector feature api (#7121) ci(cypress): Add Tests for Customer Deletion and Psync flows (#7158) feat(connector): [DataTrans] ADD 3DS Flow (#6026) chore(version): 2025.02.07.0 chore(connectors): [fiuu] update pm_filters for apple pay and google pay (#7182) feat(router): add `organization_id` in authentication table and add it in authentication events (#7168) fix(dashboard_metadata): mask `poc_email` and `data_value` for DashboardMetadata (#7130) feat(core): Add support for v2 payments get intent using merchant reference id (#7123) refactor(customer): return redacted customer instead of error (#7122) fix(connector): handle unexpected error response from bluesnap connector (#7120) feat(routing): Contract based routing integration (#6761) refactor(dynamic_fields): dynamic fields for Adyen and Stripe, renaming klarnaCheckout, WASM for KlarnaCheckout (#7015) feat(connector): [COINGATE] Add Template PR (#7052) chore(roles): remove redundant variant from PermissionGroup (#6985) refactor(router): store `network_transaction_id` for `off_session` payments irrespective of the `is_connector_agnostic_mit_enabled` config (#7083) chore(connector): [Fiuu] log keys in the PSync response (#7189) ci(cypress): fix nmi and paypal (#7173) chore(version): 2025.02.06.0 chore(postman): update Postman collection files feat(connector): [Deutschebank] Add Access Token Error struct (#7127) ...
Type of Change
Description
Added 3DS Flow
Additional Changes
Motivation and Context
How did you test it?
Three 3ds
Checklist
cargo +nightly fmt --allcargo clippy