Skip to content
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

Vantiv Express: New Xml gateway #4956

Merged
merged 5 commits into from
Nov 15, 2023
Merged

Conversation

DustinHaefele
Copy link
Contributor

Unit test:
28 tests, 142 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed

Remote tests:
31 tests, 91 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed

@DustinHaefele DustinHaefele requested a review from a team November 13, 2023 19:03
@DustinHaefele DustinHaefele force-pushed the vantiv-express-gateway branch 3 times, most recently from 982ea35 to 7a57b5a Compare November 13, 2023 20:02
Copy link
Contributor

@aenand aenand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent test coverage! I also really appreciate how uniform this is with other AM gateways.

Comment on lines 303 to 310
xml.CardPresentCode network_token_eci ? 3 : card_present
xml.CardholderPresentCode network_token_eci ? 7 : 0
xml.CardInputCode network_token_eci ? 4 : 0
xml.CVVPresenceCode 0
xml.TerminalCapabilityCode network_token_eci ? 5 : 0
xml.TerminalEnvironmentCode network_token_eci ? 6 : 0
xml.MotoECICode network_token_eci || 7
xml.TerminalType 1 if network_token_eci
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many of these seem to be based around network_token_eci, are all of these meant to be set differently only for network token? The name of some suggest they would be set by other values (ex: CardholderPresentCode I would expect to match a stored creds or cvv presence check and MotoECICode would match a sca_exemption check)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I didn't notice this when I picked up the ticket. I'm updating this now based on their docs and the GSFs that we allow on this gateway.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha, some of these might also be able to be deduced based on standard fields (for example if the cvv is present && it's a credit card, the cardholder is present)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That does make sense, but I decided to just pull them from the GSFs to keep it in line with the current element integration. That deduction could be added in the future though, if desired.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alma mentioned that one big change from the existing integration to the new one is that the old ones used String enums but the new integration uses codes. Since you are pulling these values from the GSFs, does this mean the merchant needs to change logic to pass in codes instead of the Strings?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that is a good point. This does change that. I was thinking of this as a new gateway where they would pass in the values based on the docs, but I will write a function that calculates them all similar to line 299 here, so that this will accept it both ways since in the long run we are planning on moving current traffic over. Another commit incoming this afternoon.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

amazing thank you 🙇🏽 this will be massive for moving people over seamlessly and hopefully deleting the old version

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okie doke. This should be ready for another review now!

test/unit/gateways/vantiv_express_test.rb Outdated Show resolved Hide resolved
@DustinHaefele
Copy link
Contributor Author

Good questions @aenand, a lot of this work was complete before I grabbed the ticket so it may take me a second to get answers but I'm looking into it now.

Copy link
Contributor

@aenand aenand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :shipit: Amazing work 👏🏽

Don't forget a changelog and squash!

DustinHaefele and others added 5 commits November 15, 2023 11:01
Unit test:
28 tests, 142 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote tests:
31 tests, 91 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Co-authored-by: Alma Malambo <amalambo@spreedly.com>
Remote tests:
32 tests, 93 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Unit tests:
32 tests, 189 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
@DustinHaefele DustinHaefele merged commit 376545a into master Nov 15, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants