简介与协议规则

感谢使用 柯达集团。本页是开发者对接文档(V1 / MD5),覆盖:

协议规范(务必遵守)

请求格式:application/x-www-form-urlencoded

返回格式:JSON(页面跳转支付除外,会直接 302/跳转)

签名算法:MD5(结果小写)

字符编码:UTF-8

金额单位:元,最多 2 位小数,如 10.00

常用网关:

商户后台可获取:pid(商户ID)、key(MD5 密钥)。

5 分钟对接流程

  1. 在商户后台拿到 pidkey
  2. 选择接入方式:网站用 submit.php;App/后端用 mapi.php
  3. 按规则生成 sign,提交下单参数(金额、订单号、回调地址等)。
  4. 用户完成支付后,平台请求你的 notify_url;你验签并返回纯文本 success
  5. 可选:用 api.php?act=order 主动查单兜底,避免漏通知。

USDT 支付说明

支付方式调用值:type=usdt(需后台已开通)。

USDT mapi 返回示例:

{
  "code": 1,
  "trade_no": "2026071315300012345",
  "payurl": "https://web-manage-pay-cert.keda918.top/pay/usdt/2026071315300012345/"
}

MD5 签名算法

签名 = 用密钥给参数“盖章”,防止伪造。步骤如下:

  1. 取出所有非空参数;不要 signsign_type
  2. 按参数名 ASCII 从小到大排序(a-z)。
  3. 拼成 a=1&b=2&c=3(值不要 URL 编码)。
  4. sign = md5(拼接字符串 + 商户密钥key),结果小写

示例(密钥为 KEY):

money=1.00&name=test&out_trade_no=1&pid=1001&type=alipay + KEY
→ md5 得到 sign

异步通知收到后,用同样规则重算 sign,与通知中的 sign 比对。

支付方式与设备类型

支付方式列表 (type)

下单时的 type 填「调用值」。是否可用以商户后台开通为准。

调用值 中文描述 备注
alipay 支付宝
wxpay 微信支付
usdt USDT 返回 payurl 选链;TRON+1.5U 链费,BSC 无额外链费

设备类型列表 (device)

调用值 中文描述
pc电脑浏览器 (默认)
mobile手机浏览器
qq手机 QQ 内置浏览器
wechat微信内置浏览器
alipay支付宝客户端
jump仅返回支付跳转 URL

1. 页面跳转支付

适用场景:网站收银台。用户点“去支付”后,浏览器跳转到本平台完成付款。

网关地址: https://web-manage-pay-cert.keda918.top/submit.php

请求方式: POST(推荐)或 GET

USDT:type 传 usdt 时,用户进入链选择页(BSC/TRON),再显示收款信息。

字段名 / 变量名 类型 必填 描述与示例
商户ID
pid
Int Yes 您在该平台的唯一商户标识。示例:1001
支付方式
type
String No 未传则自动打开聚合收银台页面。示例:alipay
商户订单号
out_trade_no
String Yes 需保证您系统内唯一。示例:202x0806151343349
异步通知地址
notify_url
String Yes 服务器底层异步回调接收地址。示例:https://xx/notify_url.php
跳转通知地址
return_url
String Yes 用户支付完毕后前端被动跳回的地址。
商品名称
name
String Yes 超 127 字节将自动截断。示例:VIP高级会员
商品金额
money
String Yes 单位:元,支持2位小数。示例:100.00
扩展参数
param
String No 供商户自定义,回调时将原样返回。
签名
sign
String Yes 参考 MD5 签名机制生成的32位验证串。
签名类型
sign_type
String Yes 默认必须且仅为 MD5

2. API 接口支付(mapi.php)

适用场景:App / 服务端对接。你的后端用 cURL 请求,拿到 payurl 或二维码内容,再展示给用户。

网关地址: https://web-manage-pay-cert.keda918.top/mapi.php

请求方式: POST

参数与页面跳转支付基本一致,但:

1)type 必填(如 alipay / wxpay / usdt)

2)必须传 clientip = 用户真实 IP(不是你服务器 IP)

3)USDT 会返回 payurl 指向选链页,请引导用户打开该链接

额外必填/常用参数:

变量必填说明
type支付方式,如 usdt
clientip终端用户 IP
device默认 pc,见设备类型
param透传;可带业务字段

JSON 返回字段:

返回值变量 类型 描述
codeInt1 成功,其它失败
msgString失败原因
trade_noString平台订单号
payurlString三选一:让用户打开此链接支付(USDT 为选链页)
qrcodeString三选一:二维码内容,可自行生成二维码
urlschemeString三选一:App scheme(如 weixin://)

payurl / qrcode / urlscheme 只会返回其中一个。

3. 支付结果通知(异步 / 同步)

付款成功后,平台会用 GET 请求你配置的地址:

可靠性提示

只信赖 notify_url 改订单状态;务必验签;处理成功后返回纯文本 success(不要 HTML),否则会重试。

回调变量 说明
pid商户 ID
trade_no平台订单号
out_trade_no你的商户订单号
type支付方式,如 usdt
name商品名称
money订单金额(元,人民币)
trade_statusTRADE_SUCCESS 表示成功
param下单透传参数
sign / sign_type验签字段

建议处理顺序:验签 → 校验订单号与金额 → 幂等更新本地订单为已支付 → 输出 success

4. [api.php] 查询商户信息

用途:查余额、商户状态、今日/昨日成功订单数等。

网关: https://web-manage-pay-cert.keda918.top/api.php?act=query&pid={商户ID}&key={商户密钥}

方式:GET

参数必填说明
act=query固定值
pid / key商户鉴权

返回重点:code=1 成功;含 money 余额、active 状态、orders 总订单、orders_today / orders_lastday 等。

5. [api.php] 结算记录查询

网关: https://web-manage-pay-cert.keda918.top/api.php?act=settle&pid={商户ID}&key={商户密钥}&limit=10&offset=0

方式:GET

成功时 data 为结算记录数组。

6. [api.php] 单个订单查询

用途:主动查单,确认是否已支付(可与异步通知互补,防漏单)。

网关: https://web-manage-pay-cert.keda918.top/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户单号}

方式:GET

返回重点:status(1 已支付 / 0 未支付)、moneytypeapi_trade_no(上游或链上交易号)、buyer 等。

7. [api.php] 批量订单查询

网关: https://web-manage-pay-cert.keda918.top/api.php?act=orders&pid={商户ID}&key={商户密钥}&limit=20&offset=0

方式:GET

成功返回 countdata 订单列表。

8. [api.php] 提交订单退款

前提:管理员开启商户自助退款,且商户打开「订单退款 API」。部分通道(含 USDT)可能不支持原路退款。

网关: https://web-manage-pay-cert.keda918.top/api.php?act=refund

方式:POST

参数必填说明
pid / key商户鉴权
trade_no二选一平台订单号
out_trade_no二选一商户订单号
money退款金额(元)

成功/失败以返回 JSON 的 codemsg 为准。