对接信息
以下为您的商户对接参数,请妥善保管商户密钥。
站点地址
http://156.225.30.207:298
商户 PID
1001
商户密钥
123456
创建订单接口
http://156.225.30.207:298/mapi.php
接口列表
所有接口均支持 GET 和 POST 请求方式。
ALL 接口概览
| 接口 | 地址 | 说明 |
|---|---|---|
| mapi.php | http://156.225.30.207:298/mapi.php | 创建订单接口(服务端调用),返回 JSON |
| submit.php | http://156.225.30.207:298/submit.php | 表单提交接口(浏览器跳转),支持 API 模式返回 JSON |
| query.php | http://156.225.30.207:298/query.php | 订单查询接口,通过商户订单号查询支付状态 |
| 异步通知 | notify_url(创建时传入) | 支付成功后服务端异步通知,返回 success 表示接收 |
| 同步跳转 | return_url(创建时传入) | 支付成功后浏览器跳转,附带签名参数 |
签名算法
所有接口签名方式一致,采用 MD5 签名,兼容易支付协议。
签名步骤
- 将所有请求参数(
sign和sign_type除外)按照参数名 ASCII 码从小到大排序(字典序) - 使用
key=value&key=value&格式拼接(末尾带&) - 在拼接字符串末尾追加商户密钥
$secretKey - 对最终字符串计算 MD5 哈希值,即为签名
兼容说明:本系统同时兼容两种签名格式:
末尾带
& 的标准易支付格式(a=1&b=2&key),
以及 acg-faka 等部分发卡网的不带 & 格式(a=1&b=2key)。
PHP 签名示例
function makeSign($params, $secretKey) { // 1. 移除 sign / sign_type unset($params['sign'], $params['sign_type']); // 2. 按 key 字典序排序 ksort($params); // 3. 拼接 & 计算签名 $str = ''; foreach ($params as $k => $v) { if ($v === '' || $v === null) continue; $str .= $k . '=' . $v . '&'; } return md5($str . $secretKey); }
创建订单
向 mapi.php 或 submit.php 发起请求,获取支付链接。
ALL mapi.php / submit.php
| 参数 | 必填 | 说明 |
|---|---|---|
| pid | 必填 | 商户 PID,在后台「系统设置」中查看 |
| type | 必填 | 支付方式:alipay 或 wechat(wxpay 等价) |
| out_trade_no | 必填 | 商户订单号,唯一标识一笔订单 |
| money | 必填 | 订单金额,单位:元,最多两位小数 |
| name | 可选 | 商品名称,会展示在支付页面 |
| notify_url | 可选 | 异步通知地址,支付成功后服务端回调 |
| return_url | 可选 | 同步跳转地址,支付成功后浏览器跳转 |
| sign | 必填 | MD5 签名,按签名算法生成 |
| sign_type | 必填 | 签名类型,固定值 MD5 |
成功响应
{
"code": 1,
"msg": "成功",
"trade_no": "20260723210416af13",
"out_trade_no": "SHOP202607230001",
"type": "alipay",
"name": "测试商品",
"money": "12.34",
"payurl": "https://你的域名/pay.php?order_no=20260723210416af13"
}
PHP 调用示例
$params = [ 'pid' => '1001', 'type' => 'alipay', 'out_trade_no' => 'SHOP' . date('YmdHis') . rand(1000, 9999), 'money' => '12.34', 'name' => '测试商品', 'notify_url' => 'https://你的网站/callback.php', 'return_url' => 'https://你的网站/return.php', 'sign_type' => 'MD5', ]; $secretKey = '你的商户密钥'; $params['sign'] = makeSign($params, $secretKey); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://156.225.30.207:298/mapi.php'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $resp = curl_exec($ch); curl_close($ch); $result = json_decode($resp, true); if ($result['code'] === 1) { // 将用户重定向到 payurl header('Location: ' . $result['payurl']); exit; } else { echo '创建订单失败: ' . $result['msg']; }
订单查询
通过商户订单号查询支付状态。
ALL query.php
| 参数 | 必填 | 说明 |
|---|---|---|
| pid | 必填 | 商户 PID |
| out_trade_no | 必填 | 商户订单号 |
| sign | 必填 | MD5 签名 |
| sign_type | 必填 | 签名类型,固定值 MD5 |
成功响应
{
"code": 1,
"trade_no": "20260723210416af13",
"out_trade_no": "SHOP202607230001",
"type": "alipay",
"name": "测试商品",
"money": "12.34",
"trade_status": "TRADE_SUCCESS",
"callback_time": "2026-07-23 21:05:30"
}
异步通知
支付成功后,系统会向商户的 notify_url 发送 GET 请求,附带签名参数。
通知参数
| 参数 | 说明 |
|---|---|
| pid | 商户 PID |
| trade_no | 系统订单号 |
| out_trade_no | 商户订单号 |
| type | 支付方式:alipay / wechat |
| name | 商品名称 |
| money | 订单金额 |
| trade_status | 支付状态:TRADE_SUCCESS |
| sign | MD5 签名 |
| sign_type | 签名类型:MD5 |
通知处理(PHP 示例)
// callback.php — 您的异步通知接收页面 $params = array_merge($_GET, $_POST); $sign = $params['sign'] ?? ''; unset($params['sign'], $params['sign_type']); $secretKey = '你的商户密钥'; ksort($params); $str = ''; foreach ($params as $k => $v) { if ($v === '' || $v === null) continue; $str .= $k . '=' . $v . '&'; } $mySign = md5($str . $secretKey); if (!hash_equals($mySign, $sign)) { die('签名验证失败'); } // 验签通过,处理业务逻辑 $outTradeNo = $params['out_trade_no']; $money = $params['money']; // ... 更新本地订单状态 ... echo 'success'; // 必须返回 success 表示接收成功
重要:异步通知最多重试 3 次(间隔 5s / 15s / 30s)。
商户收到通知后必须返回纯文本
success(小写),否则系统将重新通知。
请务必验证 sign 签名,防止伪造回调。
常见发卡网对接
以下主流发卡网平台均兼容本系统,选择对应的支付插件即可。
| 发卡网 | 插件 | 接口地址 | 备注 |
|---|---|---|---|
| acg-faka | 易支付 / Epay | submit.php | 支持两种签名格式 |
| 异次元 | 易支付 / Epay | mapi.php | 使用 API 模式 |
| Codepay | 易支付 / Epay | mapi.php | — |
| 风铃发卡 | 易支付 / Epay | submit.php | — |
| 独角数卡 | 易支付 / Epay | mapi.php | — |