В процессе интеграции sbercredit. Аналогичные проблемы.
В документации запросы странного вида, такие не выдает ни http_build_query, ни key-value подстановка.
Плюс запросы GET, но с требованием POST-заголовка application/x-www-form-urlencoded)
Примеры POST-запросов в документации неадекватные, и завести их так и не удалось ни в каком виде.
Оказалось что API принимает только GET, и http_build_query вполне хватит.
Проблема была в документации: запросы составлялись по их документации, но... ничего не работало. И API не умеет говорить ничего, кроме system error)
Разобрал их API по кусочкам, оказалось что оно документации мало соответствует - многие необязательные поля на деле обязательны.
Сейчас следующий круг ада: API принимает запрос, отдает данные для перехода на шлюз, но... теперь шлюз отдает ошибки в web-интерфейсе)
Оказалось поле muasure было обязательным. При этом в документации в примерах запросов оно пустое, и API на пустое поле ошибок не выдает. Такие дела.