Free-Kassa Подключение платежей по API

mrme
На сайте с 23.04.2015
Offline
29
2981

Уважаемый форум, помогите дураку=)

Пытаюсь 2 дня подключить к сайту платежку через Free-kassa api.

Есть форма отправки, в которую нужно впихнуть проверку подписи

<form method= "GET" action="http://www.free-kassa.ru/merchant/cash.php" id="freekassa" style="display: none;">

<input type="hidden" name="m" value="<?=$merchant_id?>"> // id магазина на фрикасса моего

<input type="text" name="oa" class="form-control" value="<?=$order_amount?>" placeholder="<?php echo $res['currency_used']; ?>" data-type="number"> // поле в которую юзер вписывает нужную ему сумму

<input type="hidden" name="o" id="desc" value="<?=$order_id?>"> // id юзера

<input type="hidden" name="s" value="<?=$sign?>"> // формирование подписи

<input type="submit" value="<?php echo $trans['pay'];?>" class="btn btn-default"> // кнопка оплаты

</form>

Скрипт формирования этой гребаной (простите) подписи Фрикасса говорит сделать нужно вот таким образом

<?php

$merchant_id = '7012';

$secret_word = 'secret';

$order_id = '154';

$order_amount = '100.11';

$sign = md5($merchant_id.':'.$order_amount.':'.$secret_word.':'.$order_id);

?>

Вопрос: как в значение <input type="text" name="oa" class="form-control" value="<?=$order_amount?>" placeholder="<?php echo $res['currency_used']; ?>" data-type="number"> . передать ту сумму которую пишет юзер? Каждый раз это любая новая сумма

totamon
На сайте с 12.05.2007
Offline
437
#1

на два шага разбить? на первом сумму вводит, на втором типа кнопка опалить с сформированным ключем.

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
mrme
На сайте с 23.04.2015
Offline
29
#2
totamon:
на два шага разбить? на первом сумму вводит, на втором типа кнопка опалить с сформированным ключем.

буду очень признателен если в виде кода это покажете как сделать..только начал вникать во все тяготы php =)

FladeX
На сайте с 07.11.2008
Offline
163
#3

Сделать несложно, но пока не совсем понятно, на каком именно этапе у вас возник вопрос)

1. Первым делом вам нужно получить значение суммы. Судя по коду, оно приходит из формы с поля:

<input type="text" name="oa" class="form-control" value="<?=$order_amount?>" placeholder="<?php echo $res['currency_used']; ?>" data-type="number">

Причём оно уже имеет некое начальное значение $order_amount, но по вашему описанию непонятно, может ли пользователь его менять (вроде написано, что пользователь вводит сумму сам). В таком случае нужно ловить введённое значение после сабмита формы как значение переменной $_GET['oa'].

2. Далее нужно проверить значение, полученное с формы. Стандартная проверка на существование:

$sum = isset($_GET['oa']) ? $_GET['oa'] : 0;

3. И формируем подпись:

$sign = md5($merchant_id.':'.$sum.':'.$secret_word.':'.$order_id);

Но нужно ещё раз уточнить, какой алгоритм работы формы, на каком этапе у вас должна указываться сумма, на каком этапе формироваться подпись, действительно ли нужно использовать GET-вариант отправки формы и т.д.

Услуги посредника на бирже контента: информационные статьи 40₽/1000, «продающие» тексты 50₽/1000. Пишите в личку. Помогаю правильно переехать на https (/ru/forum/973447). Подписывайтесь на мой канал в телеграм: https://t.me/fladex (https://t.me/fladex).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий