Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прием платежей через ROBOKASSA, Передача параметров 
V
    Опции темы
Cript777
  Дата 28.5.2013, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 30.10.2012

Репутация: нет
Всего: нет



Приветствую! Кто знаком с этой системой? Уже столько всего прочитал, все ровно ничего не получается..

Вот код отправки запроса на их сайт

Код

// сумма заказа
// sum of order
$out_summ = $_POST['out_summ'];
$username=$_SESSION['username'];
?>
<center><br>Пополнение счета <? echo $username;?> на сумму <b><? echo $out_summ;?> Рублей</b><br><br>
<? 
// регистрационная информация (логин, пароль #1)
// registration info (login, password #1)
$mrh_login = "---";
$mrh_pass1 = "---";
// номер заказа
// number of order
$inv_id = 0;
// описание заказа
// order description
$inv_desc = "Оплата счета";
// тип товара
// code of goods
$shp_item = "2";
// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "";
// язык
// language
$culture = "ru";
// формирование подписи
// generate signature
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");
// форма оплаты товара
// payment form
print
   "<html>".
   "<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=username value='$username'>".
   "<input type=submit value='Пополнить'>".
   "</form></html>";
   "<center><br>";



В result.php 

Код

<? 
$db = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die ("Could not connect to the database");
@mysql_select_db("$dbname", $db) or die ("Could not select the database");

// as a part of ResultURL script

// your registration data
$mrh_pass2 = "---";   // merchant pass2 here
// HTTP parameters:
$out_summ = $_POST["OutSum"];
$username = $_POST["username"];
$inv_id = $_POST["InvId"];
$crc = $_POST["SignatureValue"];
// HTTP parameters: $out_summ, $inv_id, $crc
$crc = strtoupper($crc);   // force uppercase

// build own CRC
$my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2"));

if (strtoupper($my_crc) != strtoupper($crc))
{
  echo "bad sign\n";
  exit();
}

// print OK signature
echo "OK$inv_id\n";

// запрос к бд..
$username = $_POST['username'];
$statsq = mysql_query("select * from _users where username = '".$username."' ");
$statsr = mysql_fetch_array($statsq); 
$money = $statsr['balance'];
//и т.п..
?>


Что делаю не так? По моему параметр username просто не передается.. Как сделать правильно?..
PM MAIL   Вверх
Arantir
Дата 28.5.2013, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата(Cript777 @  28.5.2013,  19:02 Найти цитируемый пост)
Уже столько всего прочитал, все ровно ничего не получается..

Только вот документацию самой Робокассы почитать забыли, наверное...

http://robokassa.ru/ru/Doc/Ru/Interface.aspx#223
Цитата

Параметры запроса (метод POST либо GET): 

MrchLogin=sMerchantLogin&
OutSum=nOutSum&
InvId=nInvId&
Desc=sInvDesc&
SignatureValue=sSignatureValue
IncCurrLabel=sIncCurrLabel&
Email=sEmail&
Culture=sCulture
[&shpa=yyy&shpb=xxx...-пользовательские_параметры_начинающиеся_с_SHP_в_сумме_до_2048_знаков]
Цитата

При инициализации оплаты, вы можете передать дополнительные параметры, которые необходимы для работы вашего магазина. Переданные дополнительные параметры будут возвращены скриптам магазина по Result Url, Success Url и Fail Url. 
Наименование дополнительных параметров должно ОБЯЗАТЕЛЬНО начинаться с "SHP" в любом регистре. 
Например: Shp_item, SHP_1, ShpEmail, shp_oplata, ShpClientId и т.д. 


Это сообщение отредактировал(а) Arantir - 28.5.2013, 20:28


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Cript777
Дата 28.5.2013, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 30.10.2012

Репутация: нет
Всего: нет



Цитата(Arantir @  28.5.2013,  20:26 Найти цитируемый пост)
Наименование дополнительных параметров должно ОБЯЗАТЕЛЬНО начинаться с "SHP" в любом регистре. 
Например: Shp_item, SHP_1, ShpEmail, shp_oplata, ShpClientId и т.д. 


Заменил все как надо 
Код

// формирование подписи
// generate signature
$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item:Shp_username=$username");

      ...

   "<input type=hidden name=Shp_username value='$username'>".



В результе я так понимаю только это меняется? Подпись не меняется?
Код

$username = $_POST["Shp_username"];


Однако проделав все это баланс пользователя не обновляется..
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.