import { type PolicySection } from "./types" import { CodeBlock } from "@/components/ui/code-block" import { DocsTable, DocsTableHeader, DocsTableBody, DocsTableHead, DocsTableRow, DocsTableCell, } from "@/components/ui/docs-table" export const DOCS_LAST_UPDATED = "2026-04-20" /** * ------------------------------------------------------------------ * API 文档 * ------------------------------------------------------------------ */ export const apiSections: PolicySection[] = [ { value: "official-service", title: "1. 官方 LDC 接口", content: (

官方原生接口,使用 Ed25519 签名算法,安全性更高

1.1 概览

1.2 对接流程

  1. 控制台创建应用,配置 client_id 并在应用设置中上传商户 Ed25519 公钥
  2. 根据“签名算法”及商户私钥生成 sign
  3. 调用 /pay/submit 发起积分流转请求
  4. 认证完成后,通过异步回调或轮询接口同步状态

1.3 鉴权与签名

1.3.1 签名算法

  1. 取除 sign 以外的所有非空请求参数
  2. 将参数按参数名 ASCII 码从到大排序(字典序)
  3. 使用 k1=v1&k2=v2... 格式拼接成字符串
  4. 将 应用密钥 (Client Secret) 直接追加到字符串末尾
  5. 使用商户私钥对最终字符串进行 Ed25519 签名
  6. 将签名结果转换成 Base64 编码作为 sign 参数

1.4 积分流转服务

参数 必填 说明 client_id 是 应用客户端 ID type 是 固定 ldcpay out_trade_no 是 业务单号 money 是 积分数量,必须保留两位小数(比如,10.00) order_name 是 商品名称 notify_url 否 会参与签名;可选订单级异步通知地址。长度不超过 100,需为合法 URL。传入后支付成功优先回调该地址,未传则使用应用 notify_url return_url 否 会参与签名;可选订单级回跳地址。长度不超过 100,需为合法 URL。传入后支付成功页面优先跳转该地址,未传则使用应用 redirect_uri sign 是 按“签名算法”生成的 Base64 签名串

1.5 其他接口

其他接口定义请参考 3. 其他接口。

), children: [ { value: "1-1-overview", title: "1.1 概览" }, { value: "1-2-flow", title: "1.2 对接流程" }, { value: "1-3-auth-sign", title: "1.3 鉴权与签名" }, { value: "1-4-submit", title: "1.4 积分流转服务" }, { value: "1-5-others", title: "1.5 其他接口" }, ] }, { value: "epay-compatibility", title: "2. 易支付兼容接口", content: (

兼容易支付、CodePay、VPay 等支付协议

2.1 概览

2.2 常见错误

2.3 对接流程

  1. 控制台创建 API Key,记录 pid、key,配置回调地址
  2. 按“签名算法”生成 sign,调用 /epay/pay/submit.php 创建积分流转服务并跳转认证界面
  3. 可通过 /epay/api.php 轮询结果,或等待异步回调
  4. 退回服务时,携带同一 trade_no 和原积分数量,调用积分退回接口
  5. 回调验签通过后返回 success 完成闭环

2.4 鉴权与签名

2.4.1 API Key

2.4.2 签名算法

  1. 取所有非空字段(排除 sign、sign_type 字段)
  2. 将上述字段按 ASCII 升序,依次拼成 k1=v1&k2=v2
  3. 在末尾追加应用密钥:k1=v1&k2=v2{"{secret}"}
  4. 整体进行 MD5,取小写十六进制作为 sign

2.5 积分流转服务

参数 必填 说明 pid 是 Client ID type 是 固定 epay out_trade_no 否 业务单号,建议全局唯一 name 是 标题,最多 64 字符 money 是 积分数量,最多 2 位小数 notify_url 否 会参与签名;可选订单级异步通知地址。长度不超过 100,需为合法 URL。传入后支付成功优先回调该地址,未传则使用应用 notify_url return_url 否 会参与签名;可选订单级回跳地址。长度不超过 100,需为合法 URL。传入后支付成功页面优先跳转该地址,未传则使用应用 redirect_uri device 否 终端标识,可选 sign 是 按“签名算法”生成 sign_type 否 固定 MD5

请求示例:

2.6 其他接口

其他接口定义请参考 3. 其他接口。

), children: [ { value: "2-1-overview", title: "2.1 概览" }, { value: "2-2-common-errors", title: "2.2 常见错误" }, { value: "2-3-flow", title: "2.3 对接流程" }, { value: "2-4-auth-sign", title: "2.4 鉴权与签名" }, { value: "2-5-submit", title: "2.5 积分流转服务" }, { value: "2-6-others", title: "2.6 其他接口" }, ] }, { value: "common-services", title: "3. 其他接口", content: (

官方接口与易支付兼容接口公用接口。

3.1 订单查询

参数 必填 说明 act 否 可选字段,建议 order pid 是 Client ID key 是 Client Secret out_trade_no 是 业务单号

成功响应:

补充:status 1=成功,0=失败/处理中;不存在会返回 HTTP 404 且 {`{"code":-1,"msg":"服务不存在或已完成"}`}。

3.2 订单退款

参数 必填 说明 pid 是 Client ID key 是 Client Secret trade_no 是 编号 money 是 必须等于原积分流转服务的积分数量 out_trade_no 否 业务单号(兼容)

响应:

常见失败:服务不存在/未认证、金额不合法(<=0 或小数超过 2 位)。

3.3 异步通知

  • 触发:认证成功后;失败自动重试,最多 5 次(单次 30s 超时)
  • 目标:订单级 notify_url(如有)优先,否则回退到创建应用时设置的 notify_url
  • 方式:HTTP GET
参数 说明 pid Client ID trade_no 编号 out_trade_no 业务单号 type 固定 epay name 标题 money 积分数量,最多 2 位小数 trade_status 固定 TRADE_SUCCESS sign 按“签名算法”生成

应用需返回 HTTP 200 且响应体为 success(大小写不敏感),否则视为失败并继续重试。

3.4 商户分发接口

  • 方法:POST /lpay/distribute
  • 编码:application/json
  • 认证:Basic Auth (使用 client_id:client_secret 进行 Base64 编码)
参数 必填 说明 user_id 是 收款人用户 ID (数字) username 是 收款人用户名 (用于二次校验) amount 是 分发积分数量,最多 2 位小数 out_trade_no 否 商户自定义单号 remark 否 分发备注

成功响应:{`{"code":1, "data":{"trade_no":"...", "out_trade_no":"..."}}`}

3.5 用户余额统计

  • 方法:GET /api/v1/dashboard/stats/user-balance
  • 认证:无需鉴权(公开接口)
  • 说明:获取平台所有用户可用余额的统计数据,结果有缓存,TTL 由系统配置决定

成功响应:

字段 说明 total_count 统计用户总数 total_amount 所有用户可用余额之和 avg_amount 平均余额 median_amount 余额中位数 min_amount 最小余额 max_amount 最大余额 std_dev 余额标准差
), children: [ { value: "3-1-order", title: "3.1 订单查询" }, { value: "3-2-refund", title: "3.2 订单退款" }, { value: "3-3-notify", title: "3.3 异步通知" }, { value: "3-4-distribute", title: "3.4 商户分发接口" }, { value: "3-5-user-balance", title: "3.5 用户余额统计" }, ] }, ]