Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.09.2017
Сообщений: 37

робокасса и Signature

27.01.2018, 18:26. Показов 2492. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет! ЗАмотался уже искать ошибку по формированию подписи платежа. э
Ошибка:
Некоторые параметры счета некорректны
Неверный параметр: Signature

Хоть ты тресни.
Вот содержание файла action.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<? session_start();
// регистрационная информация (Идентификатор магазина, пароль #1) 
// registration info (Merchant ID, password #1) 
$mrh_login = "логин";
$mrh_pass1 = "парольчик1";
$mrh_pass2 = "парольчик2"; 
// номер заказа
$inv_id =$shet;
// id пользователя совершающий платеж
$id_us= $_POST['id_u'];
// описание заказа
// order description
$inv_desc = $_SESSION['titolo'];
 
// сумма заказа
// sum of order
$out_summ =  $_POST['ab_s'];
// код продаваемой страницы
$id_page = $_POST['ab_n'];
// код товара
$shp_item = 1;
 
// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "WMRM";
 
// язык
// language
$culture = "ru";
 
// кодировка
// encoding
$encoding = "utf-8"; 
 
// Адрес электронной почты покупателя
// E-mail
$Email = "e-mail@mail.ru";
 
// Срок действия счёта
// Expiration Date
$ExpirationDate = "";
 
// Валюта счёта
// OutSum Currency
$OutSumCurrency = "RUR";
 
// формирование подписи
// generate signature
$crc  = md5("$mrh_login:$out_summ:$inv_id::$mrh_pass1:Shp_item=$shp_item");
 
// форма оплаты товара
// payment form 
  echo "
   <html>
<head>
<link rel='stylesheet' href='./css/download.css' type='text/css' media='all' />
</head>
<img src='../../i/logo-small.png' width='100%'>
<div id='email_form'>
<img src='robokassa.png'>
<div id='top_title'><h3> $inv_desc </h3></div>
<div id='conteiner'>
<h5>Сумма платежа: </h5><h3>$out_summ рублей + 7%<h6> комиссия</h6></h3>
 
   <form action='https://auth.robokassa.ru/Merchant/Index.aspx' method='POST'>
   <input type=hidden name=MrchLogin value='$mrh_login'>
   <input type=hidden name=OutSum value='$out_summ'>
   <input type=hidden name=InvId value='$inv_id'>
   <input type=hidden name=Desc value='$inv_desc'>
   <input type=hidden name=SignatureValue value='$crc'>
   <input type=hidden name=Shp_item value='$shp_item'>
   <input type=hidden name=IncCurrLabel value='$in_curr'>
   <input type=hidden name=Culture value='$culture'>
   <input type=hidden name=Email value='$Email'>
   <input type=hidden name=ExpirationDate value='$ExpirationDate'>
   <input type=hidden name=OutSumCurrency value='$OutSumCurrency'>
   <input type=hidden name=id_us value='$id_us'>
   <input type=hidden name=id_page value='$id_page'>
   <input type=submit value='Оплатить'>
</div>
<br> <a href='javascript:history.back(1)'>Вернуться назад</a>
<h5>ID плательщика $id_us </h5>
<h5>номер страницы $id_page</h5>
<h5>$out_summ </h5>
 </div>  </form></html>"; 
?>
и содержимое файла result.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php session_start();
// регистрационная информация (Идентификатор магазина, пароль #1) 
// registration info (Merchant ID, password #1) 
$mrh_login = "лоигн1";
$mrh_pass2 = "парольчик2"; 
 
    //Parameters
    $out_summ = $_REQUEST["OutSum"];
    $inv_id =  $_REQUEST["InvId"];
    $crc = $_REQUEST["SignatureValue"];
    $shp_item = $_REQUEST["shp_item"];
    $shp_user = $_REQUEST["shp_idus"];
    $shp_page = $_REQUEST["shp_idpage"];
    $crc = strtolower($crc);
 
    $my_crc = strtolower(md5("$out_summ:$inv_id:$mrh_pass2:Shp_item=$shp_item:shp_us=$shp_user:shp_idpage=$shp_page"));
 
    //Check sign
    if($my_crc != $crc) {
        echo "Печалька";
        exit();
    }
    
$db = mysqli_connect('localhost','u0430','U3','u');
mysqli_query($db,"SET NAMES 'utf8';"); 
mysqli_query($db,"SET CHARACTER SET 'utf8';");
mysqli_query($db,"SET SESSION collation_connection = 'utf8_general_ci';");
mysqli_query ($db,"UPDATE  users  SET page_id = '$shp_page' WHERE id = '$shp_user'");
?>
Что не так то? Пароли сравнил. И заного другие задал. И все равно шляпа выходит :-)

Добавлено через 7 минут
если честно на робокассе так всё "замечательно" расписано для всех, что в принципе не понятно ничего. :-) прошу не ругать, может просто туплю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2018, 18:26
Ответы с готовыми решениями:

Робокасса возвращает непонятные иероглифы
возвращаются непонятные иероглифы с Робокассы. Поясню поподробней. Когда человек у меня оформляет заказ на сайте, данные идут на...

Робокасса result url скрипт отправки письма после оплаты
Необходимо к лендингу прикрутить платежный шлюз РОБОКАССА. Все настройки выполнены в системе. Далее создал html страницу с формой, в ней...

Робокасса
Подскажите пожалуйста источник, где можно прочитать как подключить робокассу к сайту

2
 Аватар для gbsoftware
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
27.01.2018, 21:46
Лишнее двоеточие:
PHP
1
2
$inv_id::$mrh_pass1
$crc  = md5("$mrh_login:$out_summ:$inv_id::$mrh_pass1:Shp_item=$shp_item");
0
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 226
27.01.2018, 23:50
Названия параметров должны быть в алфавитном порядке, в документации робокассы об этом сказано

Добавлено через 5 минут
Как вариант если уж совсем не разберётесь, позвоните в робокассу и попросите соединиться тех. Отделом по моему Александр классный чувак, поможет)
Так же ещё можно скачать демо скрипты на их сайте и последовательно добавляя параметры проверять работоспособность

Добавлено через 4 минуты
В result.php нет параметра , он обязателен, по-моему echo $inv_id , могу ошибаться , если его нет робокасса будет обращаться 3 раза к скрипту result.php следовательно код выполнится 3 раза.

Добавлено через 1 минуту
В режиме отладки лучше перевести магазин в режим теста

Добавлено через 8 минут
А action.php прировняйте $inv_id к 0 и попробуйте
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2018, 23:50
Помогаю со студенческими работами здесь

Робокасса и калькулятор
Ребят, привет! Сразу скажу, что в php всем блондинкам блондинка.. Есть калькулятор:...

Робокасса на сайт
Доброго время суток. Сайт на J1.5 нужно чтобы клиенты могли расплачиваться через робокассу за товар. Как это дело все вставить в сайт?

Обработчик оплаты Робокасса
Небходима срочно помощь!. Необходимо при изменении статуса заказ отослать пользователю сообщение со ссылкой, на оплату заказа. Сейчас же...

Робокасса и подписка на N дней
Здравствуйте! У меня вопрос весьма детский, потому как я не понимаю основ и прошу помощи. На сайте есть 2 вида подписки: на 30 дней...

Оплата товара через робокасса
Есть товар на сайте и кнопка оплатить через робокассу, как сделать так, что оплачивать могли только зарегистрированные пользователи и если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru