DEST

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

35 posts in this topic

Всем привет! Многие видели урок, как подключить систему доната с 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. 

Автор урока (старый метод): Vlad_Trifonov. 

Автор основного, нового метода: Freekassa

ВНИМАНИЕ! За работу сервиса FreeKassa.ru, а также его дочерних сервисов, ни я, ни администрация портала не несет НИКАКОЙ ответственности. Все материалы изложены в ознакомительных целях и не являются призывом к действию. 

Обязательно указывайте авторство при копировании на другие порталы / источники. 

Share this post


Link to post
Share on other sites

Отличный урок.

 

Share this post


Link to post
Share on other sites

Спасибо

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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


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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@Mark212 смотрите логи в самой фрикассе. 

Share this post


Link to post
Share on other sites

@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

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

Share this post


Link to post
Share on other sites

@DEST не помогает

Share this post


Link to post
Share on other sites

@Mark212 какой вы адрес указали в получении уведомлений в настройках? 

Share this post


Link to post
Share on other sites

@Mark212 скиньте еще раз полный лог, который выдает фрикасса. 

Share this post


Link to post
Share on other sites

@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

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

php_flag display_errors on

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

Share this post


Link to post
Share on other sites

@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

    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне
    • Ero33
      By Ero33
      Помогите решить проблему всё сделал, mysql подклучен но не открывается окно регистрациа ---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [20:35:47] [20:35:47] Server Plugins [20:35:47] -------------- [20:35:47] Loading plugin: crashdetect.so [20:35:47] CrashDetect plugin 4.19.4 [20:35:47] Loaded. [20:35:47] Loading plugin: filemanager.so [20:35:47] ****************** [20:35:47] ** FILE MANAGER ** [20:35:47] ** Loaded ** [20:35:47] ** Version 1.5 ** [20:35:47] ****************** [20:35:47] Loaded. [20:35:47] Loading plugin: gvar.so [20:35:47] *** GVar Plugin v1.3 by Incognito loaded *** [20:35:47] Loaded. [20:35:47] Loading plugin: mysql.so [20:35:47] >> plugin.mysql: R41-4 successfully loaded. [20:35:47] Loaded. [20:35:47] Loading plugin: pawncmd.so [20:35:47] Pawn.CMD plugin v3.2.0 by urShadow has been loaded [20:35:47] Loaded. [20:35:47] Loading plugin: pawnraknet.so [20:35:47] [Pawn.RakNet] | Pawn.RakNet 1.4.1 | 2016 - 2020 |-------------------------------- | Author and maintainer: urShadow | Compiled: Jun 18 2020 at 11:28:17 |-------------------------------------------------------------- | Forum thread: https://forum.sa-mp.com/showthread.php?t=640306 |-------------------------------------------------------------- | Repository: https://github.com/urShadow/Pawn.RakNet |-------------------------------------------------------------- | Wiki: https://github.com/urShadow/Pawn.RakNet/wiki [20:35:47] Loaded. [20:35:47] Loading plugin: pawnregex.so [20:35:47] [Pawn.Regex] plugin v1.1.3 by urShadow loaded [20:35:47] Loaded. [20:35:47] Loading plugin: profiler.so [20:35:47] Profiler plugin 2.15.3 [20:35:47] Loaded. [20:35:47] Loading plugin: sscanf.so [20:35:47] [20:35:47] =============================== [20:35:47] sscanf plugin loaded. [20:35:47] Version: 2.8.3 [20:35:47] (c) 2018 Alex "Y_Less" Cole [20:35:47] =============================== [20:35:47] Loaded. [20:35:47] Loading plugin: streamer.so [20:35:47] *** Streamer Plugin v2.9.4 by Incognito loaded *** [20:35:47] Loaded. [20:35:47] Loading plugin: TOTP.so [20:35:47] TOTP plugin v1.0.1 by Games loaded. [20:35:47] Loaded. [20:35:47] Loaded 11 plugins. [20:35:47] [20:35:47] Filterscripts [20:35:47] --------------- [20:35:47] Loading filterscript 'rega_KYPE.amx'... [20:35:47] Loaded 1 filterscripts. [20:35:48] [20:35:48] -------------------------------------- [20:35:48] ������� Nex-AC ��������! [20:35:48] ������ ��������: 1.9.53 [20:35:48] �����: Nexius [20:35:48] -------------------------------------- [20:35:48] [�������� ...] �� MYSQL ������� ���������! (������ [��������] | 1) [20:35:48] [�������� ...] ��������� ������� �������� (0 ��.) [20:35:48] [�������� ...] �� ������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ���� ����/����� ������� �������� (0 ��.) [20:35:48] ����� � ���� �� ������� [20:35:48] [�������� ...] ���� ������� ��������� (0 ��.) [20:35:48] ������ � ���� �� ������� [20:35:48] [�������� ...] ����� ������� ��������� (0 ��.) [20:35:48] ��������� � ���� �� ������� [20:35:48] [�������� ...] ��������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ��������� ������� ��������� (0 ��.) [20:35:48] ����� � ���� �� ������� [20:35:48] [�������� ...] ����� ������� ��������� (0 ��.) [20:35:48] ������� � ������ � ���� �� ������� [20:35:48] [�������� ...] ������� � ����� ������� ��������� (0 ��.) [20:35:48] ���-�� ����'�� � ���� �� ��������� � �������������� ����������� [20:35:48] [�������� ...] ��������� �������� ������� ��������� (0 ��.) [20:35:48] �� ���������� func �������� � ���� [20:35:48] [�������� ...] ������� ������� ������� ��������� (0 ��.) [20:35:48] �� ���������� �������� � ���� [20:35:48] [�������� ...] ������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ������� ���� ������� ��������� (0 ��.) [20:35:48] [�������� ...] �������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ���������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ������� ������� �������� (0 ��.) [20:35:48] [�������� ...] ������ ����� ������� �������� (0 ��.) [20:35:48] [�������� ...] ����������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ��������� ������� ��������� [20:35:48] �� ���������� ATMS � ���� [20:35:48] [�������� ...] ��������� ������� ��������� (0 ��.) [20:35:48] [�������� ...] ����������� ��������� [20:35:48] [�������� ...] ������ ������� ������� ��������� [20:35:48] �������� �� ������� [20:35:48] [������� ...] ������������ ��������: (19832 ��.) [20:35:48] [������� ...] ����������� ��������: (120 ��.) [20:35:48] _______________________________________________________ [20:35:48] [20:35:48] dev by: glvde. | vk.com/way_dev [20:35:48] aurora project � 2021, inc. all rights reserved. [20:35:48] _______________________________________________________ [20:35:48] Number of vehicle models: 109 [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET CHARACTER SET 'utf8' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET NAMES 'utf8' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET character_set_client = 'cp1251' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET character_set_connection = 'cp1251' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET character_set_results = 'cp1251' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] SET SESSION collation_connection = 'utf8_general_ci' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] UPDATE `accounts` SET `online_status` = '1001' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] ALTER TABLE `accounts` ALTER `pCash` SET DEFAULT '0' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] ALTER TABLE `accounts` ALTER `pLevel` SET DEFAULT '0' [20:35:48] [OnQueryError] SQL ERROR. QUERY: [20:35:48] UPDATE `reports` SET `count` = '0' WHERE `id` = 1