diff --git a/app/controller/IndexController.php b/app/controller/IndexController.php index 98f4709..8af6710 100644 --- a/app/controller/IndexController.php +++ b/app/controller/IndexController.php @@ -14,6 +14,11 @@ class IndexController } return View::fetch(); } + public function doc() + { + View::assign('domain', \request()->domain()); + return View::fetch(); + } public function test() { $key = "0383d7088b6947b68e4a626af119e2bd"; diff --git a/route/app.php b/route/app.php index 3f42c6b..611aaad 100644 --- a/route/app.php +++ b/route/app.php @@ -21,3 +21,6 @@ Route::rule('validatePayResult', 'Pay/validatePayResult'); // API多级控制器 Route::rule('api/:controller/:methon', 'api.:controller/:methon'); + +// 开发文档 +Route::rule('doc', 'Index/doc'); \ No newline at end of file diff --git a/view/console/console.html b/view/console/console.html index 8d36733..9df9a1f 100644 --- a/view/console/console.html +++ b/view/console/console.html @@ -202,43 +202,7 @@ -
-
-
-
收益趋势
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
订单趋势
-
- - - -
-
-
-
-
-
-
-
-
-
+
@@ -465,94 +429,7 @@ skin: 'line', }); // 折线图 - var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden'); - const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] - var option = { - backgroundColor: '#fff', - tooltip: { - show: false - }, - grid: { top: '10%', bottom: '6%', left: '6%', right: '6%', containLabel: true }, - xAxis: [{ - type: 'category', boundaryGap: false, - axisLine: { show: false }, - axisTick: { show: false }, - axisLabel: { margin: 10, fontSize: 14, color: 'rgba(#999)' }, - splitLine: { show: true, lineStyle: { color: '#939ab6', opacity: .15 } }, - data: ['10:00', '10:10', '10:10', '10:30', '10:40', '10:50'] - },], - yAxis: [{ - type: 'value', offset: 15, max: 100, min: 0, - axisTick: { show: false }, axisLine: { show: false }, - axisLabel: { margin: 10, fontSize: 14, color: '#999' }, - splitLine: { show: false } - }], - series: [{ - name: '2', type: 'line', z: 3, showSymbol: false, smoothMonotone: 'x', - lineStyle: { - width: 3, color: { - type: 'linear', x: 0, y: 0, x2: 0, y2: 1, - colorStops: [{ - offset: 0, color: 'rgba(59,102,246)' // 0% 处的颜色 - }, { - offset: 1, color: 'rgba(118,237,252)' // 100% 处的颜色 - }] - }, - shadowBlur: 4, - shadowColor: 'rgba(69,126,247,.2)', - shadowOffsetY: 4 - }, - areaStyle: { - color: { - type: 'linear', x: 0, y: 0, x2: 0, y2: 1, - colorStops: [{ - offset: 0, - color: 'rgba(227,233,250,.9)' // 0% 处的颜色 - }, { - offset: 1, - color: 'rgba(248,251,252,.3)' // 100% 处的颜色 - }] - } - }, - smooth: true, - data: [20, 56, 17, 40, 68, 42] - }, { - name: '1', - type: 'line', - showSymbol: false, - smoothMonotone: 'x', - - lineStyle: { - width: 3, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ - offset: 0, - color: 'rgba(255,84,108)' - }, { - offset: 1, - color: 'rgba(252,140,118)' - }], false), - shadowBlur: 4, - shadowColor: 'rgba(253,121,128,.2)', - shadowOffsetY: 4 - }, - areaStyle: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ - offset: 0, - color: 'rgba(255,84,108,.15)' - }, { - offset: 1, - color: 'rgba(252,140,118,0)' - }], false), - }, - smooth: true, - data: [20, 71, 8, 50, 57, 32] - },] - - }; - echartsRecords.setOption(option); - window.onresize = function () { - echartsRecords.resize(); - } + /* 统计图表代码 */ }); diff --git a/view/index/doc.html b/view/index/doc.html new file mode 100644 index 0000000..b481f94 --- /dev/null +++ b/view/index/doc.html @@ -0,0 +1,1364 @@ + + + + + + + + + 开发文档 + + + + + + + + + +

协议规则

+

请求数据格式:application/x-www-form-urlencode

+

返回数据格式:JSON

+

签名算法:MD5

+

字符编码:UTF-8

+

页面跳转支付

+

此接口可用于用户前台直接发起支付,使用form表单跳转或拼接成url跳转。

+

URL地址:/submit.php

+

请求方式:POST 或 GET(推荐POST,不容易被劫持或屏蔽)

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
商户IDpidInt1001
支付方式typeStringalipay支付方式列表
商户订单号out_trade_noString20160806151343349
异步通知地址notify_urlStringhttp://www.pay.com/notify_url.php服务器异步通知地址
跳转通知地址return_urlStringhttp://www.pay.com/return_url.php页面跳转通知地址
商品名称nameStringVIP会员如超过127个字节会自动截取
商品金额moneyString1.00单位:元,最大2位小数
业务扩展参数paramString没有请留空支付后原样返回
签名字符串signString202cb962ac59075b964b07152d234b70签名算法点此查看
签名类型sign_typeStringMD5默认为MD5
+

支付方式(type)不传会跳转到收银台支付

+

API接口支付

+

此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转url。

+

URL地址:/mapi.php

+

请求方式:POST

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
商户IDpidInt1001
支付方式typeStringalipay支付方式列表
商户订单号out_trade_noString20160806151343349
异步通知地址notify_urlStringhttp://www.pay.com/notify_url.php服务器异步通知地址
跳转通知地址return_urlStringhttp://www.pay.com/return_url.php页面跳转通知地址
商品名称nameStringVIP会员如超过127个字节会自动截取
商品金额moneyString1.00单位:元,最大2位小数
用户IP地址clientipString192.168.1.100用户发起支付的IP地址
设备类型deviceStringpc根据当前用户浏览器的UA判断,传入用户所使用的浏览器或设备类型,默认为pc设备类型列表
业务扩展参数paramString没有请留空支付后原样返回
签名字符串signString202cb962ac59075b964b07152d234b70签名算法点此查看
签名类型sign_typeStringMD5默认为MD5
+

返回结果(json):

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString失败时返回原因
订单号trade_noString20160806151343349支付订单号
支付跳转urlpayurlString/pay/wxpay/202010903/ + 如果返回该字段,则直接跳转到该url支付
二维码链接qrcodeStringweixin://wxpay/bizpayurl?pr=04IPMKM如果返回该字段,则根据该url生成二维码
小程序跳转urlurlschemeStringweixin://dl/business/?ticket=xxx如果返回该字段,则使用js跳转该url,可发起微信小程序支付
+

注:payurl、qrcode、urlscheme 三个参数只会返回其中一个

+

支付结果通知

+

通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)

+

请求方式:GET

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
商户IDpidInt1001
易支付订单号trade_noString20160806151343349021聚合易支付订单号
商户订单号out_trade_noString20160806151343349商户系统内部的订单号
支付方式typeStringalipay支付方式列表
商品名称nameStringVIP会员
商品金额moneyString1.00
支付状态trade_statusStringTRADE_SUCCESS只有TRADE_SUCCESS是成功
业务扩展参数paramString
签名字符串signString202cb962ac59075b964b07152d234b70签名算法点此查看
签名类型sign_typeStringMD5默认为MD5
+

收到异步通知后,需返回success以表示服务器接收到了订单通知

+

MD5签名算法

+

1、将发送或接收到的所有参数按照参数名ASCII码从小到大排序(a-z),sign、sign_type、和空值不参与签名!

+

2、将排序后的参数拼接成URL键值对的格式,例如 a=b&c=d&e=f,参数值不要进行url编码。

+

3、再将拼接好的字符串与商户密钥KEY进行MD5加密得出sign签名参数,sign = md5 ( a=b&c=d&e=f + KEY ) (注意:+ + 为各语言的拼接符,不是字符!),md5结果为小写。

+

4、具体签名与发起支付的示例代码可下载SDK查看。

+

支付方式列表

+ + + + + + + + + + + + + + + + + +
调用值描述
alipay支付宝
wxpay微信支付
+

设备类型列表

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
调用值描述
pc电脑浏览器
mobile手机浏览器
qq手机QQ内浏览器
wechat微信内浏览器
alipay支付宝客户端
+
+

[API]查询商户信息

+

URL地址:/api.php?act=query&pid={商户ID}&key={商户密钥} +

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
操作类型actStringquery此API固定值
商户IDpidInt1001
商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
+

返回结果:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
商户IDpidInt1001商户ID
商户密钥keyString(32)89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i商户密钥
商户状态activeInt11为正常,0为封禁
商户余额moneyString0.00商户所拥有的余额
结算方式typeInt11:支付宝,2:微信,3:QQ,4:银行卡
结算账号accountStringadmin@pay.com结算的支付宝账号
结算姓名usernameString张三结算的支付宝姓名
订单总数ordersInt30订单总数统计
今日订单order_todayInt15今日订单数量
昨日订单order_lastdayInt15昨日订单数量
+

[API]查询结算记录

+

URL地址:/api.php?act=settle&pid={商户ID}&key={商户密钥} +

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
操作类型actStringsettle此API固定值
商户IDpidInt1001
商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
+

返回结果:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString查询结算记录成功!
结算记录dataArray结算记录列表
+

[API]查询单个订单

+

URL地址:/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号} +

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
操作类型actStringorder此API固定值
商户IDpidInt1001
商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
系统订单号trade_no选择String20160806151343312
商户订单号out_trade_no选择String20160806151343349
+

提示:系统订单号 和 商户订单号 二选一传入即可,如果都传入以系统订单号为准!

+

返回结果:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString查询订单号成功!
易支付订单号trade_noString2016080622555342651聚合易支付订单号
商户订单号out_trade_noString20160806151343349商户系统内部的订单号
第三方订单号api_trade_noString20160806151343349支付宝微信等接口方订单号
支付方式typeStringalipay支付方式列表
商户IDpidInt1001发起支付的商户ID
创建订单时间addtimeString2016-08-06 22:55:52
完成交易时间endtimeString2016-08-06 22:55:52
商品名称nameStringVIP会员
商品金额moneyString1.00
支付状态statusInt01为支付成功,0为未支付
业务扩展参数paramString默认留空
支付者账号buyerString默认留空
+

[API]批量查询订单

+

URL地址:/api.php?act=orders&pid={商户ID}&key={商户密钥} +

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
操作类型actStringorders此API固定值
商户IDpidInt1001
商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
查询订单数量limitInt20返回的订单数量,最大50
页码pageInt1当前查询的页码
+

返回结果:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString查询结算记录成功!
订单列表dataArray订单列表
+

[API]提交订单退款

+

需要先在商户后台开启订单退款API接口开关,才能调用该接口发起订单退款

+

URL地址:/api.php?act=refund

+

请求方式:POST

+

请求参数说明:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名必填类型示例值描述
商户IDpidInt1001
商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
易支付订单号trade_no特殊可选String20160806151343349021易支付订单号
商户订单号out_trade_no特殊可选String20160806151343349订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一
退款金额moneyString1.50少数通道需要与原订单金额一致
+

注:trade_no、out_trade_no 不能同时为空,如果都传了以trade_no为准

+

返回结果:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString退款成功
+ + + + + \ No newline at end of file diff --git a/view/index/index.html b/view/index/index.html index 9048c10..e9c6475 100644 --- a/view/index/index.html +++ b/view/index/index.html @@ -83,8 +83,7 @@