-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Conversation
982ea35
to
7a57b5a
Compare
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.
Excellent test coverage! I also really appreciate how uniform this is with other AM gateways.
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 |
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.
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)
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.
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.
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.
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)
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.
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.
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.
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
?
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.
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.
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.
amazing thank you 🙇🏽 this will be massive for moving people over seamlessly and hopefully deleting the old version
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.
Okie doke. This should be ready for another review now!
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. |
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.
LGTM Amazing work 👏🏽
Don't forget a changelog and squash!
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
7b324df
to
5bb02d7
Compare
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