Нужно сформировать цифровую подпись, но хеши не совпадают
как я понял логику (строка $sign)
1. объединяется массив в строку (без разделителя?)
2. шифруется методом sha1 с ключем
3. кодируется base64
4. шифруется методом md5
5. кодируется base64
или что-то не так?
просто нет возможности добавить на сайт php код, только javascript или nodejs
весь код$clientID = 123;
$secret = 'qwertyuiop123456';
$data = [
'CLIENT_ID' => $clientID,
'INVOICE_ID' => '1',
'AMOUNT' => '100',
'CURRENCY' => 'USD',
'PAYMENT_CURRENCY' => 'qiwi',
'DESCRIPTION' => 'Test payment',
'SUCCESS_URL' => 'https://test.ru/success/1',
'FAIL_URL' => 'https://test.ru/fail/1',
'STATUS_URL' => 'https://test.ru/status/1'
];
$sign = base64_encode(md5($secret . base64_encode(sha1(implode('', $data), true)) . $secret, true));
$data['SIGN_ORDER'] = implode(';', array_keys($data));
$data['SIGN'] = $sign;