- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте уважаемые. Есть файл с таким содержанием
<?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 по такой ссылке
Мне нужно проверить (вывести на экран) принимает ли эти данные функция public function return_verify(). Так как я новичек поэтому не знаю как это сделать.
Пробовал вывести так вне класса
Но выдает ошибку
https://translate.google.ru/#auto/ru/Missing%20argument%201%20for%20robokassa
Ошибка написана, в чем вопрос-то?
Параметры инициализации класса не указаны
Подскажите как правильно написать?
Передать $payment_info и $order_info
Более подробно у разработчика или саппорта, что там должно быть
А куда нужно передать?
сдается мне что этот коструктор __construct вставлен явно не авторами скрипта. Если хотели адаптировать класс к новым версиям следовало учесть свойство аргументов старого метода. Там у них задается значение по умолчанию, что в вашем конструкторе это отсутствует.