Плагин для серверов Майнкрафт, который принимает добровольную поддержку через WeChat Pay и Alipay и автоматически выдаёт настроенные награды. Он создаёт заказы, показывает игроку QR-код или ссылку для оплаты, ведёт историю операций, таблицу лидеров и данные о суммах поддержки.
Возможности
- Поддерживает оплату через WeChat Pay и Alipay с проверкой подписи уведомлений, защитой от повторной обработки заказа и белым списком IP для сервера обратных вызовов.
- QR-код оплаты можно выводить ссылкой, символами в чате или картой в инвентаре. При показе картой игрок блокируется от выбрасывания и смены предмета до завершения оплаты.
- Награды задаются командами и валютой Vault либо PlayerPoints. Доступны награды за каждую оплату, за достижение суммы одного платежа, общей суммы игрока и суммы за указанный промежуток времени.
- В командах наград работают переменные
{player},{amount}и{points}. Например, можно выдать предмет или назначить группу LuckPerms. - Флаг
-nв команде оплаты создаёт поддержку без наград. - Есть промокоды с командами, валютными наградами, лимитом использований и сроком действия. Для кода можно потребовать оплату перед активацией.
- Игроки могут отправлять запросы на возврат, а администрация — одобрять, отклонять, проводить полный или частичный возврат. Все заказы, возвраты и активации кодов записываются в журнал.
- PlaceholderAPI предоставляет плейсхолдеры для личной и общей суммы поддержки, числа заказов, места в топе, доступных способов оплаты и параметров промокодов.
- Интерфейс изначально переведён на китайский и английский. Владельцы сервера могут добавить собственные языковые файлы; язык игрока определяется по клиенту или выбирается командой.
Команды
Игрокам:
/donate <amount> [payment] [output] [-n]— создать платёж; также доступны/payи/zanzhu./ytop— открыть топ поддержавших игроков; также/paytopи/yt./ytotal [player|all]— узнать сумму поддержки./yp history [page]— посмотреть историю своих заказов./yp lang [language]— выбрать язык сообщений./yp code redeem <code>— активировать промокод./yp cancel— отменить текущую оплату с QR-кодом на карте.
Администрации:
/yp reload— перезагрузить конфигурацию./yp set <option> <value>и/yp config— изменить или посмотреть основные параметры./yp ban <player|all> [reason]и/yp unban <player|all>— управлять запретом на поддержку./yp history <player> [page],/yp audit,/yp convert <player> <from> <to> <amount>— проверить историю, слушателей событий и конвертировать валюту./yp code create ...,/yp code list [page],/yp code info <code>,/yp code modify <code> <field> <newvalue>,/yp code delete <code>,/yp code logs [code] [page]— управлять промокодами./yp refund <order-id> [amount],/yp refund request <order-id> [amount],/yp refund pending [page],/yp refund approve <request-id>,/yp refund reject <request-id>— проводить и рассматривать возвраты.
Права
yupay.command.pay— создание платежа.yupay.command.top— просмотр топа.yupay.command.total— просмотр сумм поддержки.yupay.command.history— просмотр истории заказов.yupay.reload— перезагрузка конфигурации.yupay.ban— управление запретом.yupay.convert— конвертация валюты.yupay.audit— проверка слушателей событий.yupay.admin— все административные права.
Настройка
Основные параметры находятся в plugins/YuPay/config.yml. В блоках wechat.* и alipay.* указываются данные платёжных систем и URL уведомлений; для них должен быть доступен порт из callback.port.
pay.default-method— способ оплаты по умолчанию:wechatилиalipay.pay.min-amount,pay.max-amount,pay.max-daily-amount— лимиты суммы заказа и дневной поддержки.qrcode.default-output-mode— формат QR-кода:link,textилиmap.economy.enabled,economy.type,economy.rate— выдача награды черезvaultилиplayerpointsи курс валюты.database.type—sqliteдля одного сервера либоmysqlдля общей базы сети серверов.callback.allowed-ips— белый список IP для уведомлений об оплате.
Команды за успешный платёж, достижение порогов и возврат задаются в commands.on-success, commands.on-single-achieved, commands.on-total-achieved, commands.on-recent-achieved и commands.on-refund. Временные интервалы в on-recent-achieved указываются в миллисекундах.
Требования
Работает на Spigot, Paper и совместимых ядрах с Java 8 или выше. Для валютных наград нужен Vault либо PlayerPoints, для плейсхолдеров — PlaceholderAPI, а для QR-кода картой — ProtocolLib. Для работы оплаты необходимо настроить данные WeChat Pay или Alipay и открыть сетевой порт обратных уведомлений.
