更新接口文档

This commit is contained in:
技术老胡 2025-03-18 12:47:04 +08:00
parent a05a5710af
commit d570aa88b3

View File

@ -8,7 +8,6 @@
<head>
<title>开发文档</title>
</head>
<link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/KaTeX/0.7.1/katex.min.css">
<link rel="stylesheet" type="text/css"
href="https://cdn.jsdelivr.net/gh/pandao/editor.md@1.5.0/css/editormd.min.css">
<style type="text/css">
@ -339,13 +338,111 @@
list-style-type: decimal !important;
}
</style>
<style type="text/css">
/* 新增样式 */
.doc-container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.doc-nav {
position: fixed;
left: 20px;
top: 100px;
width: 200px;
background: #f8f9fa;
padding: 15px;
border-radius: 4px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 992px) {
.doc-nav {
display: none;
/* 小屏幕隐藏导航栏 */
}
}
.doc-nav a {
display: block;
padding: 8px 12px;
color: #333;
text-decoration: none;
border-radius: 4px;
transition: all 0.3s;
}
.doc-nav a:hover {
background: #e9ecef;
}
table {
width: 100%;
margin: 20px 0;
border-collapse: collapse;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
table th {
background: #f8f9fa;
font-weight: 600;
padding: 12px;
text-align: left;
}
table td {
padding: 12px;
border-top: 1px solid #eee;
}
table tr:nth-child(even) {
background: #f8f9fa;
}
table tr:hover {
background: #f1f3f5;
}
code {
background: #f8f9fa;
padding: 2px 6px;
border-radius: 4px;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}
pre code {
display: block;
padding: 15px;
background: #f8f9fa;
border-radius: 4px;
overflow-x: auto;
}
h3 {
margin-top: 40px;
padding-bottom: 10px;
border-bottom: 2px solid #eee;
}
</style>
<body>
<!-- <a href="javascript:window.print();" class="print-btn">打印(Print)</a> -->
<!-- MarkDown Content -->
<div class="doc-container">
<!-- 新增导航菜单 -->
<div class="doc-nav">
<a href="#toc2">协议规则</a>
<a href="#pay0">页面跳转支付</a>
<a href="#pay1">API接口支付</a>
<a href="#pay2">支付结果通知</a>
<a href="#pay3">MD5签名算法</a>
<a href="#pay4">支付方式列表</a>
<a href="#pay5">设备类型列表</a>
</div>
<h3 id="toc2"><a name="协议规则" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>协议规则</h3>
class="header-link octicon octicon-link"></span>协议规则
</h3>
<p>请求数据格式application/x-www-form-urlencode</p>
<p>返回数据格式JSON</p>
<p>签名算法MD5</p>
@ -353,7 +450,9 @@
<h3 id="pay0"><a name="页面跳转支付" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>页面跳转支付</h3>
<p>此接口可用于用户前台直接发起支付使用form表单跳转或拼接成url跳转。</p>
<p>URL地址<a href="javascript:void(0);"><?php echo $domain ?>/submit.php</a></p>
<p>URL地址<a href="javascript:void(0);">
<?php echo $domain ?>/submit.php
</a></p>
<p>请求方式POST 或 GET推荐POST不容易被劫持或屏蔽</p>
<p>请求参数说明:</p>
<table>
@ -454,7 +553,9 @@
<h3 id="pay1"><a name="API接口支付" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>API接口支付</h3>
<p>此接口可用于服务器后端发起支付请求会返回支付二维码链接或支付跳转url。</p>
<p>URL地址<a href="javascript:void(0);"><?php echo $domain ?>/mapi.php</a></p>
<p>URL地址<a href="javascript:void(0);">
<?php echo $domain ?>/mapi.php
</a></p>
<p>请求方式POST</p>
<p>请求参数说明:</p>
<table>
@ -604,8 +705,9 @@
<td>支付跳转url</td>
<td>payurl</td>
<td>String</td>
<td><a
href="javascript:void(0);"><?php echo $domain ?>/pay/wxpay/202010903/</a>
<td><a href="javascript:void(0);">
<?php echo $domain ?>/pay/wxpay/202010903/
</a>
</td>
<td>如果返回该字段则直接跳转到该url支付</td>
</tr>
@ -790,579 +892,7 @@
</tbody>
</table>
<hr>
<h3 id="api1"><a name="[API]查询商户信息" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>[API]查询商户信息</h3>
<p>URL地址<a
href="javascript:void(0);"><?php echo $domain ?>/api.php?act=query&amp;pid={商户ID}&amp;key={商户密钥}</a>
</p>
<p>请求参数说明:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>操作类型</td>
<td>act</td>
<td></td>
<td>String</td>
<td>query</td>
<td>此API固定值</td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td></td>
<td>Int</td>
<td>1001</td>
<td></td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td></td>
<td>String</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td></td>
</tr>
</tbody>
</table>
<p>返回结果:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>code</td>
<td>Int</td>
<td>1</td>
<td>1为成功其它值为失败</td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td>Int</td>
<td>1001</td>
<td>商户ID</td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td>String(32)</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td>商户密钥</td>
</tr>
<tr>
<td>商户状态</td>
<td>active</td>
<td>Int</td>
<td>1</td>
<td>1为正常0为封禁</td>
</tr>
<tr>
<td>商户余额</td>
<td>money</td>
<td>String</td>
<td>0.00</td>
<td>商户所拥有的余额</td>
</tr>
<tr>
<td>结算方式</td>
<td>type</td>
<td>Int</td>
<td>1</td>
<td>1:支付宝,2:微信,3:QQ,4:银行卡</td>
</tr>
<tr>
<td>结算账号</td>
<td>account</td>
<td>String</td>
<td><a href="javascript:void(0);">admin@pay.com</a></td>
<td>结算的支付宝账号</td>
</tr>
<tr>
<td>结算姓名</td>
<td>username</td>
<td>String</td>
<td>张三</td>
<td>结算的支付宝姓名</td>
</tr>
<tr>
<td>订单总数</td>
<td>orders</td>
<td>Int</td>
<td>30</td>
<td>订单总数统计</td>
</tr>
<tr>
<td>今日订单</td>
<td>order_today</td>
<td>Int</td>
<td>15</td>
<td>今日订单数量</td>
</tr>
<tr>
<td>昨日订单</td>
<td>order_lastday</td>
<td>Int</td>
<td>15</td>
<td>昨日订单数量</td>
</tr>
</tbody>
</table>
<h3 id="api2"><a name="[API]查询结算记录" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>[API]查询结算记录</h3>
<p>URL地址<a
href="javascript:void(0);"><?php echo $domain ?>/api.php?act=settle&amp;pid={商户ID}&amp;key={商户密钥}</a>
</p>
<p>请求参数说明:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>操作类型</td>
<td>act</td>
<td></td>
<td>String</td>
<td>settle</td>
<td>此API固定值</td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td></td>
<td>Int</td>
<td>1001</td>
<td></td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td></td>
<td>String</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td></td>
</tr>
</tbody>
</table>
<p>返回结果:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>code</td>
<td>Int</td>
<td>1</td>
<td>1为成功其它值为失败</td>
</tr>
<tr>
<td>返回信息</td>
<td>msg</td>
<td>String</td>
<td>查询结算记录成功!</td>
<td></td>
</tr>
<tr>
<td>结算记录</td>
<td>data</td>
<td>Array</td>
<td>结算记录列表</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="api3"><a name="[API]查询单个订单" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>[API]查询单个订单</h3>
<p>URL地址<a
href="javascript:void(0);"><?php echo $domain ?>/api.php?act=order&amp;pid={商户ID}&amp;key={商户密钥}&amp;out_trade_no={商户订单号}</a>
</p>
<p>请求参数说明:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>操作类型</td>
<td>act</td>
<td></td>
<td>String</td>
<td>order</td>
<td>此API固定值</td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td></td>
<td>Int</td>
<td>1001</td>
<td></td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td></td>
<td>String</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td></td>
</tr>
<tr>
<td>系统订单号</td>
<td>trade_no</td>
<td>选择</td>
<td>String</td>
<td>20160806151343312</td>
<td></td>
</tr>
<tr>
<td>商户订单号</td>
<td>out_trade_no</td>
<td>选择</td>
<td>String</td>
<td>20160806151343349</td>
<td></td>
</tr>
</tbody>
</table>
<p>提示:系统订单号 和 商户订单号 二选一传入即可,如果都传入以系统订单号为准!</p>
<p>返回结果:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>code</td>
<td>Int</td>
<td>1</td>
<td>1为成功其它值为失败</td>
</tr>
<tr>
<td>返回信息</td>
<td>msg</td>
<td>String</td>
<td>查询订单号成功!</td>
<td></td>
</tr>
<tr>
<td>易支付订单号</td>
<td>trade_no</td>
<td>String</td>
<td>2016080622555342651</td>
<td>聚合易支付订单号</td>
</tr>
<tr>
<td>商户订单号</td>
<td>out_trade_no</td>
<td>String</td>
<td>20160806151343349</td>
<td>商户系统内部的订单号</td>
</tr>
<tr>
<td>第三方订单号</td>
<td>api_trade_no</td>
<td>String</td>
<td>20160806151343349</td>
<td>支付宝微信等接口方订单号</td>
</tr>
<tr>
<td>支付方式</td>
<td>type</td>
<td>String</td>
<td>alipay</td>
<td><a href="#pay4">支付方式列表</a></td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td>Int</td>
<td>1001</td>
<td>发起支付的商户ID</td>
</tr>
<tr>
<td>创建订单时间</td>
<td>addtime</td>
<td>String</td>
<td>2016-08-06 22:55:52</td>
<td></td>
</tr>
<tr>
<td>完成交易时间</td>
<td>endtime</td>
<td>String</td>
<td>2016-08-06 22:55:52</td>
<td></td>
</tr>
<tr>
<td>商品名称</td>
<td>name</td>
<td>String</td>
<td>VIP会员</td>
<td></td>
</tr>
<tr>
<td>商品金额</td>
<td>money</td>
<td>String</td>
<td>1.00</td>
<td></td>
</tr>
<tr>
<td>支付状态</td>
<td>status</td>
<td>Int</td>
<td>0</td>
<td>1为支付成功0为未支付</td>
</tr>
<tr>
<td>业务扩展参数</td>
<td>param</td>
<td>String</td>
<td></td>
<td>默认留空</td>
</tr>
<tr>
<td>支付者账号</td>
<td>buyer</td>
<td>String</td>
<td></td>
<td>默认留空</td>
</tr>
</tbody>
</table>
<h3 id="api4"><a name="[API]批量查询订单" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>[API]批量查询订单</h3>
<p>URL地址<a
href="javascript:void(0);"><?php echo $domain ?>/api.php?act=orders&amp;pid={商户ID}&amp;key={商户密钥}</a>
</p>
<p>请求参数说明:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>操作类型</td>
<td>act</td>
<td></td>
<td>String</td>
<td>orders</td>
<td>此API固定值</td>
</tr>
<tr>
<td>商户ID</td>
<td>pid</td>
<td></td>
<td>Int</td>
<td>1001</td>
<td></td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td></td>
<td>String</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td></td>
</tr>
<tr>
<td>查询订单数量</td>
<td>limit</td>
<td></td>
<td>Int</td>
<td>20</td>
<td>返回的订单数量最大50</td>
</tr>
<tr>
<td>页码</td>
<td>page</td>
<td></td>
<td>Int</td>
<td>1</td>
<td>当前查询的页码</td>
</tr>
</tbody>
</table>
<p>返回结果:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>code</td>
<td>Int</td>
<td>1</td>
<td>1为成功其它值为失败</td>
</tr>
<tr>
<td>返回信息</td>
<td>msg</td>
<td>String</td>
<td>查询结算记录成功!</td>
<td></td>
</tr>
<tr>
<td>订单列表</td>
<td>data</td>
<td>Array</td>
<td></td>
<td>订单列表</td>
</tr>
</tbody>
</table>
<h3 id="api5"><a name="[API]提交订单退款" class="reference-link"></a><span
class="header-link octicon octicon-link"></span>[API]提交订单退款</h3>
<p>需要先在商户后台开启订单退款API接口开关才能调用该接口发起订单退款</p>
<p>URL地址<a href="javascript:void(0);"><?php echo $domain ?>/api.php?act=refund</a></p>
<p>请求方式POST</p>
<p>请求参数说明:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>商户ID</td>
<td>pid</td>
<td></td>
<td>Int</td>
<td>1001</td>
<td></td>
</tr>
<tr>
<td>商户密钥</td>
<td>key</td>
<td></td>
<td>String</td>
<td>89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i</td>
<td></td>
</tr>
<tr>
<td>易支付订单号</td>
<td>trade_no</td>
<td>特殊可选</td>
<td>String</td>
<td>20160806151343349021</td>
<td>易支付订单号</td>
</tr>
<tr>
<td>商户订单号</td>
<td>out_trade_no</td>
<td>特殊可选</td>
<td>String</td>
<td>20160806151343349</td>
<td>订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一</td>
</tr>
<tr>
<td>退款金额</td>
<td>money</td>
<td></td>
<td>String</td>
<td>1.50</td>
<td>少数通道需要与原订单金额一致</td>
</tr>
</tbody>
</table>
<p>trade_no、out_trade_no 不能同时为空如果都传了以trade_no为准</p>
<p>返回结果:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>code</td>
<td>Int</td>
<td>1</td>
<td>1为成功其它值为失败</td>
</tr>
<tr>
<td>返回信息</td>
<td>msg</td>
<td>String</td>
<td>退款成功</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<!-- /MarkDown Content -->
</body>
<html>