Deep stringify the keys of the result params #111
Merged
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.
Fixes #110.
Summary
A error Braintree response would raise the following error:
Solidus Version:
3.4.0.dev
Cause
When
SolidusBraintree::Response.build(result)
accepts an error result, theresult.params
it passes to the new response has symbol keys. Here's a sample of theresult.params
:Demonstration
See
https://github.com/solidusio/solidus_braintree/tree/gsmendoza/110-log-entry-disallowed-class-demo for a demonstration of the error and my attempts to fix it. Start from the "Try enabling venmo specs" commit.
Additional context
Related to #108.
There is also a PR in Solidus that will temporarily allow bad payloads to be saved in payment log entries. See
solidusio/solidus#4953
Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: