как вывести содержимое public function на эран для проверки

J2
На сайте с 13.12.2011
Offline
46
768

Здравствуйте уважаемые. Есть файл с таким содержанием

<?php defined('InShopNC') or exit('Access Invalid!');


class robokassa{

private $gateway = 'http://test.robokassa.ru/Index.aspx?';
private $code = 'robokassa';
private $payment;
private $order;
private $parameter;
private $order_type;

public function __construct($payment_info,$order_info){
$this->robokassa($payment_info,$order_info);
}
public function robokassa($payment_info = array(),$order_info = array()){
if(!empty($payment_info) and !empty($order_info)){
$this->payment = $payment_info;
$this->order = $order_info;
}
}
/**
* Запросы для получения оплаты интерфейс
*
* @return string
*/
public function submit(){
$mrh_pass1 = $this->payment['payment_config']['mrh_pass1']; //
$mrh_login = $this->payment['payment_config']['mrh_login']; //
$encoding = "utf-8";
$inv_desc = $this->order['subject']; //Навание товара
$inv_id = $this->order['pay_sn']; //Внешний номер транзакции
$v_url = SHOP_SITE_URL."/api/payment/robokassa/return_url.php"; // Пожалуйста, заполните URL возврата, адрес должен быть абсолютный путь с протоколом HTTP
$in_curr = '';
$shp_item = 1;
$culture = 'ru';
$out_summ = $this->order['pay_amount'];//общая стоимость заказа
// формирование подписи
// generate signature
$crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");

$parameter = array(
'MrchLogin' => $mrh_login,
'OutSum' => $out_summ,
'InvId' => $inv_id,
'IncCurrLabel' => $in_curr,
'Desc' => $inv_desc,
'SignatureValue' => $crc,
'Shp_item' => $shp_item,
'Culture' => $culture,
'Encoding' => $encoding,
'remark' => $this->order['order_type']
);

$html = '<html><head></head><body>';
$html .= '<form method="post" name="E_FORM" action="http://test.robokassa.ru/Index.aspx?">';
foreach ($parameter as $key => $val){
$html .= "<input type='hidden' name='$key' value='$val' />";
}
$html .= '</form><script type="text/javascript">document.E_FORM.submit();</script>';
$html .= '</body></html>';
echo $html;
exit;
}

public function return_verify(){
$mrh_pass2 = $this->payment['payment_config']['mrh_pass2'];
$out_summ = trim($_POST["OutSum"]);
$inv_id = trim($_POST["InvId"]);
$shp_item = trim($_POST["Shp_item"]);
$crc = trim($_POST["SignatureValue"]);
$remark =trim($_POST['remark']);

$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:Shp_item=$shp_item"));

/**
* Вернуться информацию, чтобы определить, если оплата прошла успешно, результаты достоверными и платить, то не дальнейшей обработки
*/
if ($crc==$my_crc){
$this->order_type = $remark;
$this->pay_result = true;
return true;
echo "OK$inv_id\n";
}else{
return false;//echo "支付失败";
}
}
public function notify_verify() {
return $this->return_verify();
}
public function getPayResult($param){
return $this->pay_result;
}
public function __get($name){
return $this->$name;
}
}

Который получает данные от робокассы методом POST по такой ссылке

http://subdomain.test1.ru/shop/api/payment/robokassa/robokassa.php?InvId=313255402&OutSum=99&SignatureValue=3a58e512999ee0dec4e4893e0acd7b6d&Culture=ru&Shp_item=1

Мне нужно проверить (вывести на экран) принимает ли эти данные функция public function return_verify(). Так как я новичек поэтому не знаю как это сделать.

Пробовал вывести так вне класса


$obj = new robokassa;

echo $obj->return_verify();

Но выдает ошибку


Warning: Missing argument 1 for robokassa::__construct(), called in Z:\home\test1.ru\subdomain\shop\api\payment\robokassa\robokassa.php on line 99 and defined in Z:\home\test1.ru\subdomain\shop\api\payment\robokassa\robokassa.php on line 12

Warning: Missing argument 2 for robokassa::__construct(), called in Z:\home\test1.ru\subdomain\shop\api\payment\robokassa\robokassa.php on line 99 and defined in Z:\home\test1.ru\subdomain\shop\api\payment\robokassa\robokassa.php on line 12
https://mallinru.ru/ (https://mallinru.ru/)
TF-Studio
На сайте с 17.08.2010
Offline
334
#1

https://translate.google.ru/#auto/ru/Missing%20argument%201%20for%20robokassa

Ошибка написана, в чем вопрос-то?

Параметры инициализации класса не указаны

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
J2
На сайте с 13.12.2011
Offline
46
#2

Подскажите как правильно написать?

TF-Studio
На сайте с 17.08.2010
Offline
334
#3

Передать $payment_info и $order_info

Более подробно у разработчика или саппорта, что там должно быть

J2
На сайте с 13.12.2011
Offline
46
#4

А куда нужно передать?

siv1987
На сайте с 02.04.2009
Offline
427
#5

сдается мне что этот коструктор __construct вставлен явно не авторами скрипта. Если хотели адаптировать класс к новым версиям следовало учесть свойство аргументов старого метода. Там у них задается значение по умолчанию, что в вашем конструкторе это отсутствует.

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