Closed gruzoveek closed 4 weeks ago
@gruzoveek, честно говоря, из документации действительно не понятно, как правильно передавать несколько значений через jsonParams
одновременно. Но, у меня есть подозрение, что дело в другом. Там используется "весёлый" JSON, в котором вместо значений true
и false
используются строки "true"
и "false"
. Поэтому использовать их нужно следующим образом:
$client->registerOrder(1, 1, 'returnUrl', [
'jsonParams' => [
// Вместо 'showApplePay' => true,
'showApplePay' => 'true',
// Вместо 'showGooglePay' => false,
'showGooglePay' => 'false',
],
]);
Пытался отправлять jsonParams c доп. параметрами. Получил "[jsonParams] неверен". Посмотрел код, посмотрел документацию https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:register Судя по всему, параметр надо передавать не в виде массива, а в виде его элементов. Не как [{"key":"value"},{"key2":"value2"}] а просто {"key":"value"},{"key2":"value2"}.
В классе Client.php:289 видимо надо сделать декомпозицию: $data['jsonParams'] = json_encode(...$data['jsonParams']);