Подключение новой Free-kassa

Windson

Участник
Старые мерчанты free-kassa работают. Новый не проходит модерацию, так как сказали переходить на новую версию. На сколько знаю api не сильно отличается новой кассы от старой. Хотелось бы узнать, что поправить в скрипте для новой кассы ?
 

xakmika

Местный
Старые мерчанты free-kassa работают. Новый не проходит модерацию, так как сказали переходить на новую версию. На сколько знаю api не сильно отличается новой кассы от старой. Хотелось бы узнать, что поправить в скрипте для новой кассы ?
Я не давно подправлял у себя, кидай сюда код, переделаю тебе
 

Windson

Участник
<?php

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);

######################################
# Скрипт FastCore
# Мерчант FREE-KASSA
# Автор Jumast & Kolyaka105
######################################

# Старт сессии
session_start();

# Константа для Include
define('FastCore',true);

# Подгрузка классов системы
spl_autoload_register(function ($lfc) {
require 'core/'.$lfc.'.php';
});

# Класс конфига
$config = new config;

# Функции
$func = new func;

$merchant_id = $config->fk_id;
$merchant_secret = $config->fk_key2;

$sign = md5($merchant_id.':'.$_REQUEST['AMOUNT'].':'.$merchant_secret.':'.$_REQUEST['MERCHANT_ORDER_ID']);

if ($sign != $_REQUEST['SIGN']) { die('wrong sign'); }

$m_orderid = $_REQUEST['MERCHANT_ORDER_ID'];

$id = intval($m_orderid);
$num = $db->query("SELECT * FROM `db_insert` WHERE `id` = '$id'")->numRows();

if($num == 0) { echo $_POST['MERCHANT_ORDER_ID'].'|error'; exit(); }

$data = $db->query("SELECT * FROM `db_insert` WHERE `id` = '$id'")->fetchArray();

if($data['status'] == 1){ exit($_POST['MERCHANT_ORDER_ID'].'|success');}
if($data['sum'] != $_POST['AMOUNT']){ exit($_POST['MERCHANT_ORDER_ID'].'|error');}

$uid = $data['uid'];
$sum = $data['sum'];
$time = time();

# Начисление с бонусом
$bonx = $db->query("SELECT * FROM `db_percent` WHERE `type` = '1' ORDER BY `sum_a` BETWEEN {$sum} AND {$sum}
OR {$sum} BETWEEN `sum_a` AND `sum_b`")->fetchArray();

$bonus = $bonx['sum_x'];
$sum_x = ($sum + ($sum * $bonus));

# Формируем реферер
$us_data = $db->query("SELECT rid FROM db_users WHERE id = '$uid' LIMIT 1")->fetchArray();
$rid = $us_data['rid'];
$income = ($sum * 0.05);

# Обновляем реферера
$db->query("UPDATE `db_users` SET `money_p` = `money_p` + '$income', `income` = `income` + '$income' WHERE `id` = '$rid'");

# Обновляем пользователя
$db->query("UPDATE `db_users` SET `sum_in` = `sum_in` + '$sum', `ref_to` = `ref_to` + '$income', `money_b` = `money_b` + '$sum_x' WHERE `id` = '$uid'");

# Пишем в статистику
$db->query("UPDATE `db_insert` SET `status` = '1', `sum_x` = '$sum_x', `end` = '$time' WHERE `id` = '$id'");
$db->query("UPDATE `db_stats` SET `inserts` = `inserts` + '$sum' WHERE `id` = '1'");

echo $m_orderid."|success"; // Успешная оплата
exit;
?>
 

Windson

Участник
Я не давно подправлял у себя, кидай сюда код, переделаю тебе
<?php

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);

######################################
# Скрипт FastCore
# Мерчант FREE-KASSA
# Автор Jumast & Kolyaka105
######################################

# Старт сессии
session_start();

# Константа для Include
define('FastCore',true);

# Подгрузка классов системы
spl_autoload_register(function ($lfc) {
require 'core/'.$lfc.'.php';
});

# Класс конфига
$config = new config;

# Функции
$func = new func;

$merchant_id = $config->fk_id;
$merchant_secret = $config->fk_key2;

$sign = md5($merchant_id.':'.$_REQUEST['AMOUNT'].':'.$merchant_secret.':'.$_REQUEST['MERCHANT_ORDER_ID']);

if ($sign != $_REQUEST['SIGN']) { die('wrong sign'); }

$m_orderid = $_REQUEST['MERCHANT_ORDER_ID'];

$id = intval($m_orderid);
$num = $db->query("SELECT * FROM `db_insert` WHERE `id` = '$id'")->numRows();

if($num == 0) { echo $_POST['MERCHANT_ORDER_ID'].'|error'; exit(); }

$data = $db->query("SELECT * FROM `db_insert` WHERE `id` = '$id'")->fetchArray();

if($data['status'] == 1){ exit($_POST['MERCHANT_ORDER_ID'].'|success');}
if($data['sum'] != $_POST['AMOUNT']){ exit($_POST['MERCHANT_ORDER_ID'].'|error');}

$uid = $data['uid'];
$sum = $data['sum'];
$time = time();

# Начисление с бонусом
$bonx = $db->query("SELECT * FROM `db_percent` WHERE `type` = '1' ORDER BY `sum_a` BETWEEN {$sum} AND {$sum}
OR {$sum} BETWEEN `sum_a` AND `sum_b`")->fetchArray();

$bonus = $bonx['sum_x'];
$sum_x = ($sum + ($sum * $bonus));

# Формируем реферер
$us_data = $db->query("SELECT rid FROM db_users WHERE id = '$uid' LIMIT 1")->fetchArray();
$rid = $us_data['rid'];
$income = ($sum * 0.05);

# Обновляем реферера
$db->query("UPDATE `db_users` SET `money_p` = `money_p` + '$income', `income` = `income` + '$income' WHERE `id` = '$rid'");

# Обновляем пользователя
$db->query("UPDATE `db_users` SET `sum_in` = `sum_in` + '$sum', `ref_to` = `ref_to` + '$income', `money_b` = `money_b` + '$sum_x' WHERE `id` = '$uid'");

# Пишем в статистику
$db->query("UPDATE `db_insert` SET `status` = '1', `sum_x` = '$sum_x', `end` = '$time' WHERE `id` = '$id'");
$db->query("UPDATE `db_stats` SET `inserts` = `inserts` + '$sum' WHERE `id` = '1'");

echo $m_orderid."|success"; // Успешная оплата
exit;
?>
 

geronimo

Местный
это не тот файл:)
и еще надо уточнять что скрипт фаст коре,а не оригинальный скрипт фф
 

Windson

Участник
это не тот файл:)
и еще надо уточнять что скрипт фаст коре,а не оригинальный скрипт фф
<?php
return;
}

# Оплата через FK
$csrfCheck = $func->csrfVerify();
if (isset($_POST['sum']) && $py == 'freekassa' && $csrfCheck == TRUE) {

$sum = round(floatval($_POST["sum"]),2);
$sys = 'freekassa';
$sum_x = '0';

# Заносим в БД
$db->query("INSERT INTO db_insert (uid, login, sum, sum_x, sys, `add`, status) VALUES ('$uid','$login','$sum','$sum_x','$sys','".time()."','0')");

$order_id = $db->LastInsert();
$fk_merchant_id = $config->fk_id;
$fk_merchant_key = $config->fk_key;

# Это соль
$hash = md5($fk_merchant_id.':'.$sum.':'.$fk_merchant_key.':'.$order_id);
?>
Может это ?
 
Верх