-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(connector): add support for external authentication for cybersource #4714
feat(connector): add support for external authentication for cybersource #4714
Conversation
pa_specification_version: Option<PaSpecificationVersion>, | ||
/// Verification response enrollment status. | ||
/// | ||
/// This field is supported only on Asia, Middle East, and Africa Gateway. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about the US gateway? Should we skip sending this value or external authentication itself is not available?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this is a required field for Asia, Middle East, and Africa Gateway.
cavv, | ||
ucaf_authentication_data, | ||
xid: Some(authn_data.threeds_server_transaction_id.clone()), | ||
// xid: None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please remove this comment?
@@ -0,0 +1,2 @@ | |||
-- This file should undo anything in `up.sql` | |||
ALTER TABLE authentication DROP COLUMN ds_trans_id; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ALTER TABLE authentication DROP COLUMN ds_trans_id; | |
ALTER TABLE authentication DROP COLUMN IF EXISTS ds_trans_id; |
@@ -0,0 +1,2 @@ | |||
-- Your SQL goes here | |||
ALTER TABLE authentication ADD COLUMN ds_trans_id VARCHAR; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ALTER TABLE authentication ADD COLUMN ds_trans_id VARCHAR; | |
ALTER TABLE authentication ADD COLUMN IF NOT EXISTS ds_trans_id VARCHAR; |
@@ -0,0 +1,2 @@ | |||
-- Your SQL goes here | |||
ALTER TABLE authentication ADD COLUMN ds_trans_id VARCHAR; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please specify some length for the VARCHAR here?
.as_ref() | ||
.and_then(|authn_data| { | ||
authn_data.eci.as_ref().map(|eci| { | ||
match eci.as_str() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please move this match statement to a fn?
a4588a9
Type of Change
Description
add support for external authentication for cybersource.
After this change is merged, we'll be able to authenticate a payment through an external 3ds authentication(threedsecureio or netcetera) and authorise the same payment through cybersource.
Other changes:
Added
ds_trans_id
field toauthentication
table since it is required for authorization through cybersource.Additional Changes
Motivation and Context
How did you test it?
Ran cybersource postman collection to make sure existing 3ds flow is not affected.
curls:
Payment should
succeed
and below object should be returned in the payment response body.Checklist
cargo +nightly fmt --all
cargo clippy