Помощь в программировании.
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Помощь в программировании. PHP, HTTP, Java, Cleo, AMX.
 
ФорумПоследние изображенияПоискРегистрацияВход

 

 [Pawno] Создание донат системы с помощью A1Pay

Перейти вниз 
АвторСообщение
Admin
Мастер Программного Форума
Мастер Программного Форума
Admin


Сообщения : 35
Ваши Заработанные Очки : 10086
Репутация : 0
Дата регистрации : 2012-12-15
Возраст : 28
Откуда : Muravlenko

[Pawno] Создание донат системы с помощью A1Pay Empty
СообщениеТема: [Pawno] Создание донат системы с помощью A1Pay   [Pawno] Создание донат системы с помощью A1Pay Icon_minitimeСб Дек 15, 2012 6:14 pm

>ТРЕБОВАНИЯ<


1. Наличие сайтa с FTP доступом.
2. Знание хотя бы самое маленькое php и MySQL. (не знаете вообще что это такое, не беритесь.)

1. Начнём с регистрации на сайте услуг биллинга. Заходим по адресу www.a1pay.ru В правом верхнем углу выбираем "Вход для клиентов" либо "Регистрация" войти можно через гугл, яндекс, майл... После входа выбираем "Инструменты" вверху.

[Pawno] Создание донат системы с помощью A1Pay JXf2v

2.Нажимаем "Добавить сервис"
Открывается

[Pawno] Создание донат системы с помощью A1Pay 9lfZZ

Далее указываем всё как на картинке (нажмите на неё, чтобы увеличить).
"ваш_сайт" замените на адрес вашего сайта. Нажимаем добавить.

[Pawno] Создание донат системы с помощью A1Pay T4vBO

[Pawno] Создание донат системы с помощью A1Pay T4vBO

Теперь нажимаем "Создать кнопку" (выделено на картинке). Заполняем поля и нажимаем "Создать код кнопки"

[Pawno] Создание донат системы с помощью A1Pay UWc2p

4.Получаем код кнопки и пока оставим это.
Идём в phpmyadmin вашего сайта и создаём таблицу, допустим "Donate" и создаём такие поля

[Pawno] Создание донат системы с помощью A1Pay UOFJO

5.Теперь, непосредственно на вашем сайте создаём файлы script.php donate.php nodonate.php
В файл script.php записываем следующий код (В коде изменяем Логины , Пароли , и Базу данных , больше нечего)
(Эти файлы вы можете создать в программе Notepad++ и загрузить на свой сайт через FileZilla)

Код:
<?
FUNCTION A1Lite_processor ($t,$secret) // не что вроде public (комментарии удали)
{
$params = array(        'tid' => $t['tid'],
'name' => $t['name'], 
'comment' => $t['comment'],
'partner_id' => $t['partner_id'],
'service_id' => $t['service_id'],
'order_id' => $t['order_id'],
'type' => $t['type'],
'partner_income' => $t['partner_income'],
'system_income' => $t['system_income']
);
$params['check'] = md5(join('', array_values($params)) . $secret);
if ($params['check'] === $t['check'])
{
// Действия по зачислению платежа. A1Lite - Ключи совпали.
$ok=TRUE;
}
else
{
// Действия по ошибке. A1Lite - Ключи не совпали.
$ok= FALSE;
}
 
return $ok;
}
$secret = 'KEY'; // секретный ключ который указали при регистрации на a1pay (ИЗМЕНЯЕМ ПОД СЕБЯ)
if(A1Lite_processor($_POST,$secret) === TRUE)
{
        $code = rand(1000000,10000000); //От этих чисел получаем кода
        $email = $_POST['email']; // получаем e-mail, указанный клиентом
        $text = "Здравствуйте!\r\nВот ваш донат код: '$code'\r\n 
        Чтобы его использовать, введите в игре /donate в окошко, которое появится введите данный код."; // пишем письмо клиенту
        mail($email, "Пополнение средств на сервере ********", $text); // отправляем письмо клиенту
        $money = 100000; // Деньги которые игрок получает при вводе правильного кода (меняем под себя)
        $db = mysql_connect("localhost", "root", "") or die("Ошибка подключения к серверу."); //подключаемся к базе сайта (ДАННЫЕ ПИШЕМ СВОИ)
        mysql_select_db("SITE") or die("Не выбрана база!"); //выбираем базу 
        mysql_query("INSERT INTO `Donate` (Code,Money,Status) VALUES ('$code','$money','1')"); // записываем всю эту конитель в базу (`Donate` 'это назавание таблицы )
}
else
{
        echo 'Not'; // здесь выведем сообщение, если игрок как попытался обмануть вас
}
?>

6.Теперь заполняем файл donate.php (тут уже не только код, но и весь скелет сайта) В нужное место добавьте код:

Код:
FUNCTION A1Lite_processor ($t,$secret)
{
$params = array(        'tid' => $t['tid'],
'name' => $t['name'], 
'comment' => $t['comment'],
'partner_id' => $t['partner_id'],
'service_id' => $t['service_id'],
'order_id' => $t['order_id'],
'type' => $t['type'],
'partner_income' => $t['partner_income'],
'system_income' => $t['system_income'],
);
$params['check'] = md5(join('', array_values($params)) . $secret);
if ($params['check'] === $t['check'])
{
        $ok=TRUE;
}
else
{
// Действия по ошибке. A1Lite - Ключи не совпали.
$ok= FALSE;
}
return $ok;
}
$secret = 'KEY'; // Изменяем ключ под себя
if(A1Lite_processor($_GET,$secret) == TRUE)
{
echo 'На ваш e-mail выслан код. Введите в игре /donate в это окошко введите код, посланный вам на почту.'; // сообщение выдаваемое игроку, может быть любое, это не важно
}
else
{
echo 'Произошла ошибка.'; // игрок попытался вас надурить
}

7.Файл nodonate.php заполните сами, этот файл вызывается только когда на сервере произошла ошибка.
Теперь идём в pawno.

8.В OnPlayerCommandText(playerid, cmdtext[])

Код:
else if(strcmp(cmd, "/donate", true) == 0)
        {
            ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.",
            "Далее","Закрыть"); // выведем игроку окошко, куда он введёт код
            return 1;
        }

В OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Код:
else if(dialogid == 197)
        {
            if(response)
            {
                if(!strlen(inputtext) || (!IsNumeric(inputtext)))
                {
                            ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.",
                            "Далее","Закрыть");
                    return 1;
                    }
                    new code = strval(inputtext);
                    format(string, sizeof(string),"SELECT Money FROM Donate WHERE Code = '%d' AND Status = '1'",code);
                    mysql_query(string);
                    mysql_store_result();
                    if(mysql_num_rows())
                    {
                    new name[24], money;
                    mysql_fetch_row_format(name, "|");
                    sscanf(name, "p<|>d",money);
                    PlayerInfo[playerid][pBankMoney] += money; // выдаем деньги в банк (как на SAMP-RP ) можно изменить типо под PlayerInfo[playerid][pDonateMoney] += dmoney
                    format(string, sizeof(string),"Ваш счёт пополнен на %d рублей. Деньги лежат в банке.",money);
                    SendClientMessage(playerid, COLOR_ORANGE, string);
                    format(string, sizeof(string),"UPDATE Donate SET Status = '0' WHERE Code = '%d'",code);
                    mysql_query(string);
                        }
                        else
                        {
                            ShowPlayerDialog(playerid, 19, DIALOG_STYLE_MSGBOX, "EROR", "Ошибка! Этот код либо не существует, либо не действителен.","Ок", "");//если код не правильный
                        }
            }
        }

Вот собственно и всё, код останется в базе данных, но не будет активен, а можно и удалять.
Да, чтобы проверить можно создать кнопку с ценой 1 рубль и задонатить, думаю рубль никому не жалко.
Вернуться к началу Перейти вниз
https://programmsupprot.profiforum.ru
 
[Pawno] Создание донат системы с помощью A1Pay
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» [Pawno] Текст Дравы Новая система Донат Рангов
» [CLEO] Создание Гана
» [PHP] Создание массива из строки с разделителем.
» [Pawno] Как Создать свой HUD
» [Pawno] Создаём онлайн ботами

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Помощь в программировании. :: Pawno Программирование :: Уроки FAQ-
Перейти: