晓风聚合支付系统首页接口文档

晓风
2026-05-19 / 1 评论 / 18 阅读 / 正在检测是否收录...

# 晓风聚合支付系统首页接口文档

一、公开接口列表

序号接口路径请求方式认证要求功能说明
1/api/meta/siteGET无需认证获取网站元数据配置信息
2/api/auth/meGET无需认证获取当前用户认证状态
3/api/meta/announcements?ann_type=site_popupGET无需认证获取弹窗公告信息
4/api/meta/announcements?ann_type=normalGET无需认证获取普通公告列表
5/api/auth/login-captchaGET无需认证获取登录行为验证码
6/api/auth/email-codePOST无需认证发送邮箱验证码(注册)
7/api/auth/loginPOST无需认证用户登录
8/api/auth/merchant/registerPOST无需认证用户注册
9/api/pay/public-testPOST无需认证创建测试订单(首页测试支付)
10/api/pay/cashier/{trade_no}GET无需认证获取收银台详情
11/api/pay/result?trade_no={trade_no}GET无需认证查询支付结果

二、网站元数据接口

接口路径/api/meta/site
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "cashier_templates": [
      {"code": "template1", "name": "简洁风格"},
      {"code": "template2", "name": "标准风格"}
    ],
    "home_pay_types": "alipay,wxpay,usdt,qqpay",
    "monitor_download_android_url": "https://cyjl.ljwx.site/...",
    "site_name": "晓风聚合支付系统",
    "site_logo": "/uploads/site/logo_1775839580321427391.png",
    "system_pay_pid": "M20260411c37ad0d84a"
  }
}

字段说明

字段名类型说明
cashier_templates数组可用的收银台模板列表
cashier_templates[].code字符串模板代码
cashier_templates[].name字符串模板名称
home_pay_types字符串首页显示的支付类型,逗号分隔
monitor_download_android_url字符串安卓监控程序下载地址
site_name字符串网站名称
site_logo字符串网站Logo路径
system_pay_pid字符串系统演示PID

三、用户认证状态接口

接口路径/api/auth/me
请求方式GET
认证要求:无需认证,公开接口

响应格式(已登录)

{
  "code": 0,
  "msg": "ok",
  "data": {
    "role": "merchant",
    "user_id": 2,
    "username": "m_0e23d3b4bf"
  }
}

响应格式(未登录)

{
  "code": 0,
  "msg": "ok",
  "data": null
}

字段说明

字段名类型说明
role字符串用户角色,如 "merchant"
user_id整数用户ID
username字符串用户名

四、弹窗公告接口

接口路径/api/meta/announcements?ann_type=site_popup
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "list": [
      {
        "id": 1,
        "ann_type": "site_popup",
        "title": "晓风聚合支付系统",
        "content": "晓风聚合支付系统,基于 Go 语言纯自主研发...",
        "is_enabled": 1,
        "created_at": "2026-04-11 06:58:25",
        "updated_at": "2026-05-15 17:12:07"
      }
    ]
  }
}

字段说明

字段名类型说明
list数组公告列表
list[].id整数公告ID
list[].ann_type字符串公告类型
list[].title字符串公告标题
list[].content字符串公告内容
list[].is_enabled整数是否启用,1表示启用
list[].created_at字符串创建时间
list[].updated_at字符串更新时间

五、普通公告接口

接口路径/api/meta/announcements?ann_type=normal
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "list": [
      {
        "id": 5,
        "ann_type": "normal",
        "title": "严禁违规业务",
        "content": "本支付系统严禁违规业务...",
        "is_enabled": 1,
        "created_at": "2026-04-11 07:01:48",
        "updated_at": "2026-04-11 07:01:48"
      }
    ]
  }
}

字段说明

字段名类型说明
list数组公告列表
list[].id整数公告ID
list[].ann_type字符串公告类型
list[].title字符串公告标题
list[].content字符串公告内容
list[].is_enabled整数是否启用
list[].created_at字符串创建时间
list[].updated_at字符串更新时间

六、登录验证码接口

接口路径/api/auth/login-captcha
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "captcha_id": "63a0bd8fdb3b27d7",
    "captcha_svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" ...>",
    "prompt": "请按顺序点击:石 → 树 → 火"
  }
}

字段说明

字段名类型说明
captcha_id字符串验证码会话ID,用于后续验证
captcha_svg字符串SVG格式的验证码图片
prompt字符串用户需要点击的汉字顺序提示

七、发送邮箱验证码接口

接口路径/api/auth/email-code
请求方式POST
认证要求:无需认证,公开接口

请求格式

{
  "email": "test@example.com",
  "purpose": "register"
}

字段说明

字段名类型必填说明
email字符串邮箱地址
purpose字符串用途,如 "register"

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": null
}

八、用户登录接口

接口路径/api/auth/login
请求方式POST
认证要求:无需认证,公开接口

请求格式

{
  "email": "3295564195@qq.com",
  "password": "123456",
  "captcha_id": "3e702cf04dc14487",
  "captcha_points": [[100, 50], [150, 75], [200, 100]]
}

字段说明

字段名类型必填说明
email字符串账号或邮箱
password字符串登录密码
captcha_id字符串验证码会话ID
captcha_points数组验证码点击坐标数组,每个元素为 [x, y]

响应格式(成功)

{
  "code": 0,
  "msg": "ok",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user_id": 2,
    "username": "m_0e23d3b4bf",
    "role": "merchant"
  }
}

响应格式(失败)

{
  "code": 1,
  "msg": "验证码错误",
  "data": null
}

字段说明

字段名类型说明
token字符串JWT认证令牌
user_id整数用户ID
username字符串用户名
role字符串用户角色

九、用户注册接口

接口路径/api/auth/merchant/register
请求方式POST
认证要求:无需认证,公开接口

请求格式

{
  "username": "",
  "password": "test123456",
  "email": "newtestuser@example.com",
  "email_code": "123456",
  "mobile": ""
}

字段说明

字段名类型必填说明
username字符串用户名,选填
password字符串登录密码,至少6位字符
email字符串邮箱地址
email_code字符串邮箱验证码,6位数字
mobile字符串手机号,选填

响应格式(成功)

{
  "code": 0,
  "msg": "ok",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user_id": 3,
    "username": "newtestuser",
    "role": "merchant"
  }
}

响应格式(失败)

{
  "code": 1,
  "msg": "邮箱验证码错误或已过期",
  "data": null
}

字段说明

字段名类型说明
token字符串JWT认证令牌
user_id整数用户ID
username字符串用户名
role字符串用户角色

十、创建测试订单接口(首页测试支付)

接口路径/api/pay/public-test
请求方式POST
认证要求:无需认证,公开接口

请求格式

{
  "pay_type": "alipay",
  "amount": 1
}

字段说明

字段名类型必填说明
pay_type字符串支付类型:alipay/wxpay/qqpay/usdt
amount浮点数订单金额

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "trade_no": "T202605181901479191997b",
    "cashier_url": "/cashier/T202605181901479191997b",
    "channel": "alipay",
    "amount": 1.06
  }
}

字段说明

字段名类型说明
trade_no字符串平台订单号
cashier_url字符串收银台跳转路径
channel字符串支付渠道
amount浮点数订单金额(含手续费)

使用流程

  1. 前端调用此接口创建测试订单
  2. 获取返回的 cashier_url
  3. 跳转到收银台页面

十一、收银台详情接口

接口路径/api/pay/cashier/{trade_no}
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "trade_no": "T202605181855419a3a67da",
    "out_trade_no": "PUBT1779101741189",
    "amount": 1.02,
    "subject": "首页测试支付",
    "qrcode_url": "https://qr.alipay.com/bax02997ybchsc0eqaer254c",
    "pay_url": "https://qr.alipay.com/bax02997ybchsc0eqaer254c",
    "status": 0,
    "expire_at": "2026-05-18 19:00:41",
    "channel_code": "alipay_face",
    "channel_id": 3,
    "cashier_template": "template2"
  }
}

字段说明

字段名类型说明
trade_no字符串平台订单号
out_trade_no字符串商户订单号
amount浮点数订单金额
subject字符串订单标题
qrcode_url字符串支付二维码URL
pay_url字符串支付链接
status整数支付状态,0=待支付
expire_at字符串订单过期时间
channel_code字符串渠道代码
channel_id整数渠道ID
cashier_template字符串收银台模板

十二、查询支付结果接口

接口路径/api/pay/result?trade_no={trade_no}
请求方式GET
认证要求:无需认证,公开接口

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "trade_no": "T202605181901037e5c56e8",
    "out_trade_no": "PUBT1779102063401",
    "amount": 1.05,
    "original_amount": 1,
    "notify_money": 1,
    "notify_status": 0,
    "status": 0,
    "return_redirect_url": ""
  }
}

字段说明

字段名类型说明
trade_no字符串平台订单号
out_trade_no字符串商户订单号
amount浮点数实际支付金额
original_amount浮点数原始订单金额
notify_money浮点数通知金额
notify_status整数通知状态
status整数支付状态:0=待支付,1=已支付
return_redirect_url字符串跳转URL

状态说明

状态值说明
0待支付
1已支付
2已退款
3已取消

十三、商户侧接口(需商户认证)

12.1 挂机心跳接口

接口路径/api/merchant/channels/heartbeat
请求方式POST
认证要求:需要签名认证

签名规则sign = MD5(key + pid + join(sorted(channel_ids), ",") + timestamp)

请求格式

{
  "pid": "10001",
  "channel_ids": [12, 18, 25],
  "client": "wechat_app_android",
  "timestamp": 1712475600,
  "sign": "md5(...)"
}

12.2 APP/PC 支付回调接口

接口路径/api/pay/app/callback
请求方式POST
认证要求:需要签名认证

签名规则sign = MD5(key + pid + channel_id + amount + timestamp)

请求格式

{
  "pid": "10001",
  "channel_id": 12,
  "amount": 10.00,
  "timestamp": 1712475600,
  "sign": "md5(...)"
}

12.3 页面跳转支付接口

接口路径/submit.php
请求方式POST
认证要求:无需认证

请求参数

参数名类型必填说明
pid字符串商户PID
type字符串支付类型:alipay/wxpay/qqpay/usdt
out_trade_no字符串商户订单号
total_fee浮点数订单金额
notify_url字符串异步通知地址
return_url字符串页面跳转地址
sign字符串签名
subject字符串订单标题

12.4 API返回支付信息接口

接口路径/mapi.php
请求方式POST
认证要求:无需认证

请求参数

参数名类型必填说明
pid字符串商户PID
type字符串支付类型
out_trade_no字符串商户订单号
total_fee浮点数订单金额
notify_url字符串异步通知地址
sign字符串签名
subject字符串订单标题

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "trade_no": "T202604111234567890",
    "qrcode": "https://qr.alipay.com/xxx",
    "pay_url": "https://qr.alipay.com/xxx",
    "amount": 10.00,
    "expire_at": "2026-04-11 12:00:00"
  }
}

12.5 订单查询接口

接口路径/api.php?act=query
请求方式GET
认证要求:无需认证

请求参数

参数名类型必填说明
pid字符串商户PID
out_trade_no字符串商户订单号
sign字符串签名

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "trade_no": "T202604111234567890",
    "out_trade_no": "ORDER123456",
    "status": 1,
    "amount": 10.00,
    "channel": "alipay",
    "created_at": "2026-04-11 10:00:00",
    "pay_time": "2026-04-11 10:05:00"
  }
}

状态说明

状态值说明
0待支付
1已支付
2已退款
3已取消

12.6 异步通知接口(Webhook)

当支付完成后,平台会向商户的 notify_url 发送POST请求通知商户。

请求方式POST
认证要求:根据商户配置的密钥进行签名验证

请求格式

{
  "trade_no": "T202604111234567890",
  "out_trade_no": "ORDER123456",
  "status": 1,
  "amount": 10.00,
  "channel": "alipay",
  "pay_time": "2026-04-11 10:05:00",
  "sign": "md5(...)"
}

字段说明

字段名类型说明
trade_no字符串平台订单号
out_trade_no字符串商户订单号
status整数支付状态:1=成功
amount浮点数支付金额
channel字符串支付渠道
pay_time字符串支付时间
sign字符串签名,用于验证

响应要求:商户收到通知后返回 "success" 表示成功接收。


技术变更记录

版本日期变更说明
v1.42026-05-18新增用户注册接口 /api/auth/merchant/register
v1.32026-05-18新增测试支付创建订单接口、登录接口、查询支付结果接口
v1.22026-05-18新增测试支付收银台接口、发送邮箱验证码接口
v1.12026-05-18新增公告接口和登录验证码接口
v1.02026-05-18初始版本,记录首页公开接口和商户接口

文档版本:v1.4
最后更新:2026-05-18

0

评论 (1)

取消
  1. 头像

    [...]你需要完成这些页面的书写并且路由地址需要与默认页面保持一致如果有新增页面可以自定义路由地址部分接口文档: https://boke.ljwx.love/index.php/archives/501/ 写好模板后,需要打包为一个index.html文件,并且附带js,css等静态资源文件夹不允许出现源码.vue文件我会将你打包后的模板嵌入go项目二进制源码当中,用户无法篡改。你可以自写收费授权逻辑,[...]

    回复