aimanongpay聚合支付系統(tǒng)
《易吉聚合支付系統(tǒng) V1.0》(下面簡稱:本系統(tǒng))是 武漢愛碼農(nóng)網(wǎng)絡(luò)科技有限公司(下面簡稱:本公司) 于 2018 年 9 月 至 2019 年 4 月 基于 Layui + ThinkPHP3.2.3 + MySQL 開發(fā)完成的一款聚合支付系統(tǒng)。
本系統(tǒng)可以做為類似掃唄、付唄這種線下聚合碼支付的服務(wù)端后臺程序
PHP 版本要求
- PHP5.3 以上版本(注意:PHP5.3dev 版本和 PHP6 均不支持)
MySQL 版本要求
- MySQL5.6 以上版本
推薦服務(wù)器環(huán)境和配置
- 推薦服務(wù)器系統(tǒng) CentOS Linux 7.6(64 位)
- 推薦 WEB 服務(wù)器 Apache 和 nginx
- 推薦獨(dú)立數(shù)據(jù)庫服務(wù)器
- 硬件配置:CPU 8 核以上,內(nèi)存 8G 以上,網(wǎng)絡(luò)帶寬 100M 以上,硬盤 100G 以上
演示網(wǎng)址
- 管理后臺地址:http://www.jhfu.net/amnadmin
- 管理賬號: admin 管理密碼:請?jiān)儐柨头?/li>
- 用戶前臺地址:http://www.jhfu.net/User/UserLogin/index.html
- 用戶名:zyzyzzy 登錄密碼:123456
如果您了解或使用過其它的聚合支付系統(tǒng)程序,您是否遇到過以下幾個問題:
- 與您使用同一個聚合支付系統(tǒng)程序的商家對外開放出來的支付接口的文檔、提交參數(shù)名稱、加密驗(yàn)簽的方法等都是固定一樣的。您的用戶通過支付接口的文檔或提交參數(shù)名稱就可以知道您用的是哪家的聚合支付系統(tǒng)程序。對您自身品牌的建立非常不利,也不能在用戶面前體現(xiàn)出您的實(shí)力來。
- 因?yàn)槟褂玫倪@個聚合支付系統(tǒng)程序同時有很多商家在使用,所以您開放出來的支付接口的內(nèi)部邏輯就成了一個公開的秘密,這樣會給別有用心想攻擊您系統(tǒng)的人提供極大的便利,經(jīng)常受到一些莫名其妙的攻擊。
- 如果您的客戶以前接入過其它的通道,現(xiàn)在要接入您的通道,必須要客戶按您的支付接口文檔來修改他們的程序代碼,才能使用您的通道。如果您客戶沒有專職的技術(shù)人員,這個接入成本就比較大。
- 如果您打算更換一套聚合支付系統(tǒng)程序,必須要您已有的客戶全部按你新的聚合支付系統(tǒng)的支付接口文檔來修改他們的程序代碼,才能過渡到您新使用的聚合支付系統(tǒng)上來。
針對以上幾個問題,易吉聚合支付系統(tǒng)對支付接口進(jìn)行了創(chuàng)新性的改造,實(shí)現(xiàn)了以下幾個功能:
- 可以自定義專屬于自己的支付接口方案,包括自定義的接口文檔,提交參數(shù)名,加密驗(yàn)簽方法。
- 可以單獨(dú)的為某一個客戶自定義一個專屬于這個客戶的支付接口方案。如果這個客戶接入過其它的通道,現(xiàn)在要接入使用您的通道,但客戶沒有專職的技術(shù)人員,無法自行修改程序代碼,您可以按這個客戶已接入過的通道的規(guī)則在易吉聚合支付系統(tǒng)里自定義一套專于這個客戶的支付接口方案,這個用戶就可以只修改提交地址,不修改任何的通道代碼的情況下快速的使用您的通道。極大的降低了您的客戶接入使用你的通道的成本。
- 如果您想從其它的程序轉(zhuǎn)到易吉聚合支付系統(tǒng)來,只需要在易吉聚合支付系統(tǒng)里自定義一套您原來程序的支付接口方案,就可以讓您原來的用戶零技術(shù)成本的轉(zhuǎn)到易吉聚合支付系統(tǒng)里來。
自定義接口舉例
- 在 管理后臺 > 系統(tǒng)設(shè)置 > 接口設(shè)置 欄目里新增一條記錄
- 接口版本號:用來區(qū)分不同的支付接口方案。例如: v1.0.1
- 控制器名稱:支付接口方案對應(yīng)的控制器類名。例如:Defaultversion
- 在 /Application/Version/Controller/ 目錄下新建一個 DefaultversionController.class.php 文件,繼承于 VersionController 父類
namespace Version\Controller;
use Think\Controller;
class DefaultversionController extends VersionController{
}
- 定義兩個全局變里
| 參數(shù)名 | 數(shù)據(jù)類型 | 說明 |
|---|---|---|
| parameterarray | 數(shù)組 | 提交時必填參數(shù) |
| encryptedFields | 數(shù)組 | 參與加密驗(yàn)名的參數(shù) |
protected $parameterarray = ['version','memberid', 'orderid', 'amount', 'orderdatetime', 'notifyurl', 'paytype', 'signmethod', 'sign']; //用戶自己選擇的參數(shù),必填 protected $encryptedFields = ['version','memberid', 'orderid', 'amount', 'orderdatetime', 'notifyurl', 'paytype', 'signmethod']; //簽名需要的字段
- 需要在 DefaultversionController.class.php 里實(shí)現(xiàn)如下幾個方法:
| 方法名 | 說明 | 參數(shù) | 說明 | 返回值 |
|---|---|---|---|---|
| CheckParameterCorrect | 檢查收到的參數(shù)是否合法 | $parameter | 用戶提交的所有參數(shù) | 如果所有參數(shù)都合法返回 TRUE, 如果有不合法的返回 FALSE,并將錯誤信息復(fù)制給 $this->returnJson["msg"] |
| GetUserId | 通道用戶提交過來的商戶編號獲取系統(tǒng)內(nèi)的用戶 ID | $parameter | 用戶提交的所有參數(shù) | 返回獲取到的系統(tǒng)內(nèi)的用戶 ID |
| GetSecretKey | 通道用戶 ID 獲取用戶的密鑰數(shù)據(jù) | $userid | 用戶 ID | 返回用戶的密鑰數(shù)據(jù) |
| DecryptData | 解密用戶提交過來的加密參數(shù) | parameter, |
| secretkey | 用戶提交的所有參數(shù),用戶的密鑰數(shù)據(jù) | 返回解密后的所有用戶提交參數(shù) |
| CheckSign | 驗(yàn)證數(shù)據(jù)簽名 | parameter, |
| signdata, $secretkey | 用戶提交的所有參數(shù),解密后的所有參數(shù),用戶的密鑰數(shù)據(jù) | 如果簽名驗(yàn)證合法返回 TRUE, 如果有不合法的返回 FALSE,并將錯誤信息復(fù)制給 $this->returnJson["msg"] |
- 通過實(shí)現(xiàn)方法 FormatData 把自定義接口參數(shù)轉(zhuǎn)換成系統(tǒng)標(biāo)準(zhǔn)參數(shù)
| 方法名 | 說明 | 參數(shù) | 說明 | 返回值 |
|---|---|---|---|---|
| FormatData | 把自定義接口參數(shù)轉(zhuǎn)換成系統(tǒng)標(biāo)準(zhǔn)參數(shù) | $parameter | 用戶提交的所有參數(shù) | 返回系統(tǒng)標(biāo)準(zhǔn)參數(shù)數(shù)組 |
- 交易請求系統(tǒng)標(biāo)準(zhǔn)參數(shù)說明:
| 參數(shù)名 | 說明 |
|---|---|
| userid | 用戶 ID |
| amount | 交易金額,單位:元 |
| orderid | 用戶提交的交易訂單號 |
| callbackurl | 頁面跳轉(zhuǎn)回調(diào)地址 |
| notifyurl | 異步回調(diào)地址 |
| orderdatetime | 交易訂單提交時間 |
| tongdao | 通道分類編碼 |
| bankcode | 銀行編碼 |
| version | 自定義支付接口版本號 |
| extend | 擴(kuò)展字段 |
| other | 回調(diào)時原樣返回的數(shù)據(jù),數(shù)據(jù)類型為 數(shù)組 |
- 回調(diào)時首先通過實(shí)現(xiàn) ReturnData 方法 ,把系統(tǒng)返回的標(biāo)準(zhǔn)參數(shù)轉(zhuǎn)換成自定義支付接口的自定義參數(shù):
| 方法名 | 說明 | 參數(shù) | 說明 | 返回值 |
|---|---|---|---|---|
| ReturnData | 把成系統(tǒng)標(biāo)準(zhǔn)參數(shù)轉(zhuǎn)換成自定支付接口的自定義參數(shù) | $parameter | 系統(tǒng)返回的標(biāo)準(zhǔn)參數(shù) | 返回自定支付接口的自定義參數(shù) |
- 回調(diào)系統(tǒng)標(biāo)準(zhǔn)參數(shù)說明:
| 參數(shù)名 | 說明 |
|---|---|
| userid | 用戶 ID |
| amount | 交易金額,單位:元 |
| orderid | 用戶提交的交易訂單號 |
| amount_trade | 交易手續(xù)費(fèi) |
| datetime | 交易時間 |
| tongdao | 通道分類編碼 |
| version | 自定義支付接口版本號 |
| other | 回調(diào)時原樣返回的數(shù)據(jù),數(shù)據(jù)類型為 數(shù)組 |
- 實(shí)現(xiàn) callbackurl 方法,實(shí)現(xiàn)自定義的頁面跳轉(zhuǎn)回調(diào)業(yè)務(wù)邏輯
- 實(shí)現(xiàn) notifyurl 方法,實(shí)現(xiàn)自定義的異步回調(diào)的業(yè)務(wù)邏輯,并返回收到的響應(yīng)數(shù)據(jù)
系統(tǒng)功能大綱
本支付系統(tǒng)實(shí)現(xiàn)了多個第三方支付通道整合成一個支付通道,讓用戶只用接入一個支付通道就可以使用多個第三方支付通道。使用戶在接入和使用多個第三方通道時節(jié)約用戶大量的技術(shù)開發(fā)成本和溝通成本。
本系統(tǒng)主要功能如下:
1.系統(tǒng)設(shè)置
1)基本設(shè)置
可對本系統(tǒng)網(wǎng)站、域名、開關(guān)、提成登記等設(shè)置管理;
2)銀行設(shè)置
系統(tǒng)中運(yùn)營所需的交易銀行、結(jié)算銀行的基礎(chǔ)信息管理維護(hù);
3)登錄設(shè)置
用戶可通過本模塊實(shí)現(xiàn)對系統(tǒng)登錄頁面的修改及制作(代碼部分需聯(lián)系開發(fā)人員);
4)統(tǒng)計(jì)模板
5)風(fēng)控管理
可在系統(tǒng)中對相關(guān) IP 號、手機(jī)號、身份證號、銀行卡號等進(jìn)行黑名單標(biāo)記,更有利于系統(tǒng)登錄及支付交易的安全。
2. 1+n 多管理員管理模式
本系統(tǒng)配備一個超級管理員,并可擴(kuò)展 n 個管理員管理的管理模式。超級管理員擁有最高權(quán)限,可根據(jù)各管理員角色需求,為其分配相對應(yīng)的模塊管理功能。
3.用戶管理
1)用戶統(tǒng)一管理功能
用戶的添加、信息編輯及刪除等。此模塊可直觀瀏覽用戶相關(guān)信息。為保護(hù)用戶權(quán)益及隱私,用戶密鑰/域名等需再次輸入碼驗(yàn)證,待驗(yàn)證通過后,才可顯示。
2)下級用戶邀請功能
可生成相關(guān)邀請碼,以邀請新用戶注冊使用本系統(tǒng)。
4.通道管理
可對通道商家、支付通道、通道賬號及代付通道等進(jìn)行管理。
5.交易設(shè)置
實(shí)現(xiàn)系統(tǒng)到賬相關(guān)設(shè)置,如到賬時間、到賬比例、節(jié)假日是否到賬等設(shè)置。本模塊還涵蓋了掃碼模板及版本設(shè)置。
6.交易管理
1)交易記錄瀏覽及處理
可直觀瀏覽賬戶訂單總額、成本金額、手續(xù)費(fèi)、到賬金額及凍結(jié)金額等各項(xiàng)資金數(shù)額。同時可查看所有交易記錄、單筆交易查詢及文檔的導(dǎo)出。
2)交易日志生成
顯示每筆交易訂單在交易時的返回的狀態(tài),包括相關(guān)錯誤信息及成功后的信息。
3)資金變動記錄瀏覽及導(dǎo)出
可直觀瀏覽每一筆資金變動記錄,并可導(dǎo)出資金變動記錄文檔。
7.結(jié)算管理
1)結(jié)算方式靈活設(shè)置
靈活設(shè)置結(jié)算方式,如結(jié)算時間、當(dāng)日提款最大金額,單筆提款金額范圍、默認(rèn)結(jié)算運(yùn)營率等相關(guān)結(jié)算設(shè)置。
2)結(jié)算記錄瀏覽及查詢
直觀瀏覽、查詢及處理結(jié)算記錄(為保護(hù)用戶隱私及號賬號安全,銀行卡號等私密內(nèi)容可設(shè)置為全部顯示或部分顯示),并可進(jìn)結(jié)算文檔的導(dǎo)出。
8.工單管理
1)系統(tǒng)使用中常見問題及解決方案示例;
2)前端商戶可在線與系統(tǒng)管理員進(jìn)行線上溝通及反饋,確保問題及時有效解決。
9.信息設(shè)置
管理員用戶可進(jìn)行郵箱及短信設(shè)置。
10.版權(quán)聲明
系統(tǒng)版權(quán)聲明及更新日志告知。
11.公告管理
系統(tǒng)相關(guān)公告展示,如系統(tǒng)升級通知等。
