## 插件文件说明
支付插件全部放在plugins目录下,可以参考其他插件进行开发。
例如一个支付插件名字是abcpay,则插件代码应该在/plugins/abcpay/abcpay\_plugin.php里面。
## 插件方法说明
在插件代码里面$info是插件信息
接着是定义插件方法,public的方法可以直接通过地址栏访问,所有需要访问的插件方法都不能有方法参数,访问规则如下:
[http://你的域名/pay/方法名称/订单号/](http://xn--6qqv7i2xdt95b/pay/%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0/%E8%AE%A2%E5%8D%95%E5%8F%B7/)
跳转支付接口的入口方法是submit(),API接口支付的入口方法是mapi(),这2个方法名称是系统固定的,submit()方法不能没有,mapi()方法可以没有。
剩余的方法可以自行实现具体的支付页面与回调页面。
## 插件方法返回值说明
返回值格式:
| 返回类型 | 返回代码 |
| --- | --- |
| 跳转到url | \['type'=>'jump','url'=>'跳转到的链接'\] |
| 显示html代码 | \['type'=>'html','data'=>'HTML代码'\] |
| 显示json字符串 | \['type'=>'json','data'=>{JSON数组}\] |
| 显示指定页面 | \['type'=>'page','page'=>'页面文件名称','data'=>{变量数组}\] |
| 显示扫码页面 | \['type'=>'qrcode','page'=>'页面文件名称','url'=>'二维码链接'\] |
| 显示小程序跳转页面 | \['type'=>'scheme','page'=>'页面文件名称','url'=>'小程序跳转链接'\] |
| 返回错误提示 | \['type'=>'error','msg'=>'提示内容'\] |
注:以上的“页面文件名称”,均为/includes/pages/目录下的文件名,不包含后缀名。