接入插件开发
完整代码可查看 开发例子.
添加依赖
xml
<dependencies>
...
<dependency>
<groupId>top.minepay</groupId>
<artifactId>MinePayApi</artifactId>
<version>1.8-RELEASE</version>
<scope>provided</scope>
</dependency>
</dependencies>监听事件
java
/**
* 开始交易
*
* @param event 事件
*/
@EventHandler
public void onMinePayPreTradingEvent(MinePayPreTradingEvent event) {
Bukkit.getConsoleSender().sendMessage("preTrading");
// 获取订单信息
TradeInfo info = event.getTradeInfo();
// 获取订单价格(单位:分)
int price = info.getPrice();
// 允许修改订单金额(单位:分)
info.setPrice(100);
// 获取下单玩家名字
String playerName = info.getPlayerName();
// 获取订单类型(点券或礼包)
TradeType tradeType = info.getTradeType();
// 获取付款方式(微信或支付宝)
PaymentType paymentType = info.getType();
// 设置 true 将取消订单
event.setCancelled(false);
}
/**
* 交易处理
*
* @param event 事件
*/
@EventHandler
public void onMinePayTradingEvent(MinePayTradingEvent event) {
Bukkit.getConsoleSender().sendMessage("trading");
// 默认 true ,设置为 false 那么 MinePay 将不处理订单,如二维码地图生成等
event.setHandled(true);
TradeInfo info = event.getTradeInfo();
// 获取用于生成二维码的文本内容
String qrCodeContent = info.getQrcodeContent();
}
/**
* 订单开始取消
*
* @param event 事件
*/
@EventHandler
public void onMinePayPreCancelEvent(MinePayPreCancelEvent event) {
Bukkit.getConsoleSender().sendMessage("preCancel");
}
/**
* 订单已取消
*
* @param event 事件
*/
@EventHandler
public void onMinePayCancelledEvent(MinePayCancelledEvent event) {
Bukkit.getConsoleSender().sendMessage("cancelled");
}
/**
* 完成交易
*
* @param event 事件
*/
@EventHandler
public void onMinePaySuccessEvent(MinePaySuccessEvent event) {
Bukkit.getConsoleSender().sendMessage("success");
}
/**
* 订单过期
*
* @param event 事件
*/
@EventHandler
public void onMinePayOutdatedEvent(MinePayTradeOutDatedEvent event) {
Bukkit.getConsoleSender().sendMessage("outdated");
}订单生成
java
// 创建点券订单
TradeInfo info = TradeInfo.createPoint(
"订单备注",
"玩家名字",
1, // 点券数量
PaymentType.WECHAT // 支付方式 - 微信
);
MinePayApi.TradeController.start(info);
// 创建礼包订单
TradeInfo info = TradeInfo.createKit(
"订单备注",
"礼包名称",
"玩家名字",
PaymentType.WECHAT // 支付方式 - 微信
);
MinePayApi.TradeController.start(info);
// 关闭订单
MinePayApi.TradeController.close("玩家名字");取消订单
java
MinePayApi.TradeController.close(player);获取数据
java
// 获取充值排名
List<RankItem> rankingList = MinePayApi.Info.getRankingList();