Skip to content

1. 获取充值通道

接口地址/home/money/getRechargeChannel

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "fee_rate": 0.05, // 充值手续费率
    "channels": [
      {
        "value": 1, // 支付通道 ID
        "label": "支付宝", // 支付通道名称
        "ico": "https://fast.qqss.net/static/payment/zfb.png" // 支付通道图标
      }
    ]
  }
}

2. 用户钱包充值

接口地址/home/money/doRecharge

请求参数

参数名类型必填说明
amountfloat充值金额
channelIdint充值通道ID(从获取充值通道接口的 value 字段获取)

响应示例

json
{
  "code": 1,
  "msg": "",
  "data": {
    "trade_no": "M240323034959999972",
    "url": "http://127.0.0.1:7979/pay/M240323034959999972",
    "auto_close_time": 1800 // 订单自动超时关闭时间
  }
}

字段说明

  • trade_no:充值订单号
  • url:支付页面URL(需要跳转到此URL完成支付)
  • auto_close_time:订单自动关闭时间(秒,默认1800秒=30分钟)

说明

  • 创建充值订单后,需要跳转到返回的 url 完成支付
  • channelId 参数值来自"获取充值通道"接口返回的 channels[].value 字段
  • 订单创建后会自动关闭,关闭时间由系统配置 charge_order_auto_close_time 决定
  • 支付页面会根据选择的通道展示相应的支付方式
  • 充值金额需大于0

错误响应示例

json
{
  "code": 0,
  "msg": "充值金额必须大于0",
  "data": null
}
json
{
  "code": 0,
  "msg": "充值通道不存在或已关闭",
  "data": null
}

3. 充值订单列表

接口地址/home/money/rechargeList

请求参数

参数名类型必填说明
statusInteger订单状态:0-待支付,1-已支付,2-已关闭
pageInteger页码,默认1
limitInteger每页数量,默认10

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "list": [
      {
        "id": 17,
        "trade_no": "M251116899237",
        "user_type": 2,
        "goods_name": "用户钱包充值 50元",
        "total_price": "52.500",
        "finally_money": "50.000",
        "user_id": 1008,
        "status": 2,
        "channel_account_id": 21,
        "channel_id": 1,
        "recharge_type": "user_money",
        "fee": "2.500",
        "create_at": "2025-11-16 08:18:40",
        "pay_at": null,
        "transaction_id": null
      }
    ],
    "total": 1
  }
}

字段说明

基础信息

  • id:充值订单ID
  • trade_no:充值订单号
  • goods_name:订单描述(格式:用户钱包充值 XX元)
  • create_at:创建时间
  • pay_at:支付时间(未支付时为 null)
  • transaction_id:第三方支付交易号(未支付时为 null)

用户信息

  • user_id:用户ID
  • user_type:用户类型(2-普通用户)

金额信息

  • total_price:订单总价(充值金额 + 手续费)
  • finally_money:实际到账金额(充值金额)
  • fee:手续费

充值信息

  • channel_id:充值通道ID
  • channel_account_id:通道账户ID
  • recharge_type:充值类型(user_money-用户余额)

订单状态

  • status:订单状态
    • 0:待支付
    • 1:已支付
    • 2:已关闭

说明

  • 订单列表只显示用户设置的数据时效性范围内的订单
  • 默认按创建时间倒序排列
  • total_price = finally_money + fee
  • 已支付的订单会有 pay_attransaction_id
  • 订单超时未支付会自动关闭(status = 2)

4. 申请提现配置详情

接口地址/home/money/applyConfig

请求参数:无

响应示例

  • 同 商户端 获取申请提现配置
json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "user": {
      "id": 1008,
      "money": 0,
      "freeze_money": 120,
      "user_money": 1266,
      "cash_type": 3,
      "auto_cash_money": 20
    },
    "limit_num": 5,
    "cash_fee_type": 100,
    "cash_fee": "10%",
    "auto_cash_fee": 15,
    "cash_limit_time": "0:00 ~ 23:00",
    "cash_min_money": 100,
    "auto_cash_money": 50
  }
}

字段说明

user(用户信息)

  • id:用户ID
  • user_money:用户可用余额
  • cash_type:提现方式
    • 1:支付宝
    • 2:银行卡
    • 3:支付宝和银行卡
  • auto_cash_money:用户设置的自动提现金额

提现配置

  • limit_num:每日提现次数限制
  • cash_fee_type:手续费类型
    • 1:固定金额
    • 100:百分比
  • cash_fee:手续费值
    • cash_fee_type = 1 时,为固定金额(如:5 表示5元)
    • cash_fee_type = 100 时,为百分比(如:10 表示10%,显示为"10%")
  • auto_cash_fee:自动提现手续费(固定金额)
  • cash_limit_time:提现时间限制(格式:"0:00 ~ 23:00")
  • cash_min_money:最小提现金额
  • auto_cash_money:系统设置的自动提现金额阈值

说明

  • user_money 为用户可提现的余额
  • 提现金额需 ≥ cash_min_money
  • 每日提现次数不能超过 limit_num
  • 提现时间需在 cash_limit_time 范围内
  • 手续费计算方式根据 cash_fee_type 决定:
    • 固定金额(type=1):手续费 = cash_fee(固定值)
    • 百分比(type=100):手续费 = 提现金额 × (cash_fee / 100)
  • 自动提现:当余额达到 auto_cash_money 时自动发起提现

手续费计算示例

示例1:固定金额
cash_fee_type = 1
cash_fee = 5
提现金额 = 100元
手续费 = 5元
实际到账 = 100 - 5 = 95元

示例2:百分比
cash_fee_type = 100
cash_fee = "10%"(实际值为10)
提现金额 = 100元
手续费 = 100 × (10 / 100) = 10元
实际到账 = 100 - 10 = 90元

5. 申请提现

接口地址/home/money/doWithdraw

请求参数

参数名类型必填说明
moneyDecimal提现金额
cash_pwdString二级密码

成功响应示例

json
{
  "code": 1,
  "msg": "申请成功"
}

错误响应示例

1. 系统关闭提现

json
{
  "code": 0,
  "msg": "系统配置的提现关闭提示语"
}

注:实际消息内容由系统配置 cash_close_tips 决定

2. 账户被冻结

json
{
  "code": 0,
  "msg": "无法申请提现操作,您的账户已被冻结!"
}

3. 未设置收款信息

json
{
  "code": 0,
  "msg": "您还未设置收款信息!"
}

4. 收款信息未审核

json
{
  "code": 0,
  "msg": "您的收款信息未审核通过,无法提现。如有疑问请联系平台管理员"
}

5. 不在提现时间

json
{
  "code": 0,
  "msg": "不在允许提现时间(0:00 ~ 23:00)"
}

注:时间范围根据系统配置动态生成

6. 超过提现次数

json
{
  "code": 0,
  "msg": "系统配置的提现次数限制提示语"
}

注:实际消息内容由系统配置 cash_limit_num_tips 决定

7. 提现金额错误

json
{
  "code": 0,
  "msg": "提现金额不能小于等于0!"
}
json
{
  "code": 0,
  "msg": "提现金额不能小于最低提现金额!"
}

8. 余额不足

json
{
  "code": 0,
  "msg": "您的余额不足以提现"
}

9. 未设置二级密码

json
{
  "code": 0,
  "msg": "您还未设置二级密码,无法提现"
}

10. 二级密码错误

json
{
  "code": 0,
  "msg": "二级密码错误"
}

说明

  • 提现前必须设置二级密码和收款方式
  • 收款信息需要通过平台审核
  • 提现金额需 ≥ 系统设置的最低提现金额
  • 每日提现次数有限制
  • 提现时间受系统配置限制
  • 提现会扣除相应的手续费
  • 提现申请提交后需要等待平台审核打款
  • 实际到账金额 = 提现金额 - 手续费

6. 提现列表

接口地址/home/money/cashList

请求参数

参数名类型必填说明
statusInteger订单状态:0-待审核,1-已通过,2-已拒绝
channel_idInteger提现通道ID
pageInteger页码,默认1
limitInteger每页数量,默认10

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "list": [
      {
        "id": 3,
        "user_id": 1008,
        "type": 1,
        "collect_info": "支付宝账号:123<br>真实姓名:123<br>身份证号:123",
        "money": "100.000",
        "fee": "10.000",
        "actual_money": "90.000",
        "status": 0,
        "create_at": "2025-11-16 08:27:51",
        "complete_at": 0,
        "collect_img": "",
        "cash_type": 2,
        "bank_name": "",
        "bank_branch": "",
        "bank_card": "123",
        "realname": "123",
        "idcard_number": "123",
        "trade_no": "",
        "channel_account_id": 0,
        "channel_id": 0,
        "user_type": 2
      }
    ],
    "total": 1
  }
}

字段说明

基础信息

  • id:提现订单ID
  • user_id:用户ID
  • user_type:用户类型(2-普通用户)
  • create_at:创建时间
  • complete_at:完成时间(0表示未完成)
  • trade_no:交易号(审核通过后填写)

金额信息

  • money:申请提现金额
  • fee:手续费
  • actual_money:实际到账金额(money - fee)

收款信息

  • type:收款方式类型
    • 1:支付宝
    • 2:微信
    • 3:银行卡
    • 4:USDT
  • collect_info:收款信息(HTML格式,包含账号、姓名、身份证等)
  • collect_img:收款二维码图片
  • bank_name:银行名称(type=3时有值)
  • bank_branch:开户支行(type=3时有值)
  • bank_card:收款账号
  • realname:真实姓名
  • idcard_number:身份证号

提现信息

  • cash_type:提现类型
    • 1:自动提现
    • 2:手动提现
  • channel_id:提现通道ID
  • channel_account_id:通道账户ID

订单状态

  • status:审核状态
    • 0:待审核
    • 1:已通过
    • 2:已拒绝

说明

  • 订单列表只显示用户设置的数据时效性范围内的订单
  • 默认按创建时间倒序排列
  • actual_money = money - fee
  • collect_info 为HTML格式,包含换行标签 <br>
  • 待审核订单的 complete_at 为 0
  • 已通过的订单会有 complete_at 时间和 trade_no

收款设置接口

7. 获取收款设置

接口地址/home/money/getCollect

请求参数:无

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "cash_type": 3,
    "cashTypesOptions": [
      {
        "value": 1,
        "label": "支付宝"
      },
      {
        "value": 2,
        "label": "微信"
      },
      {
        "value": 3,
        "label": "银行卡"
      },
      {
        "value": 4,
        "label": "USDT"
      }
    ],
    "info": {
      "id": 1,
      "user_id": 1008,
      "type": 1,
      "info": {
        "account": "123",
        "realname": "123",
        "idcard_number": "123"
      },
      "create_at": "2025-11-06 15:28:03",
      "collect_img": "",
      "status": 1
    }
  }
}

未设置收款信息时的响应

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "cash_type": 0,
    "cashTypesOptions": [
      {
        "value": 1,
        "label": "支付宝"
      },
      {
        "value": 2,
        "label": "微信"
      },
      {
        "value": 3,
        "label": "银行卡"
      },
      {
        "value": 4,
        "label": "USDT"
      }
    ],
    "info": null
  }
}

字段说明

根级别字段

  • cash_type:用户当前设置的收款方式(0-未设置)
  • cashTypesOptions:系统支持的收款方式列表
  • info:收款信息详情(未设置时为 null)

cashTypesOptions(收款方式选项)

  • value:收款方式类型值
  • label:收款方式名称

info(收款信息详情)

  • id:收款信息ID
  • user_id:用户ID
  • type:收款方式类型(1-支付宝,2-微信,3-银行卡,4-USDT)
  • info:具体收款信息对象
    • account:收款账号
    • realname:真实姓名
    • idcard_number:身份证号
    • bank_name:银行名称(type=3时)
    • bank_branch:开户支行(type=3时)
  • create_at:创建时间
  • collect_img:收款二维码图片URL
  • status:审核状态
    • 0:待审核
    • 1:已通过
    • 2:已拒绝

说明

  • cashTypesOptions 列表根据系统配置动态生成,只显示系统启用的收款方式
  • 用户首次访问时 info 为 null,需要先设置收款信息
  • 收款信息需要通过平台审核(status=1)才能用于提现
  • 不同的收款方式(type)需要填写不同的字段
  • 银行卡方式需要额外填写 bank_namebank_branch

8. 保存收款设置

接口地址/home/money/setCollect

请求参数

参数名类型必填说明
typeInteger收款方式类型:1-支付宝,2-微信,3-银行卡,4-USDT
accountString收款账号(支付宝账号/微信账号/银行卡号/USDT地址)
realnameString收款人真实姓名(type=4时不必填)
idcard_numberString身份证号(type=4时不必填)
bank_nameString开户银行名称(仅type=3时必填)
bank_branchString开户支行地址(仅type=3时必填)
collect_imgString收款二维码图片URL(type=3时不需要)
cash_pwdString二级密码(修改收款信息时必填)

请求示例

示例1:支付宝收款方式(type=1)

json
{
  "type": 1,
  "account": "13800138000",
  "realname": "张三",
  "idcard_number": "110101199001011234",
  "collect_img": "http://example.com/qrcode.png",
  "cash_pwd": "123456"
}

示例2:微信收款方式(type=2)

json
{
  "type": 2,
  "account": "wxid_abc123",
  "realname": "张三",
  "idcard_number": "110101199001011234",
  "collect_img": "http://example.com/qrcode.png",
  "cash_pwd": "123456"
}

示例3:银行卡收款方式(type=3)

json
{
  "type": 3,
  "account": "6222021234567890123",
  "realname": "张三",
  "idcard_number": "110101199001011234",
  "bank_name": "中国工商银行",
  "bank_branch": "北京市朝阳区支行",
  "cash_pwd": "123456"
}

示例4:USDT收款方式(type=4)

json
{
  "type": 4,
  "account": "TRC20地址",
  "collect_img": "http://example.com/qrcode.png",
  "cash_pwd": "123456"
}

成功响应示例

json
{
  "code": 1,
  "msg": "保存成功",
  "data": null
}

错误响应示例

1. 未设置二级密码

json
{
  "code": 0,
  "msg": "您还未设置二级密码,无法设置收款信息"
}

2. 二级密码错误

json
{
  "code": 0,
  "msg": "二级密码错误"
}

3. 资料填写不完整

json
{
  "code": 0,
  "msg": "资料填写不完整或存在非法字符!"
}

4. 保存失败

json
{
  "code": 0,
  "msg": "保存失败,请重试!"
}

字段说明

  • type:收款方式类型,决定需要填写哪些字段
  • account:根据不同的收款方式,填写对应的账号信息
  • realname:真实姓名,type=4(USDT)时可不填
  • idcard_number:身份证号,type=4(USDT)时可不填
  • bank_name:银行名称,仅在type=3(银行卡)时必填
  • bank_branch:开户支行,仅在type=3(银行卡)时必填
  • collect_img:收款二维码图片,type=3(银行卡)时不需要
  • cash_pwd:二级密码,修改收款信息时必须验证

说明

  • 首次设置收款信息不需要验证二级密码,但必须先设置二级密码
  • 修改已有的收款信息时必须验证二级密码
  • 不同的收款方式需要填写不同的字段:
    • 支付宝/微信(type=1/2):需要 account、realname、idcard_number、collect_img
    • 银行卡(type=3):需要 account、realname、idcard_number、bank_name、bank_branch
    • USDT(type=4):只需要 account、collect_img
  • 除 idcard_number 外,其他必填字段不能为空
  • 收款信息保存后需要等待平台审核,审核通过后才能用于提现
  • 收款信息修改后会重新进入待审核状态

资金流水接口

9. 资金流水列表

接口地址/home/moneyLog/list

请求参数

参数名类型必填说明
pageInteger页码,默认1
limitInteger每页数量,默认10

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "business_type": 1,
        "business_type_text": "充值",
        "amount": "100.00",
        "balance": "200.00",
        "remark": "支付宝充值",
        "create_at": "2024-01-01 12:00:00"
      }
    ],
    "total": 100
  }
}

字段说明

  • business_type:业务类型
  • amount:变动金额(正数为收入,负数为支出)
  • balance:变动后余额

10. 获取业务类型字典

接口地址/home/moneyLog/businessTypeDict

请求参数:无

响应示例

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "1": "充值",
    "2": "提现",
    "3": "购买商品",
    "4": "退款",
    "5": "佣金收入"
  }
}

注意事项

  1. 所有钱包相关接口都需要用户登录认证
  2. 提现前必须设置二级密码和收款方式
  3. 充值和提现都有金额限制,需在允许范围内
  4. 资金流水列表受用户设置的数据时效性限制
  5. 提现会收取一定比例的手续费