Я интегрировал платежный шлюз QuickPay на свой веб-сайт, но я получаю ошибку контрольной суммы. Я использовал их функцию контрольной суммы, но все еще получаю ту же ошибку, и ключ API не совпадает с Agreement_id в их системе QuickPay. У меня есть 4 различных ключа API и соглашение_, я могу 'Я не понимаю, какой из них использовать. Пожалуйста, помогите исправить эти проблемы. Я прикрепил сообщение об ошибке и код вниз.
Форма моего платежного шлюза с функцией контрольной суммы
function sign($params, $api_key) {
$flattened_params = flatten_params($params);
ksort($flattened_params);
$base = implode(" ", $flattened_params);
return hash_hmac("sha256", $base, $api_key);
}
function flatten_params($obj, $result = array(), $path = array()) {
if (is_array($obj)) {
foreach ($obj as $k => $v) {
$result = array_merge($result, flatten_params($v, $result, array_merge($path, array($k))));
}
} else {
$result[implode("", array_map(function($p) { return "[{$p}]"; }, $path))] = $obj;
}
return $result;
}
$params = array(
"version" => "v10",
"merchant_id" => 25652,
"agreement_id" => 35653,
"order_id" => "0001",
"amount" => 1000,
"currency" => "DKK",
"continueurl" => "http://testing.com/sucess.php",
"cancelurl" => "http://testing.com/checkout.php",
"callbackurl" => "http://testing.com/checkout.php",
);
//$params["checksum"] = sign($params, "549586e233dbf0116ec9570b948867281fae9a852c909f05d8b4e35b808fc9ad");
$checksum = sign($params, "549586e233dbf0116ec9570b948867281fae9a852c909f05d8b4e35b808fc9ad");
В этой функции я использовал этот платежный шлюззарегистрированный URL
это форма, которую я использовал
<form method="POST" action="https://payment.quickpay.net">
<input type="hidden" name="version" value="v10">
<input type="hidden" name="merchant_id" value="25652">
<input type="hidden" name="agreement_id" value="35653">
<input type="text" name="order_id" value="0001">
<input type="text" name="amount" value="1000">
<input type="hidden" name="currency" value="DKK">
<input type="hidden" name="continueurl" value="http://testing.com/sucess.php">
<input type="hidden" name="cancelurl" value="http://testing.com/checkout.php">
<input type="hidden" name="callbackurl" value="http://testing.com/checkout.php">
<input type="text" name="checksum" value="<?php echo $checksum; ?>">
<input type="submit" value="Continue to payment...">
</form>
Я прикрепил изображение ключа API, которое я использовал
И это сообщение об ошибке я получаю