Base->toArray() expects array instead of null
asdfklgash opened this issue · 1 comments
General information
- SDK/Library version: 6.9 and also 6.15
- Environment: production (think sandbox also)
- Language, language version, and OS: PHP 8.0 on Linux
Issue description
[TypeError]
array_map(): Argument #2 ($array) must be of type array, null given
Exception trace:
at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:101
array_map() at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:101
Braintree\Base->toArray() at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:97
Braintree\Base->Braintree{closure}() at n/a:n/a
array_map() at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:101
Braintree\Base->toArray() at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:97
Braintree\Base->Braintree{closure}() at n/a:n/a
array_map() at /var/www/vendor/braintree/braintree_php/lib/Braintree/Base.php:101
Braintree\Base->toArray() at ...
The problem occurs within your toArray()
function when $this->_attributes
is null
as PHP expects array
for array_map
.
In our case the problem occurs with riskData->liabilityShift
is null
.
riskData->decisionReasons
is an empty array for example and that works.
👋 @asdfklgash sorry for the delay. We can absolutely fix up our code to be more defensive. Would you mind also contacting Technical Support, as I think something might have changed with our API that's resulting in this error in the SDK? They'll need recent example API calls where you've encountered this scenario so that they can find any related logs and communicate with our API engineering teams.
For internal tracking of SDK issue, ticket 29185