https://help.unitpay.ru/article/31-creating-paymen... Здесь сказано, что цифровая подпись, которая отправляется в обработчик:
function getFormSignature($account, $currency, $desc, $sum, $secretKey) {
$hashStr = $account.'{up}'.$currency.'{up}'.$desc.'{up}'.$sum.'{up}'.$secretKey;
return hash('sha256', $hashStr);
}
https://help.unitpay.ru/article/35-confirmation-payment Здесь уже сказано, что цифровая подпись:
function getSignature($method, array $params, $secretKey) {
ksort($params);
unset($params['sign']);
unset($params['signature']);
array_push($params, $secretKey);
array_unshift($params, $method);
return hash('sha256', join('{up}', $params));
}
В других платёжках я бы просто сравнил цифровые подписи. Но здесь, в генерации подписи в обработчике, добавляется $method, которого нет в цифровой подписи из формы на сайте. Они априори не будут одинаковы. Как поступать? Подскажите, пожалуйста..