Shift4: Update response parsing to account for hostresponse #5261
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The response object returned from the Shift4 gateway seems to have changed
hostResponse
tohostresponse
around August 26th, which causes all failed auth/purchase transactions to default to the fallback message of "Transaction declined"This commit corrects the parsing to account for this change but also leaves
hostResponse
as an option, in case the change is reverted by Shift4 in the future.Assertions were added to show that the refactoring still provides correct values for both
message
anderror_code
for the various response structures we receive. Shift4 does not return ahost(r/R)esponse
object in sandbox testing, so we have to rely on unit tests here.CER-1740
LOCAL
6018 tests, 80340 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
801 files inspected, no offenses detected
UNIT
29 tests, 190 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
REMOTE
29 tests, 67 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed