Проблемы с установкой модуля "Автоматические выплаты на различные ПС через Free-Kassa"

Здравствуйте, сделал всё по инструкции, помогите пожалуйста, что делать?
Выдаёт ошибки
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 57
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 80
Вот строка 57: $payment_id = $answer->data->payment_id;

Вот строка 80: $status = $answer->data->status;
Скрипт shabashka.org
Модуль нашёл бесплатно в паблике.
 

pligin

Команда форума
Администратор
Здравствуйте, сделал всё по инструкции, помогите пожалуйста, что делать?
Выдаёт ошибки
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 57
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 80
Вот строка 57: $payment_id = $answer->data->payment_id;

Вот строка 80: $status = $answer->data->status;
Скрипт shabashka.org
Модуль нашёл бесплатно в паблике.
Покажите инструкцию и скрипт, в который устанавливали
 
Инструкция из бесплатного (слитого в паблик):
1. На странице https://wallet.free-kassa.ru/settings/ сгенерировать ключ API
2. В файл /classes/_class.config.php добавить номер кошелька и ключ API
#Free-Kassa настройки
#public $WalletID = 'КОШЕЛЕК';
#public $KeyApi = 'КЛЮЧ_API';
3. Загрузить содержимое архива на сайт
Скрипт:

Ссылка
 
<?PHP
# Заносим выплату
if(!empty($_POST['purse'])){
$currency = $_POST['currency'];
$sum = intval($_POST['money']);
$purse = $_POST['purse'];
if($sum >= 1) {
if($sum <= $user_data['b_out']){
### Делаем выплату ###
$sum = round($sum, 2);
### Проверка баланса ###
$wallet_id = 'F100803237';
$apiKey = 'A48253F680C65B18322EDF49705D29F6';
$data = array(
'wallet_id' => $wallet_id,
'sign' => md5($wallet_id.$apiKey),
'action' => 'get_balance'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$balance = $answer->data->RUR;
$data = array(
'wallet_id'=>$wallet_id,
'purse'=>$purse,
'amount'=>$sum,
'desc'=>'Выплата с проекта '$_SERVER['HTTP_HOST'],
'currency'=>$currency,
'sign'=>md5($wallet_id.$currency.$sum.$purse.$apiKey),
'action'=>'cashout'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$payment_id = $answer->data->payment_id;

# Получаем статус выплаты
$data = array(
'wallet_id'=>$wallet_id,
'payment_id'=>$payment_id,
'sign'=>md5($wallet_id.$payment_id.$apiKey),
'action'=>'get_payment_status'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$status = $answer->data->status;
if ($answer == 'Completed') {
# Снимаем с пользователя
$db->Query("UPDATE users_conf SET b_out = b_out - '$sum' WHERE user_id = '$user_id'");

# Вставляем запись в выплаты
$time = time();


$db->Query("INSERT INTO payments (user_id,money,date_op,status,purse,currency) VALUES ('{$user_id}','{$money}','{$time}','2','{$purse}','{$currency}')");
echo status('success','Выплата прошла успешно');

}else echo status('err','Системная ошибка #1021. Сообщите о ней администратору');
}else echo status('err','Вы указали больше, чем имеется на вашем счету');
}else echo status('err','Минимальная сумма для выплаты составляет 1 руб.!');
}else echo status('err','Введите номер счета');
?>
 

pligin

Команда форума
Администратор
<?PHP
# Заносим выплату
if(!empty($_POST['purse'])){
$currency = $_POST['currency'];
$sum = intval($_POST['money']);
$purse = $_POST['purse'];
if($sum >= 1) {
if($sum <= $user_data['b_out']){
### Делаем выплату ###
$sum = round($sum, 2);
### Проверка баланса ###
$wallet_id = 'F100803237';
$apiKey = 'A48253F680C65B18322EDF49705D29F6';
$data = array(
'wallet_id' => $wallet_id,
'sign' => md5($wallet_id.$apiKey),
'action' => 'get_balance'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$balance = $answer->data->RUR;
$data = array(
'wallet_id'=>$wallet_id,
'purse'=>$purse,
'amount'=>$sum,
'desc'=>'Выплата с проекта '$_SERVER['HTTP_HOST'],
'currency'=>$currency,
'sign'=>md5($wallet_id.$currency.$sum.$purse.$apiKey),
'action'=>'cashout'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$payment_id = $answer->data->payment_id;

# Получаем статус выплаты
$data = array(
'wallet_id'=>$wallet_id,
'payment_id'=>$payment_id,
'sign'=>md5($wallet_id.$payment_id.$apiKey),
'action'=>'get_payment_status'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://wallet.free-kassa.ru/api_v1.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = trim(curl_exec($ch));
$c_errors = curl_error($ch);
curl_close($ch);
$answer = json_decode($result);
$status = $answer->data->status;
if ($answer == 'Completed') {
# Снимаем с пользователя
$db->Query("UPDATE users_conf SET b_out = b_out - '$sum' WHERE user_id = '$user_id'");

# Вставляем запись в выплаты
$time = time();


$db->Query("INSERT INTO payments (user_id,money,date_op,status,purse,currency) VALUES ('{$user_id}','{$money}','{$time}','2','{$purse}','{$currency}')");
echo status('success','Выплата прошла успешно');

}else echo status('err','Системная ошибка #1021. Сообщите о ней администратору');
}else echo status('err','Вы указали больше, чем имеется на вашем счету');
}else echo status('err','Минимальная сумма для выплаты составляет 1 руб.!');
}else echo status('err','Введите номер счета');
?>
И что это? Файл index.php?
Мне нужен архив со скриптом, который Вы сделали. Итоговый вариант
 
В общем, такие дела, я его долго делал, баги все исправлял, и дело в том, что я не могу его просто так выложить на общее обозрение.
 
Так вот, он же точь в точь
 

pligin

Команда форума
Администратор
Так вот, он же точь в точь
А какие изменения ты туда внёс я должен догадаться?
 
Последнее редактирование:

pligin

Команда форума
Администратор
Мне просто бы впилить этот модуль в скрипт
И всё
Это уже в раздел услуг. Сумму я уже озвучивал.
Здравствуйте, сделал всё по инструкции, помогите пожалуйста, что делать?
Выдаёт ошибки
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 57
PHP Notice: Trying to get property of non-object in /var/www/................../_paymentCtrl.php on line 80
Вот строка 57: $payment_id = $answer->data->payment_id;

Вот строка 80: $status = $answer->data->status;
Скрипт shabashka.org
Модуль нашёл бесплатно в паблике.
В 57 и 80 строках происходит обработка данных как объекта, которые не являются объектом
 
Верх