Skip to content

接入插件开发

完整代码可查看 开发例子.

添加依赖

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();