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白名單
- 密鑰記錄
- 銀行卡
- 狀態開關
- 關聯查詢
- 修改密碼
- 用戶登錄設置
- 邀請碼列表
- 添加邀請碼
- 編輯/刪除邀請碼
- 注冊地址
- 用戶菜單
- 添加菜單
- 編輯/刪除用戶菜單
- 查看用戶操作
- 通道管理
- 通道商家
- 添加通道商家
- 編輯/刪除通道商家
- 通道開關
- 交易銀行編碼設置
- 結算銀行編碼設置
- 支付通道
- 添加支付通道
- 編輯/刪除支付通道
- 設置通道賬號
- 廣告跳轉設置
- 掃碼模板設置
- 通道分類
- 添加通道分類
- 編輯/刪除通道分類
- 設置/導出通道分類
- 通道賬號
- 添加通道賬號
- 每日交易總額
- 單筆最小金額
- 交易費率設置
- 充值零頭
- 到賬方案查看
- 賬號密鑰設置
- 編輯/刪除通道賬號
- 賬號輪循設置
- 代付渠道
- 交易設置
- 到賬設置
- 到賬方案列表
- 添加到賬方案
- 批量刪除
- 編輯到賬方案
- 添加凍結方案
- 查看方案使用賬號
- 版本設置
- 添加版本
- 修改版本
- 刪除版本
- 版本列表
- 掃碼模板
- 添加模板
- 編輯模板
- 刪除模板
- 模板列表
- 廣告模板
- 添加廣告模板
- 編輯廣告模板
- 刪除廣告模板
- 廣告模板列表
- 批量刪除廣告模板
- 交易管理
- 交易記錄
- 導出交易記錄
- 查看交易詳情
- 驗證交易狀態
- 修改投訴狀態
- 修改交易類型
- 補單
- 設置提交時間
- 交易日志
- 導出交易訂單
- 資金變動記錄
- 導出資金變動記錄
- 自助交易記錄
- 導出自助交易記錄
- 查看交易記錄
- 驗證自助交易訂單
- 自助交易補單
- 修改自助交易投訴狀態
- 修改自主交易類型
- 結算管理
- 結算設置
- 系統結算設置
- 結算節假日設置
- 結算記錄
- 導出結算記錄
- 查看結算詳情
- 結算訂單處理
- 結算訂單驗證
- 版本設置
- 添加結算版本
- 編輯結算版本
- 刪除結算版本
- 結算版本開關
- 工單管理
- 工單記錄
- 查看溝通記錄
- 刪除工單
- 轉交工單
- 添加到幫助文檔
- 幫助文檔
- 添加幫助文檔
- 編輯幫助文檔
- 查看幫助文檔
- 刪除幫助文檔
- 信息管理
- 郵箱設置
- 短信設置
- 公告管理
- 公告列表
- 添加公告
- 編輯公告
- 刪除公告
- 查看公告