DEST

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

В теме 36 сообщений

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@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= '';

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 31.01.2018 в 20:13, DEST сказал:

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 12.02.2019 в 16:19, Papleet сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

php_flag display_errors on

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@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 />

Отредактировано пользователем Mark212

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };