Я в этом новичок строго не судите. Баланс пользователя не пополняется, на счет платежной системы они поступили, со стороны платежки все ОК по словам ТП. Я так понимаю дело в обработчике уведомления. Можете его подправить или подсказать что не так в коде?
<?php
include('files/functions.php');
include('procedure/balance.php');
include('procedure/referal.php');
@var $pdo
@var $UserBalance
@var $UserID
$merchant = $_REQUEST['FkShopId']; // id вашего магазина
$secret_word2 = '#############'; // секретный ключ 2
function getIP() {
if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array('109.206.163.80', '136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '88.198.88.98'))) {
die("hacking attempt!");
}
$sign = md5($merchant.':'.$_REQUEST['amount'].':'.$secret_word2.':'.$_REQUEST['payment_id'].':'.$_REQUEST['merchant_id'].':'.$_REQUEST['credited']);
if ($sign != $_REQUEST['sign_2']) {
die('bad sign!');
}
echo "Good";
}
$fk_operation_id = $_REQUEST['intid'];
$user_id = $_REQUEST['us_id'];
$payment_sum = $_REQUEST['amount'];
if(empty($fk_operation_id) || empty($user_id) || empty($payment_sum)){
die('Missing one of param');
}
if(isPaymentExist($fk_operation_id)) {
echo('Transaction already exists in our database.');
} else {
if(isUserExist($user_id)){
updateUserBalance($user_id, $payment_sum);
newDeposit($user_id, $payment_sum, $fk_operation_id);
deductionPercent($user_id, $payment_sum);
echo "YES";
}else{
echo "User Not Found";
}
}