EasyPay

March 21, 2025 / Administrator / 49阅读 / 0评论 / 分类:

介绍

快速开始

支持版本 1.7.10-1.21.4
现已支持微信官方 与累计充值

效果

支付宝

支付宝需要当面付
当面付教程 by 黑子
下载上方文件
根据流程取得appid private-key public-key
配置进配置文件 重载插件即可

支付宝当面付教程

微信官方

wechat-official:
  # 微信appid
  appid: "wx5exxxxxxxxx"
  # 商户号
  mchid: "12453452"
  # 证书序列号
  merchantSerialNumber: 'merchantSerialNumber'
  # 私有证书
  privateKeyPath: 'pem/apiclient_key.pem'
  # 微信支付平台证书
  wechatPayCertificatePath: 'pem/weixing.pem'

申请微信商户 取得配置所需材料配置上即可

微信监听消息DLC

微信监听消息DLC无需商户 只需要监听收款通知
服务器上运行DLC服务就行,不需要额外的手机挂微信

微信需要购买 “小黑子” 小黑子是一个人 的DLC服务
联系方式为 QQ 3491932059 价格为 40 60 已上调价格

支付宝监听DLC

支付宝监听DLC无需申请当面付 只需要申请普通网页应用(支付宝开放平台)
服务器上运行DLC服务,不需要安装额外程序
支付宝监听DLC无需上传店铺图片等信息 一次通过率90% 无费率 无花呗

支付宝DLC购买方式同微信DLC
联系方式为 QQ 3491932059 价格为 60 详细可查看支付宝DLC的文档

命令

命令权限

/easypay                   easypay.command
/easypay create            easypay.command.create
/easypay reload            easypay.command.reload
/easypay print             easypay.command.print
/easypay custom            easypay.command.custom
/easypay reward            easypay.command.reward

命令提示


启用时输出

PlaceholderAPI

%easypay_count% 订单数量
%easypay_count:{player}% 指定玩家订单数量
%easypay_count:{player}:{service}% 指定玩家指定服务订单数量
%easypay_price:{player}% 指定玩家订单数量金额
%easypay_price:{player}:{service}% 指定玩家指定服务订单数量金额
%easypay_top:name:{1-10}% 排行榜用户名
%easypay_top:price:{1-10}% 排行榜金额
注意 为节约性能 以上PAPI变量 有15秒的刷新缓存时间

累计充值奖励

# 累计充值奖励
title: '累充奖励'
sort:
  - 'A        '
  - '         '
  - '         '
items:
  A:
    internal-name: '测试奖励1'
    # 菜单显示物品
    material: PAPER
    name: '累计充值6元领取'
    lore:
      - '&7奖励:'
      - '  &f石头 &cX &f64'
      - ' '
      - '&7目前状态 &f%state%'
      - '&f左击 &7领取此奖励'
    custom_model_data: 0
    # 玩家充值金额达到多少才能领取
    price: 6
    # 玩家拥有此权限才可领取 不写不需要权限
    # permission: 'vip'
    # 领取后执行此命令
    commands:
      - 'give %player_name% stone 64'
      - 'say %player_name% 领取了测试奖励1'

配置文件

# %easypay_count% 订单数量
# %easypay_count_{player}% 指定玩家订单数量
# %easypay_count_{player}_{service}% 指定玩家指定服务订单数量
# %easypay_price_{player}% 指定玩家订单数量金额
# %easypay_price_{player}_{service}% 指定玩家指定服务订单数量金额
# %easypay_top_name_{1-10}% 排行榜用户名
# %easypay_top_price_{1-10}% 排行榜金额
# 注意 为节约性能 以上PAPI变量 有15秒的刷新缓存时间

# 内置 service "wechat-official" 为微信官方 "wechat" 为微信dlc(监听消息的) alipay 为支付宝官方

alipay:
  api: 'https://openapi.alipay.com/gateway.do'
  appid: 'appid'
  private-key: 'private-key'
  public-key: 'public-key'
  # 回调url 无特殊需求无需更改
  notify-url: 'https://www.baidu.com/'
  # 店员识别id 随便填
  store-id: 'easy_pay'
wechat-official:
  # 微信appid
  appid: "wx5exxxxxxxxx"
  # 商户号
  mchid: "12453452"
  # 证书序列号
  merchantSerialNumber: 'merchantSerialNumber'
  # 私有证书
  privateKeyPath: 'pem/apiclient_key.pem'
  # 微信支付平台证书
  wechatPayCertificatePath: 'pem/weixing.pem'
wechat:
  # 启用微信DLC功能
  enable: false
  # 微信DLC通信服务器地址
  server: "127.0.0.1:42267"
  # 微信收款二维码内容
  qrcode: ""
  # 是否在订单被锁定时启用价格浮动(增加价格直到能够付款-最小加价单位0.01)
  dynamic-cost: false
  # 订单等待时长 (单位: 秒) 超时取消订单
  wait-time: 60
map:
  # virtual 为虚拟 real 为真实的物品 real尚未实现
  type: 'virtual'
  # 地图放置位置 MAIN 为主手 OFF 为副手
  hand: 'MAIN'
  # 是否在地图丢弃时取消订单
  cancel-on-drop: false
database:
  mysql:
    # 是否启用mysql 不启用使用sqlite
    enable: false
    host: 'localhost'
    port: 3306
    database: 'minecraft'
    user: 'minecraft'
    passwd: 'minecraft'
# 内置商品
builtin:
  # 自定义金额充值
  CustomPriceItem:
    # 最小金额
    min: 1
    # 最大金额
    max: 100
    # 数量与RMB的比例 1元 = 100
    ratio: 100
    # 商品名称
    name: '自定义金额充值'
    # 订单创建后发送给玩家的消息
    actions:
      - 'if("$service" == "wechat") title(&a请使用微信扫码支付 &f$price 元, &e填写金额务必与上方一致, 10, 40, 10) return()'
      - 'if("$service" == "alipay") title(&a请支付 &f$price 元, &7使用支付宝扫码付款, 10, 40, 10) return()'
    # 订单创建前执行
    pre-actions:
      # 下面注释的意思是如果玩家没有 example.permission 权限将不能创建这个订单
      #- 'perm(example.permission) cancel()'
      - 'return()'
    # 订单完成后执行 (解析式)
    rewards:
      - 'if(%easypay_price_$player% == 0) msg(&a您是第一次充值)'
    # 执行的命令
    commands:
      - 'say %player_name% 您充值了 %custom_amount% 点券'
      # 给予点券命令 已注释
      #- 'points give %player_name% %custom_amount%'
items:
  测试命令商品:
    type: 'CommandItem'
    # 价格
    price: 0.01
    actions:
      - 'if("$service" == "wechat") title(&a请使用微信扫码支付 &f$price 元, &e填写金额务必与上方一致, 10, 40, 10) return()'
      - 'if("$service" == "alipay") title(&a请支付 &f$price 元, &7使用支付宝扫码付款, 10, 40, 10) return()'
    pre-actions:
      - 'return()'
    rewards:
      - 'if(%easypay_price_$player% == 0) msg(&a您是第一次充值)'
    commands:
      - 'say %player_name% 您购买成功了 %item_name%'

语言文件

command-service-null: '&7[&e&l!&7]&c 未找到支付服务 {0}'
command-item-null: '&7[&e&l!&7]&c 未找到商品 {0}'
command-create-start: '&7[&e&l!&7]&7 正在为你创建订单, 请等待...'
command-item-cancel: '&7[&e&l!&7]&e 订单金额已跟其他订单冲突, 已自动取消 &7(&b请稍后再尝试创建订单...&7)'
command-wechat-dynamic-cost: "&7[&e&l!&7]&e 当前订单金额已被锁定, 将为您自动匹配范围内可用的金额..."
command-create-success: '&7[&e&l!&7]&7 订单创建成功, 请支付 {0} 元'
command-order-timeout: "&7[&e&l!&7]&c 订单超时已被取消!"
command-reload: '&7[&e&l!&7]&7 重载成功'
command-close-order: '&7[&e&l!&7]&7 您丢弃了地图,订单已关闭'
command-create-fail: '&7[&e&l!&7]&c 订单创建失败, 请稍后再试'
reward-already-received-it: '&7[&e&l!&7]&c 已经领取过了'
reward-this-amount-has-not-been-reached: '&7[&e&l!&7]&c 未达到此金额'
reward-add-success: '&7[&e&l!&7]&c 为玩家 {0} 添加累充金额 {1} 成功'

#minecraft(3)

文章作者:Administrator

文章链接:https://halo.xbaimiao.com/archives/easypay

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!


评论