Подключаем автодонат с помощью FreeKassa.ru

36 posts in this topic

DEST
Maintainer

Всем привет! Многие видели урок, как подключить систему доната с unitpay, однако, уже многие знают, что там требуют персональный аттестат WebMoney. Не у каждого данный аттестат есть. Если в ближайшем будущем у вас его не предвидится, можно использовать данную систему. 

Итак, давайте приступим. Сразу скажу, что данная система подойдет не только для CRMP, но и для SAMP соответственно тоже. 

Переходим на сайт фрикассы, скачиваем модуль для SAMP. Переходим по этой ссылке.

После того как скачали, читаем инструкцию от модулей, которая расположена внутри. 

Впринципе, там все ясно и понятно расписано. 


В связи с обновлением модуля, необходимость в ручном методе обработки пропала, поэтому старый метод взят под спойлер. 

ОСНОВНОЙ (НОВЫЙ) МЕТОД: 

Где-то в середине настроек видим такие: 

// Таблица начисления товара, например `users`
const TABLE_ACCOUNT = '';
// Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email`
const TABLE_ACCOUNT_NAME = '';
// Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate`
const TABLE_ACCOUNT_DONATE= '';

Заполняем их, как указано и все. Донат настроен. Платежи автоматически будут зачисляться игроку на аккаунт. 

Пример

// Таблица начисления товара, например `users`
const TABLE_ACCOUNT = 'accounts';
// Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email`
const TABLE_ACCOUNT_NAME = 'name';
// Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate`
const TABLE_ACCOUNT_DONATE= 'pDonate';

 

 

Если вы хотите обрабатывать платежи вручную (как описано в уроке), то сделайте следующее. 

Зайдите в файл config.php и строки TABLE_ACCOUNT, TABLE_ACCOUNT_NAME. TABLE_ACCOUNT_DONATE оставьте пустыми, т.е.:
 


// Таблица начисления товара, например `users`
const TABLE_ACCOUNT = '';
// Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email`
const TABLE_ACCOUNT_NAME = '';
// Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate`
const TABLE_ACCOUNT_DONATE= '';

Далее, в OnPlayerConnect добавляем код (проверяем платежей, если они поступили). При условии, что вы используете версию mysql r-39-2. 


new name[24];
GetPlayerName(playerid, name, sizeof(name));
new query[145];
format(query, sizeof(query), "SELECT * FROM `freekassa_payments` WHERE `account` = '%s' AND `status` = '0' LIMIT 1", name);
mysql_function_query(ид_подключения_к_базе, query, true, "CheckFreeKassa", "is", playerid, name);

В конец мода вставляем проверку доната


forward CheckFreeKassa(playerid, name[]);
public CheckFreeKassa(playerid, name[])
{
    new rows, fields, temp[15], query[256], donatep;
    cache_get_data(rows, fields);
    if(rows)
    {
        new strtime[64],Year, Month, Day,hour,minuite,second;
        gettime(hour,minuite,second), getdate(Year, Month, Day);
        format(strtime,sizeof(strtime),"%02d-%02d-%02d %02d:%02d:%02d",Year, Month, Day,hour,minuite,second);
        cache_get_field_content(0, "sum", temp), Переменная_донат_очков += floatround(temp, floatround_round); // округляем дробное число по математическим правилам
        format(query, sizeof(query), "UPDATE `freekassa_payments` SET `status` = '1', `dateComplete` = '%s' WHERE `account` = '%s' AND `status` = '0' LIMIT 1",strtime, name);
        mysql_function_query(ид_подключения_к_базе, query, false, "", "");
    }
    else
    {
        SendClientMessage(playerid, COLOR_WARNING, "Новых пополнений на аккаунт не найдено!");
    }
    return true;
}

С этим способом вы можете подключить систему доната даже, если у вас используется mxINI. Таблицу все-равно использовать требуется, однако только для донатов, остальное можете хранить на mxINI. 

Share this post


Link to post
Share on other sites
THEMOD_YT
Новичок

Какую именно нужна база Mysql или касса? Мне просто выдаёт ошибку с точками.

Share this post


Link to post
Share on other sites
DEST
Maintainer

@THEMOD_YT урок написан под mySQL r 39, касса - фрикасса. В принципе, если вы не хотите обрабатывать платежи вручную, вы можете автоматически их начислять в оффлайне при пополнении, указав в конфиге эти данные:
 

В 13.08.2017 в 02:27, DEST сказал:

// Таблица начисления товара, например `users` const TABLE_ACCOUNT = ''; // Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email` const TABLE_ACCOUNT_NAME = ''; // Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate` const TABLE_ACCOUNT_DONATE= '';

 

Share this post


Link to post
Share on other sites
Алмас
Новичок

 

кхм 1. это если у меня так то

2. что нужно сюда писать?

 

Заметка от DEST , создано

Все скриншоты загружать на форум, а не через какие-то другие фотохосты.

Share this post


Link to post
Share on other sites
Алмас
Новичок
В 31.01.2018 в 20:13, DEST сказал:

@THEMOD_YT урок написан под mySQL r 39, касса - фрикасса. В принципе, если вы не хотите обрабатывать платежи вручную, вы можете автоматически их начислять в оффлайне при пополнении, указав в конфиге эти данные:
 

 

а как заливать

Share this post


Link to post
Share on other sites
DEST
Maintainer

@Алмас на втором скрине указать: 

первые три настройки брать из личного кабинета фрикассы

4 оставить без изменений

5, 6, 7 взять из базы данных, таблицы с аккаунтами.

8-10 настройки базы данных

 

На первом скрине ничего не нужно делать, в этой таблице будет храниться инфа о прошедших платежах

Share this post


Link to post
Share on other sites
#KING
Новичок

Тут знаешь ,что тут сумма доната ставит пополнения.Например если у тебя было 50 рублей и задонатил 20 р ,то тебе переменная ставит 20 р

Share this post


Link to post
Share on other sites
DEST
Maintainer

@#KING исправлено. 


Изменено основное содержание темы, в связи с обновлением модуля (p.s. хотя обновление было давно, просто руки не доходили сделать). 

Share this post


Link to post
Share on other sites
SupremeZalupaTest
Новичок

Урок хороший, но чайники не поймут.Можно было подробнее

Заметка от Cawfee , создано

Где тогда Ваш "плюсик"? Поблагодарите автора, коль уж его пост оказался Вам полезен.

Share this post


Link to post
Share on other sites
Dmitry_History
Новичок
В 12.02.2019 в 16:19, Papleet сказал:

Всё сделал по уроку, деньги не доходят. Что делать?

Тоже самое, ты исправил эту проблему? 

Share this post


Link to post
Share on other sites
DEST
Maintainer

@Dmitry_History Где-то в истории платежей в фрикассе есть раздел "Логи" или что-то в этом роде. Зайдите туда и прикрепите их сюда. Обратите внимание, что логи могут содержать персональную информацию, ее лучше изменить или вовсе удалить. 

Share this post


Link to post
Share on other sites
Mark212
Новичок

Здравствуйте, всё настроил но игровая валюта не приходит на аккаунт. Даже в таблице freekassa_payments нет записей. Как это решается?

Share this post


Link to post
Share on other sites
Mark212
Новичок

@DEST Вот такой лог:

Ответ:

HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Tue, 23 Jul 2019 14:27:54 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff

Share this post


Link to post
Share on other sites
DEST
Maintainer

@Mark212 значит адрес уведомления в настройках выдает ошибку 500. Если указывали https:// то попробуйте указать с http://. 

Share this post


Link to post
Share on other sites
Mark212
Новичок

@DEST 

Запрос: MERCHANT_ORDER_ID=%CF%E*%EF%EE%EB%ED%E*%**%E8%E5+%F1%F7%E5%F2%E0&P_PHONE=&P_EMAIL=p*****@mail.ru&CUR_ID=1**&AMOUNT=1&MERCHANT_ID=1****0&SIGN=857****e***cb9bc****d9dcf8319b482&intid=69**6165&us_account=***k&test_payment=1

* - закрыл почту и прочее.

Ответ:

HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Thu, 25 Jul 2019 11:42:42 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff

Share this post


Link to post
Share on other sites
DEST
Maintainer

@Mark212 значит вам нужно смотреть в логи ошибок php. Видимо, какая-то ошибка происходит и поэтому код 500. Можете попробовать создать файл с именем .htaccess, внутрь которого положить 

php_flag display_errors on

после выполнить еще раз тестовую оплату, и опять посмотреть в логи фрикассы, если что-то изменится, скинуть сюда. 

Share this post


Link to post
Share on other sites
Mark212
Новичок

@DEST Кажется что-то налаживается!!

Изменилось!

Ответ:

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 25 Jul 2019 15:34:54 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Server-Powered-By: Engintron

<br />
<b>Fatal error</b>:   in <b>/home/i1******/public_html/donate/lib/FreekassaModel.php</b> on line <b>19</b><br />

Edited by Mark212

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • vexlinee
      By vexlinee
      Всем здравствуйте, сидел я на майнкрафт читиках и поднадоело, теперь хочу сделать студию либо свой крмп проектик
      Так вот вопросы:
      1. Какие программы лучше всего использовать для лаунчеров? В большенстве видел Android studio
      2. Как запустить сам мод, можно ли это сделать локально и быстро, или стоит переносить на хост 
      3. Про какой кеш говорят типы под лаунчерами 
      4. Как сделать установку сборки через лаунчер по кнопке играть 
    • crearot
      By crearot
      Мы ищем талантливого 3D-моделлера в команду.  Гибкий график, опытный коллектив.
      Что мы предлагаем:
      — Конкурентоспособную и стабильную заработную плату;
      — Гибкий график и возможность работать удаленно;
      — Работа в окружении специалистов, готовых способствовать развитию ваших навыков;
      — Перспективы карьерного и профессионального роста.
      От вас требуется:
      — Опыт владением 3ds Max и Blender для моделирования и текстурирования;
      — Работа по референсам;
      — Опыт создания интерьеров и экстерьеров;
      — Наличие портфолио.
      — Работа с текстурами (архивы (сборка, пересборка), добавление текстур, создание архивов под разные видеоускорители(PVR, DXT, ETC))
      — Работа с архивами моделей (.img образы) для добавления моделей и пересборки
      — Моделирование карты, работа по т/з для создания ландшафта на карте и т.д


      Отправьте резюме: → https://forms.gle/Trn4vjMEi58EDybv6