API 接口文档

2 个内容最后更新:2026-01-07

Meow Credit 提供简单、强大的 API 接口,支持多种编程语言和开发环境。通过标准化的 HTTP 接口,您可以轻松将积分服务集成到您的应用中。

1

官方服务接口

官方服务接口暂未上线,敬请期待

2

易支付兼容接口

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

2.1 概览

  • 协议:EasyPay / CodePay / VPay 兼容协议
  • 服务类型:仅支持 type=epay
  • 网关基址:https://credit.linux.do/epay
  • 订单有效期:取系统配置 merchant_order_expire_minutes(平台端设置)

2.2 常见错误

  • 不支持的请求类型type 仅允许 epay
  • 签名验证失败:参与签名字段与请求体需一致,密钥直接拼接
  • 金额必须大于0 / 积分小数位数不能超过2位
  • 订单已过期:超出系统配置有效期
  • 订单不存在或已完成:订单号错误、已退回或已完成
  • 余额不足:余额退回时用户积分不足

2.3 对接流程

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

2.4 鉴权与签名

2.4.1 API Key

  • pid:Client ID
  • key:Client Secret(妥善保管)
  • notify_url:回调地址, 使用创建应用时设置的 notify_url;请求体中的 notify_url 仅参与签名,不会覆盖创建应用时设置的 notify_url。

2.4.2 签名算法

  1. 取所有非空字段(排除 signsign_type 字段)
  2. 将上述字段按 ASCII 升序,依次拼成 k1=v1&k2=v2
  3. 在末尾追加应用密钥:k1=v1&k2=v2{secret}
  4. 整体进行 MD5,取小写十六进制作为 sign
payload="money=10&name=Test&out_trade_no=M20250101&pid=001&type=epay"
sign=$(echo -n "${payload}${SECRET}" | md5)  # 输出小写

2.5 积分流转服务

  • 方法:POST /pay/submit.php
  • 编码:application/x-www-form-urlencoded
  • 成功:验签通过后,平台自动创建积分流转服务,并跳转到认证界面(Location=https://credit.linux.do/paying?order_no=...
  • 失败:返回 JSON {"error_msg":"...", "data":null}
参数必填说明
pidClient ID
type固定 epay
out_trade_no业务单号,建议全局唯一
name标题,最多 64 字符
money积分数量,最多 2 位小数
notify_url仅参与签名,不会覆盖创建应用时设置的 notify_url
return_url仅参与签名,不会覆盖创建应用时设置的 return_url
device终端标识,可选
sign按“签名算法”生成
sign_type固定 MD5

请求示例:

curl -X POST https://credit.linux.do/epay/pay/submit.php \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "pid=001" \
  -d "type=epay" \
  -d "out_trade_no=M20250101" \
  -d "name=Test" \
  -d "money=10" \
  -d "sign=${SIGN}" \
  -d "sign_type=MD5"

2.6 订单查询

  • 方法:GET /api.php
  • 认证:pid + key
  • 说明:out_trade_no 必填;act 可传 order,后端不强校验。
参数必填说明
act可选字段,建议 order
pidClient ID
keyClient Secret
out_trade_no业务单号

成功响应:

{
  "code": 1,
  "msg": "查询订单号成功!",
  "trade_no": "M20250101",
  "out_trade_no": "M20250101",
  "type": "epay",
  "pid": "001",
  "addtime": "2025-01-01 12:00:00",
  "endtime": "2025-01-01 12:01:30",
  "name": "Test",
  "money": "10",
  "status": 1
}

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

2.7 订单退款

  • 方法:POST /api.php
  • 编码:application/jsonapplication/x-www-form-urlencoded
  • 限制:仅支持对已成功的积分流转服务进行积分的全额退回
参数必填说明
pidClient ID
keyClient Secret
trade_no编号
money必须等于原积分流转服务的积分数量
out_trade_no业务单号(兼容)

响应:

{ "code": 1, "msg": "退款成功" }

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

2.8 异步通知(认证成功)

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

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

对这些内容有疑问?