1. 在 **管理后台** > **系统设置** > **接口设置** 栏目里新增一条记录
> 接口版本号:用来区分不同的支付接口方案。例如: v1.0.1
> 控制器名称:支付接口方案对应的控制器类名。例如:Defaultversion
2. 在 /Application/Version/Controller/ 目录下新建一个 DefaultversionController.class.php 文件,继承于 VersionController 父类
~~~
namespace Version\Controller;
use Think\Controller;
class DefaultversionController extends VersionController{
}
~~~
3. 定义两个全局变里
| 参数名 | 数据类型 | 说明 |
| --- | --- | --- |
| parameterarray | 数组 | 提交时必填参数 |
| encryptedFields | 数组 | 参与加密验名的参数 |
~~~
protected $parameterarray = ['version','memberid', 'orderid', 'amount', 'orderdatetime', 'notifyurl', 'paytype', 'signmethod', 'sign']; //用户自己选择的参数,必填
protected $encryptedFields = ['version','memberid', 'orderid', 'amount', 'orderdatetime', 'notifyurl', 'paytype', 'signmethod']; //签名需要的字段
~~~
4. 需要在 DefaultversionController.class.php 里实现如下几个方法:
| 方法名 | 说明 | 参数 | 说明 | 返回值 |
| --- | --- | --- | --- |--- |
| CheckParameterCorrect | 检查收到的参数是否合法 | $parameter | 用户提交的所有参数 | 如果所有参数都合法返回TRUE, 如果有不合法的返回FALSE,并将错误信息复制给 $this->returnJson["msg"] |
| GetUserId | 通道用户提交过来的商户编号获取系统内的用户ID | $parameter | 用户提交的所有参数 | 返回获取到的系统内的用户ID |
| GetSecretKey | 通道用户ID获取用户的密钥数据 | $userid | 用户ID | 返回用户的密钥数据 |
| DecryptData | 解密用户提交过来的加密参数 | $parameter, $secretkey | 用户提交的所有参数,用户的密钥数据 | 返回解密后的所有用户提交参数 |
| CheckSign | 验证数据签名 | $parameter, $signdata, $secretkey | 用户提交的所有参数,解密后的所有参数,用户的密钥数据 | 如果签名验证合法返回TRUE, 如果有不合法的返回FALSE,并将错误信息复制给 $this->returnJson["msg"] |
5. 通过实现方法 FormatData 把自定义接口参数转换成系统标准参数
| 方法名 | 说明 | 参数 | 说明 | 返回值 |
| --- | --- | --- | --- | --- |
| FormatData | 把自定义接口参数转换成系统标准参数 | $parameter | 用户提交的所有参数 | 返回系统标准参数数组 |
6. 交易请求系统标准参数说明:
| 参数名 | 说明 |
| --- | --- |
| userid | 用户ID |
| amount | 交易金额,单位:元 |
| orderid | 用户提交的交易订单号 |
| callbackurl | 页面跳转回调地址 |
| notifyurl | 异步回调地址 |
| orderdatetime| 交易订单提交时间 |
| tongdao | 通道分类编码 |
| bankcode| 银行编码 |
| version | 自定义支付接口版本号 |
| extend | 扩展字段 |
| other | 回调时原样返回的数据,数据类型为 数组 |
7. 回调时首先通过实现 ReturnData 方法 ,把系统返回的标准参数转换成自定义支付接口的自定义参数:
| 方法名 | 说明 | 参数 | 说明 | 返回值 |
| --- | --- | --- | --- | --- |
| ReturnData | 把成系统标准参数转换成自定支付接口的自定义参数 | $parameter | 系统返回的标准参数 | 返回自定支付接口的自定义参数 |
8. 回调系统标准参数说明:
| 参数名 | 说明 |
| --- | --- |
| userid | 用户ID |
| amount | 交易金额,单位:元 |
| orderid | 用户提交的交易订单号 |
| amount_trade| 交易手续费 |
| datetime | 交易时间 |
| tongdao | 通道分类编码 |
| version | 自定义支付接口版本号 |
| other | 回调时原样返回的数据,数据类型为 数组 |
9. 实现 callbackurl 方法,实现自定义的页面跳转回调业务逻辑
10. 实现 notifyurl 方法,实现自定义的异步回调的业务逻辑,并返回收到的响应数据
- 序言
- 开发日志
- 环境要求
- 支付接口
- 支付接口介绍
- 自定义支付接口
- 系统功能大纲
- 用户后台
- 账号管理
- 账号信息
- 认证信息
- 密钥管理
- 登录记录
- 操作记录
- 子账号管理
- 子账号列表
- 添加子账号
- 编辑子账号
- 删除子账号
- 密码管理
- IP白名单
- 子账号状态
- 分配角色
- 谷歌验证
- 账号登录设置
- 角色列表
- 添加角色
- 编辑角色
- 删除角色
- 分配权限
- 角色状态
- 代理专区
- 邀请码
- 添加邀请码
- 编辑邀请码
- 删除邀请码
- 下级商户
- 通道分类
- 查看下级
- 分润记录
- 查看分润
- 导出分润记录
- 交易管理
- 交易通道
- 交易记录
- 导出交易记录
- 查看交易详情
- 修改提交时间
- 资金变动记录
- 导出记录
- 选择统计模板
- 自助收银设置
- 结算管理
- 结算设置
- 结算银行
- 添加结算银行
- 编辑结算银行
- 删除结算银行
- 银行状态
- 默认银行
- 结算申请
- 单笔结算
- 批量结算
- 结算记录
- 查看结算信息
- 退款
- 导出结算记录
- 工单管理
- 工单记录
- 帮助文档
- 公告管理
- 公告列表
- 自动通道
- 通道账号
- 添加账号
- 编辑账号
- 单笔限额设置
- 费率设置
- 账号设置
- 默认状态设置
- 修改状态
- 删除账号
- 交易记录
- 通道设置
- 指定通道
- 管理后台
- 系统设置
- 基本设置
- 网站设置
- 域名设置
- 开关设置
- 提成等级设置
- 登录设置
- 注册设置
- 银行设置
- 添加银行
- 编辑银行
- 删除银行
- 应用开关
- 导出银行
- 登录设置
- 添加登录模板
- 编辑登录模板
- 删除登录模板
- 默认模板开关
- 统计模板
- 添加统计模板
- 编辑统计模板
- 删除统计模板
- 风控设置
- IP黑名单
- 域名黑名单
- 手机号黑名单
- 身份证黑名单
- 银行卡黑名单
- 管理员管理
- 管理员列表
- 添加管理员
- 编辑管理员
- 删除管理员
- 管理/登录密码
- 账号登录设置
- 验证码开关
- 管理员状态
- 分配角色
- 分配统计模板
- 角色列表
- 添加角色
- 编辑角色
- 删除角色
- 分配权限
- 角色状态
- 菜单列表
- 添加菜单
- 编辑菜单
- 删除菜单
- 查看操作
- 用户管理
- 用户列表
- 添加用户
- 删除用户
- 编辑用户
- 用户信息
- 用户基本信息
- 用户认证信息
- 用户谷歌验证
- 用户通道设置
- 用户结算设置
- 用户提成设置
- 用户提成记录
- 用户登录记录
- 用户操作记录
- 用户交易版本
- 用户结算版本
- 用户充值设置
- 自助收银设置
- 自助通道设置
- 生成商户号
- 金额管理
- 密钥/域名
- MD5密钥
- 系统公钥
- 系统私钥
- 用户密钥
- 绑定域名
- IP白名单
- 密钥记录
- 银行卡
- 状态开关
- 关联查询
- 修改密码
- 用户登录设置
- 邀请码列表
- 添加邀请码
- 编辑/删除邀请码
- 注册地址
- 用户菜单
- 添加菜单
- 编辑/删除用户菜单
- 查看用户操作
- 通道管理
- 通道商家
- 添加通道商家
- 编辑/删除通道商家
- 通道开关
- 交易银行编码设置
- 结算银行编码设置
- 支付通道
- 添加支付通道
- 编辑/删除支付通道
- 设置通道账号
- 广告跳转设置
- 扫码模板设置
- 通道分类
- 添加通道分类
- 编辑/删除通道分类
- 设置/导出通道分类
- 通道账号
- 添加通道账号
- 每日交易总额
- 单笔最小金额
- 交易费率设置
- 充值零头
- 到账方案查看
- 账号密钥设置
- 编辑/删除通道账号
- 账号轮循设置
- 代付渠道
- 交易设置
- 到账设置
- 到账方案列表
- 添加到账方案
- 批量删除
- 编辑到账方案
- 添加冻结方案
- 查看方案使用账号
- 版本设置
- 添加版本
- 修改版本
- 删除版本
- 版本列表
- 扫码模板
- 添加模板
- 编辑模板
- 删除模板
- 模板列表
- 广告模板
- 添加广告模板
- 编辑广告模板
- 删除广告模板
- 广告模板列表
- 批量删除广告模板
- 交易管理
- 交易记录
- 导出交易记录
- 查看交易详情
- 验证交易状态
- 修改投诉状态
- 修改交易类型
- 补单
- 设置提交时间
- 交易日志
- 导出交易订单
- 资金变动记录
- 导出资金变动记录
- 自助交易记录
- 导出自助交易记录
- 查看交易记录
- 验证自助交易订单
- 自助交易补单
- 修改自助交易投诉状态
- 修改自主交易类型
- 结算管理
- 结算设置
- 系统结算设置
- 结算节假日设置
- 结算记录
- 导出结算记录
- 查看结算详情
- 结算订单处理
- 结算订单验证
- 版本设置
- 添加结算版本
- 编辑结算版本
- 删除结算版本
- 结算版本开关
- 工单管理
- 工单记录
- 查看沟通记录
- 删除工单
- 转交工单
- 添加到帮助文档
- 帮助文档
- 添加帮助文档
- 编辑帮助文档
- 查看帮助文档
- 删除帮助文档
- 信息管理
- 邮箱设置
- 短信设置
- 公告管理
- 公告列表
- 添加公告
- 编辑公告
- 删除公告
- 查看公告