商户对接文档

兼容易支付协议 · 支持支付宝 / 微信支付 · 快速接入

对接信息

以下为您的商户对接参数,请妥善保管商户密钥。

站点地址
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 签名,兼容易支付协议。

签名步骤
  1. 将所有请求参数(sign 和 sign_type 除外)按照参数名 ASCII 码从小到大排序(字典序)
  2. 使用 key=value&key=value& 格式拼接(末尾带 &)
  3. 在拼接字符串末尾追加商户密钥 $secretKey
  4. 对最终字符串计算 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
signMD5 签名
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 —