usdglander
@usdglander
Yipee-ki-yay

Что не так с робокассой?

Добрый день.
Хочу отказаться от использования генерируемой формы для оплаты произвольной суммы. Так как описание подобной формы в документации я не нашёл, то решил сформировать набор полей вручную. Формирую значение
['SignatureValue' => md5($config['MerchantLogin'].'::'.$config['InvoiceID'].':'.$password1.':Shp_user='.$userID)]

На выходе получаю форму следующего содержания:
<form action="http://test.robokassa.ru/Index.aspx" method="POST">
	<input type="hidden" name="MerchantLogin" value="***">
	<input type="hidden" name="DefaultSum" value="5000">
	<input type="hidden" name="InvoiceID" value="0">
	<input type="hidden" name="Description" value="Пополнение счета">
	<input type="hidden" name="Culture" value="ru">
	<input type="hidden" name="Encoding" value="utf-8">
	<input type="hidden" name="SignatureValue" value="de9f7416223c9f6e0514af455b9a8283">
	<input type="hidden" name="Shp_user" value="1">
	<input type="text" name="OutSum" class="form-control" value="5000" maxlength="10">
	<button class="btn btn-success" type="submit">Пополнить</button>
</form>

После отправки скрипт ждёт от меня в поле SignatureValue значение 9eb02a6d061a3caf6647af177d2e09dd. Пробовал разные методы формирования, но результат ВСЕГДА отличается от нужного.
Что я делаю не так?
  • Вопрос задан
  • 786 просмотров
Решения вопроса 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. У Вас между MerchantLogin и InvoiceID два двоеточия зачем то.
2. Насколько я помню форма выглядит как
<form action="..." method="POST" name="robokassa">
<input type="hidden" name="MrchLogin" value="...">
<input type="hidden" name="OutSum" value="...">
<input type="hidden" name="InvId" value="...">
<input type="hidden" name="Desc" value="...">
<input type="hidden" name="SignatureValue" value="...">
<input type="hidden" name="IncCurrLabel" value="...">
<input type="hidden" name="Culture" value="...">
</form>
Ответ написан
Adamos
@Adamos
А как вы понимаете "произвольную сумму"? Что ее, клиент должен на Робокассе где-то выбрать?
Логично у вас же на сайте предложить клиенту указать сумму, сформировать заказ на нее (в полном соответствии с документацией РК) и тогда уже передавать эту информацию платежной системе.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deadsandro
Сначала нашел решение "методом тыка", а потом полез искать, возможно ли было найти эту информацию где-то.. Ни сама Робокасса (документация), ни гугл не знают про "волшебный параметр".

нужно вместо OutSum использовать FreeOutSum в качестве инпута для суммы оплаты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы