Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Формирование эцп (https://javascript.ru/forum/misc/77777-formirovanie-ehcp.html)

mpavelvl 19.06.2019 17:28

Формирование эцп
 
Народ, помогите плиз с установкой кода.

Нужно установить код, для встраивания модуля оплаты. Черт меня дернул попытаться сделать самому((

Документацию сервис то дал: https://docs.capitalist.net/api/merc...t.merchant.pdf

Код у меня получился такой:
<?php function signData($data, $secret)
{
unset($data['sign']);
ksort($data, SORT_STRING);
$str = implode(':', $data);
return hash_hmac('md5', $str, $secret);
}?>

<form name="payment" method="post"
action="https://capitalist.net/merchant/pay?lang=ru"
accept-charset="UTF-8">
<input type="hidden" name="merchantid" value="111111" />
<input type="hidden" name="number" value="222222" />
<input type="hidden" name="amount" value="10" />
<input type="hidden" name="currency" value="USD" />
<input type="hidden" name="description" value="Покупка " />
<input type="hidden" name="sign" value="<?php echo $secret;?>" />
<input type="submit" class="xfsub" value=" Купить " id="myButton"/>
</form>

Но нифига не работает. Что я не так делаю? Помогите плиз.

Malleys 19.06.2019 18:38

Запустить
<?php

function signData($data, $secret) {
 unset($data['sign']);
 ksort($data, SORT_STRING);
 $str = implode(':', $data);
 return hash_hmac('md5', $str, $secret);
}

$order = [
 'merchantid' => '111111',
 'number' => '222222',
 'amount' => '10',
 'currency' => 'USD',
 'description' => 'Покупка',
];
$order['sign'] = signData($order, 'mysecret123');

?>
<form name="payment" method="post" action="https://capitalist.net/merchant/pay?lang=ru" accept-charset="UTF-8">
<?php
  echo implode("", array_map(function($key, $value) {
    return "<input name=\"$key\" value=\"$value\" type=\"hidden\">";
  }, array_keys($order), $order));
?>
  <input type="submit" class="xfsub" value=" Купить " id="myButton">
</form>


И конечно же нужно подставить в $order правильные данные! (Песочница PHP)

mpavelvl 20.06.2019 14:06

Спасибо большое!


Часовой пояс GMT +3, время: 20:02.