Как сделать подписанный хэшем JSON?

Помогите пожалуйста. Я не могу понять как создать транзакцию и отправить POST запрос И вообще как работать с этим API. Я прочитал документацию но ничего не понял. Пожалуйста помогите - проект стоит

Вот API - https://docs.cityhub.com.ua/introduction.html

Думаю на земле еще есть хорошие люди.


Ответы (1 шт):

Автор решения: Ипатьев

В целом, в документации всё написано, хотя и немного непоследовательно.

  1. Формируем массив в указанном формате, с пустой строкой на месте хэша
  2. Сортируем так чтобы ключи шли в алфавитом порядке
  3. Делаем JSON encode
  4. Формируем хэш MD5 из строки вида джейсон + токен
  5. Подставлям хэш в массив
  6. Делаем 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);

и дальше отправлем полученный джейсон.

Токен должны выдать при регистрации

→ Ссылка