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

教程分享2个月前发布 宝儿盒
20 0 0

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

一、公开接口列表

序号 接口路径 请求方式 认证要求 功能说明
1 /api/meta/site GET 无需认证 获取网站元数据配置信息
2 /api/auth/me GET 无需认证 获取当前用户认证状态
3 /api/meta/announcements?ann_type=site_popup GET 无需认证 获取弹窗公告信息
4 /api/meta/announcements?ann_type=normal GET 无需认证 获取普通公告列表
5 /api/auth/login-captcha GET 无需认证 获取登录行为验证码
6 /api/auth/email-code POST 无需认证 发送邮箱验证码(注册)
7 /api/auth/login POST 无需认证 用户登录
8 /api/auth/merchant/register POST 无需认证 用户注册
9 /api/pay/public-test POST 无需认证 创建测试订单(首页测试支付)
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": "",
    "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.4 2026-05-18 新增用户注册接口 /api/auth/merchant/register
v1.3 2026-05-18 新增测试支付创建订单接口、登录接口、查询支付结果接口
v1.2 2026-05-18 新增测试支付收银台接口、发送邮箱验证码接口
v1.1 2026-05-18 新增公告接口和登录验证码接口
v1.0 2026-05-18 初始版本,记录首页公开接口和商户接口

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

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...