電商類站內虛擬積分與聚合支付通用解決方案
專案功能基本滿足使用,並流暢執行,持續維護中,如有使用問題可提交 issue
- 已進入平滑維護期
- 推薦中小型專案使用
此專案完全開源且功能已完成全部程式碼並滿足基本需求(已服務多家電商公司),會一直汲取上線專案遇到的業務等問題來最佳化專案,dev 分支會更新公測程式碼,master 分支為穩定版本,功能還在調整與完善中,但已滿足中小型電商專案使用,歡迎閱讀文件學習並使用
專案技術選型
Mysql5.7+ / MariaDB
專案後臺使用 vue 搭建,此專案中已自帶編譯後前端檔案
DEMO 演示
docker沙箱演示地址,每週清理資料庫
後臺賬號密碼
- admin
- 123456
簡介
此電子銀行系統整合兩大功能
1. 聚合支付
聚合支付已對接laravel-pay
- 支付寶PC
- 支付寶wap
- 支付寶APP
- 支付寶反掃
- 支付寶刷卡(反掃)
- 支付寶掃碼(正掃)
- 微信公眾號
- 微信H5
- 微信APP
- 微信刷卡(反掃)
- 微信掃碼(正掃)
- 微信小程式支付
所有支付方式呼叫後返回值的使用方式可在 【統一下單】 中檢視即可,無需看 laravel-pay 的文件 了
支援同時選擇積分一起組合支付(三方支付只能一個,內部錢包可無限個),實現積分抵扣等需求,其他三方支付需查閱原始碼自行封裝開發
2. 站內積分
站內積分為核心開發點,詳細的API設計,積分的每次經歷都會記錄在表,方便稽核和對賬,詳情介紹可查閱下方文件的白皮書介紹部分。
- 專案支援多種積分實現專案不同的業務邏輯,每種積分初始會有個系統總控盤,用於充值或贈送給使用者
- 多種積分可相互實現轉化,積分的操作我們統稱為《轉賬》,積分的加減都必須有一個出賬人和一個進賬人,所以專案初始的時候都會有個控盤金額在系統餘額中用來扣除
- 積分每一筆的加減記錄都必須有一個轉賬行為(reason引數),每個業務對應一個reason,如提現成功為300001,傳送紅包為300002,用於開發者對此業務的中文釋義以及對賬的核實,保證使用者積分餘額經過每一筆轉賬之後是正確的
- 每種積分互相轉賬都是無限制的,只需對接好你的業務需求即可,需求需要怎麼轉就怎麼轉
- more...中央銀行是什麼、系統銀行是什麼、reason意義、多專案對接 請參閱專案介紹白皮書
文件
github
碼雲
安裝
因專案中涉及大金額運算(萬億以上,未使用 bcmath),需使用 php >= 7.1.12,推薦學習並使用 docker + laradock 搭建開發環境,避免 php 計算整數長度變為 2147483647 問題
Linux 下使用 Makefile 自動安裝
1. cd [專案目錄]
2. cp .env.example .env
// 連線資料庫執行語句建立資料庫
CREATE SCHEMA `ebank` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3. 編輯 .env 檔案配置資料庫、redis、SMTP 等,然後再繼續執行以下命令
4. make && make install
Windows 下手動步驟安裝
1. cd [專案目錄]
2. copy .env.example .env
// 連線資料庫執行語句建立資料庫
3. CREATE SCHEMA `ebank` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
// 編輯 .env 檔案配置資料庫、redis、SMTP 等,然後再繼續執行以下命令
4. composer install
5. php artisan app:install
最後一步
配置nginx訪問以及佇列監聽:
專案目錄下帶有 ebank_nginx.conf 和 ebank_supervisor.ini 示例檔案,自行配置即可
開發計劃
- [x] SDK 封裝,給API對接商戶下發使用的請求介面請求類,位於 app/Libraries/EBankSdk.php 複製任意其他php框架中都可使用,同樣要求 php >= 7.1
- [x] 中央系統式,多專案對應多商戶,積分互不干預,實現搭建一套,多專案可用
- [x] 支付秘鑰後臺設定,後臺 > 支付秘鑰管理
- [x] 商戶介面記錄出參,便於排查
- [x] 後臺選單豐富,全部使用 restful api
- [ ] 費率設定,可切換給下游渠道對接,對應結算更改,實現類似四方支付功能
- [x] 豐富圖表,今日、昨日使用者增長,消費,收入統計等等
- [x] 商戶介面錯誤率統計
- [ ] 後臺功能點幫助文案
- [ ] 對接 hhxsv5/laravel-s 可選常駐記憶體式部署
- [ ] 報表統計動態篩選,選擇下拉生成對應sql,形成資料統計
Q && A
Q1: 為什麼資料庫金額有的是 2147483647 類似數字
A1: 專案並未使用 bcmath 擴充套件,7.1.12 以上的 linux PHP 已直接支援大金額加減乘除等運算,windows 環境 PHP 任何版本還是不能直接大金額運算,所以 windows 下推薦使用 docker for windows + laradock 安裝開發環境,避免大金額運算問題,當然伺服器也可以使用 docker + laradock 搭建相同的生產環境
Q2: 缺少統計報表,很多都沒做資料統計
A2: 基本的報表資料統計其實都可在對應主頁面上進行篩選得到類似報表的功能,比如某使用者今天下了多少單,某使用者今天待提現資料等等,此類需求已加入開發計劃
Example
本作品採用《CC 協議》,轉載必須註明作者和本文連結