Как сделать подписанный хэшем JSON?
Помогите пожалуйста. Я не могу понять как создать транзакцию и отправить POST запрос И вообще как работать с этим API. Я прочитал документацию но ничего не понял. Пожалуйста помогите - проект стоит
Вот API - https://docs.cityhub.com.ua/introduction.html
Думаю на земле еще есть хорошие люди.
Ответы (1 шт):
Автор решения: Ипатьев
→ Ссылка
В целом, в документации всё написано, хотя и немного непоследовательно.
- Формируем массив в указанном формате, с пустой строкой на месте хэша
- Сортируем так чтобы ключи шли в алфавитом порядке
- Делаем JSON encode
- Формируем хэш MD5 из строки вида джейсон + токен
- Подставлям хэш в массив
- Делаем JSON encode и полученный джейсон отправляем
Дальше это все надо просто написать на РНР
$token = 111;
$data = [
'auth' => [
'point' => '33_44',
'hash' => '',
],
'locale' => 'ru',
'service_id' => 999,
'amount' => 1000,
'fields' => [
'account' => '1112233',
],
];
ksort($data);
$json = json_encode($data);
$hash = md5($json . $token);
$data['auth']['hash'] = $hash;
$json = json_encode($data);
и дальше отправлем полученный джейсон.
Токен должны выдать при регистрации