开发文档
感谢您选择使用 柯达集团 的支付服务。本指南将帮助您快速了解系统的 API 结构,并将其无缝集成到您的应用生态中。
协议规范
基础请求格式:application/x-www-form-urlencoded
接口返回格式:JSON
通用签名算法:MD5
字符编码:UTF-8
MD5 签名算法机制
支付网关的安全性依赖于强健的签名校验。请按照以下规则严格执行请求参数签名:
- 将发送或接收到的所有非空参数,按照参数名首字母 ASCII 码从小到大排序(a-z)。注:
sign、sign_type以及空值的参数不参与签名! - 将排序后的参数拼接成 URL 键值对格式,例如
a=b&c=d&e=f。此时千万不要对参数值进行 URL 编码(UrlEncode)。 - 将上述拼接的字符串与商户对应的密钥(KEY)组合进行 MD5 运算:
sign = md5( a=b&c=d&e=f + KEY ) - 获得的 MD5 哈希结果需要全部转为小写字母以作为最终的
sign参数。
附录字典
支付方式列表 (type)
| 调用值 | 中文描述 |
|---|---|
alipay |
支付宝 |
wxpay |
微信支付 |
设备类型列表 (device)
| 调用值 | 中文描述 |
|---|---|
pc | 电脑浏览器 (默认) |
mobile | 手机浏览器 |
qq | 手机 QQ 内置浏览器 |
wechat | 微信内置浏览器 |
alipay | 支付宝客户端 |
jump | 仅返回系统拼接的支付跳转 URL (纯 API) |
1. 页面跳转支付
接口描述: 此接口常用于前端场景(或收银台重定向)。构造表单并提交,页面将通过浏览器重定向至支付中转页唤起支付。
网关地址: https://web-manage-pay-cert.keda918.top/submit.php
请求方式: POST (推荐) 或 GET
| 字段名 / 变量名 | 类型 | 必填 | 描述与示例 |
|---|---|---|---|
商户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 接口支付
接口描述: 主要用于无前端页面的纯底层后端逻辑对接,直接通过 cURL 请求系统,平台将返回构造好的 URL 链接或唤起特定客户端的协议地址(Scheme)。
网关地址: https://web-manage-pay-cert.keda918.top/mapi.php
请求方式: POST
API 版请求参数与 请求跳转支付 参数几乎完全一致。唯一区别是 type 为必填项,并且必须传入 clientip (用户真实发起请求的 IP,非服务器 IP)。
JSON 返回结果示例:
| 返回值变量 | 类型 | 描述 |
|---|---|---|
code | Int | 1 为成功,其余失败。 |
msg | String | 失败或错误原由描述。 |
trade_no | String | 系统侧生成的唯一交易单号。 |
payurl | String | 结果其一:普通可跳转支付的长链接。 |
qrcode | String | 结果其一:如果接口返回支持该字段,您可将其生成二维码供用户扫码。 |
urlscheme | String | 结果其一:唤起特定 App 的本地直通协议(如 weixin://)。 |
3. 支付结果通知 (异步/同步)
当用户完成交易闭环后,平台服务会通过 GET 机制主动将结果推送至您配置的 notify_url 和 return_url。
可靠性提示
为了保障商业数据的严谨性,请在后台只信赖 notify_url 的回调处理并验证签名。处理完毕后必须直接输出纯文本 success 以切断重发机制。
| 回调变量明细 | 说明 |
|---|---|
pid | 您的商户 ID |
trade_no | 本平台的系统内交易回执单号 |
out_trade_no | 您之前传入的站点自定义订单号 |
type | 用户的最终支付方式通道 |
name | 您发起的商品名称 |
money | 实际用户结算完成金额 |
trade_status | 值为 TRADE_SUCCESS 代表钱已入账 |
param | 您透传携带的冗余业务备忘参数 |
sign / sign_type | 验签对比字段 |
4. [服务端 API] 查询商户信息
网关地址: https://web-manage-pay-cert.keda918.top/api.php?act=query&pid={商户ID}&key={商户密钥}
可实时调用查询当前入驻的账户余额、昨日流水等关键运营指标。
5. [服务端 API] 结算历史追踪
网关地址: https://web-manage-pay-cert.keda918.top/api.php?act=settle&pid={商户ID}&key={商户密钥}
返回 JSON 数组(记录了每一笔清算的流水与状态数据)。
6. [服务端 API] 追单:单笔交易查询
网关地址: https://web-manage-pay-cert.keda918.top/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户单号}
如果服务器因为宕机漏单,您可以通过此接口发起主动确认查询。
7. [服务端 API] 批量交易查询
网关地址: https://web-manage-pay-cert.keda918.top/api.php?act=orders&pid={商户ID}&key={商户密钥}&limit=20&page=1
翻页化查询您的所有充值交易明细历史。
8. [服务端 API] 原路退款指令
网关地址: https://web-manage-pay-cert.keda918.top/api.php?act=refund
请求方式: POST 传递 pid, key, trade_no 或 out_trade_no 以及 退款重算 money。
该接口会尝试走官方逆向结算通道退还用户支付款项(视通道本身能力而定)。