From 07d1d8345ffc2ce97776d797416cb45d48e3549a Mon Sep 17 00:00:00 2001 From: line-6000 <154492442+line-6000@users.noreply.github.com> Date: Mon, 11 May 2026 17:23:18 +0800 Subject: [PATCH] update readme.md --- README.en.md | 5 - README.md | 2 - README.zh-CN.md | 6 -- plugins/.gitkeep | 0 plugins/dujiaoka/README.md | 12 --- .../Http/Controllers/Pay/EpusdtController.php | 101 ------------------ plugins/dujiaoka/routes/common/pay.php | 56 ---------- sql/v0.0.1.sql | 44 -------- wiki/BT_RUN.md | 61 +---------- wiki/manual_RUN.md | 60 +---------- 10 files changed, 5 insertions(+), 342 deletions(-) delete mode 100644 plugins/.gitkeep delete mode 100644 plugins/dujiaoka/README.md delete mode 100644 plugins/dujiaoka/app/Http/Controllers/Pay/EpusdtController.php delete mode 100644 plugins/dujiaoka/routes/common/pay.php delete mode 100644 sql/v0.0.1.sql diff --git a/README.en.md b/README.en.md index 715e25b..bd0dad1 100644 --- a/README.en.md +++ b/README.en.md @@ -64,8 +64,6 @@ No matter what kind of platform you operate, Epusdt can fit into existing paymen | **Epay-Compatible Flow** | Works with platforms already using Epay-style payment interfaces | | **More** | Simple HTTP API, often integrated within 10 minutes | -See more integrations and plugins here: [plugins/](./plugins/) - --- ## Core Features @@ -100,10 +98,7 @@ Quick-start links: ```text Epusdt -├── plugins/ Integrated plugins and platform adapters ├── src/ Core project source code -├── sdk/ Integration SDKs -├── sql/ Database install / upgrade scripts └── wiki/ Documentation assets and knowledge base ``` diff --git a/README.md b/README.md index a718a4a..3a17df7 100644 --- a/README.md +++ b/README.md @@ -25,5 +25,3 @@ Quick links: - [Official Docs](https://epusdt.com) - [Telegram Channel](https://t.me/epusdt) - [Telegram Group](https://t.me/epusdt_group) -- [Plugins](./plugins/) - diff --git a/README.zh-CN.md b/README.zh-CN.md index 46c7c9b..a25d0bb 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -64,8 +64,6 @@ | **Epay 兼容** | 兼容各类支持 Epay 易支付接口的平台 | | **更多** | 简易 HTTP API,10 分钟内接入 | -查看更多集成列表与插件:[plugins/](./plugins/) - --- ## 核心特性 @@ -100,10 +98,7 @@ ```text Epusdt -├── plugins/ 已集成的系统插件(独角数卡等) ├── src/ 项目核心代码 -├── sdk/ 接入 SDK -├── sql/ 数据库安装 / 升级脚本 └── wiki/ 文档与知识库 ``` @@ -179,4 +174,3 @@ Good Morning Technology, LLC 为依据美国法律设立的主体,并将在适 Epusdt · Easy Payment USDT · Open Source Payment Gateway · 多链收款

- diff --git a/plugins/.gitkeep b/plugins/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/plugins/dujiaoka/README.md b/plugins/dujiaoka/README.md deleted file mode 100644 index 9a85724..0000000 --- a/plugins/dujiaoka/README.md +++ /dev/null @@ -1,12 +0,0 @@ -## 使用方法 -### 注意此插件仅适用于独角数卡2.0.4版本以下,2.0.4版本或以上的独角数卡已经内置此插件,无需配置 - -1.将`app`和`routes`目录覆盖到网站根目录。 -2.在独角数卡后台添加一个支付方式。 - -| 支付选项 | 商户id | 商户key | 商户密钥 | 备注 | -| :-----| :----- | :----- | :----- |:-----| -| Epusdt | api接口认证token | 空 | epusdt收银台地址+/api/v1/order/create-transaction| 如果独角数卡和epusdt在同一服务器则填写`127.0.0.1`不要填域名,例如`http://127.0.0.1:8000/api/v1/order/create-transaction` | - -示例: -![示例配置](../../wiki/img/dujiaoka_epusdt.png) \ No newline at end of file diff --git a/plugins/dujiaoka/app/Http/Controllers/Pay/EpusdtController.php b/plugins/dujiaoka/app/Http/Controllers/Pay/EpusdtController.php deleted file mode 100644 index e18aa85..0000000 --- a/plugins/dujiaoka/app/Http/Controllers/Pay/EpusdtController.php +++ /dev/null @@ -1,101 +0,0 @@ - - * @copyright GMWalletApp - * @link http://utf8.hk/ - */ - -namespace App\Http\Controllers\Pay; - - -use App\Exceptions\RuleValidationException; -use App\Http\Controllers\PayController; -use GuzzleHttp\Client; -use GuzzleHttp\Exception\GuzzleException; -use Illuminate\Http\Request; - -class EpusdtController extends PayController -{ - public function gateway(string $payway, string $orderSN) - { - try { - // 加载网关 - $this->loadGateWay($orderSN, $payway); - //构造要请求的参数数组,无需改动 - $parameter = [ - "amount" => (float)$this->order->actual_price,//原价 - "order_id" => $this->order->order_sn, //可以是用户ID,站内商户订单号,用户名 - 'redirect_url' => route('epusdt-return', ['order_id' => $this->order->order_sn]), - 'notify_url' => url($this->payGateway->pay_handleroute . '/notify_url'), - ]; - $parameter['signature'] = $this->epusdtSign($parameter, $this->payGateway->merchant_id); - $client = new Client([ - 'headers' => [ 'Content-Type' => 'application/json' ] - ]); - $response = $client->post($this->payGateway->merchant_pem, ['body' => json_encode($parameter)]); - $body = json_decode($response->getBody()->getContents(), true); - if (!isset($body['status_code']) || $body['status_code'] != 200) { - return $this->err(__('dujiaoka.prompt.abnormal_payment_channel') . $body['message']); - } - return redirect()->away($body['data']['payment_url']); - } catch (RuleValidationException $exception) { - } catch (GuzzleException $exception) { - return $this->err($exception->getMessage()); - } - } - - - private function epusdtSign(array $parameter, string $signKey) - { - ksort($parameter); - reset($parameter); //内部指针指向数组中的第一个元素 - $sign = ''; - $urls = ''; - foreach ($parameter as $key => $val) { - if ($val == '') continue; - if ($key != 'signature') { - if ($sign != '') { - $sign .= "&"; - $urls .= "&"; - } - $sign .= "$key=$val"; //拼接为url参数形式 - $urls .= "$key=" . urlencode($val); //拼接为url参数形式 - } - } - $sign = md5($sign . $signKey);//密码追加进入开始MD5签名 - return $sign; - } - - public function notifyUrl(Request $request) - { - $data = $request->all(); - $order = $this->orderService->detailOrderSN($data['order_id']); - if (!$order) { - return 'fail'; - } - $payGateway = $this->payService->detail($order->pay_id); - if (!$payGateway) { - return 'fail'; - } - $signature = $this->epusdtSign($data, $payGateway->merchant_id); - if ($data['signature'] != $signature) { //不合法的数据 - return 'fail'; //返回失败 继续补单 - } else { - //合法的数据 - //业务处理 - $this->orderProcessService->completedOrder($data['order_id'], $data['amount'], $data['trade_id']); - return 'ok'; - } - } - - public function returnUrl(Request $request) - { - $oid = $request->get('order_id'); - // 异步通知还没到就跳转了,所以这里休眠2秒 - sleep(2); - return redirect(url('detail-order-sn', ['orderSN' => $oid])); - } - -} diff --git a/plugins/dujiaoka/routes/common/pay.php b/plugins/dujiaoka/routes/common/pay.php deleted file mode 100644 index 9dc3a8e..0000000 --- a/plugins/dujiaoka/routes/common/pay.php +++ /dev/null @@ -1,56 +0,0 @@ - - * @copyright GMWalletApp - * @link http://utf8.hk/ - */ -use Illuminate\Support\Facades\Route; - -Route::get('pay-gateway/{handle}/{payway}/{orderSN}', 'PayController@redirectGateway'); - -// 支付相关 -Route::group(['prefix' => 'pay', 'namespace' => 'Pay', 'middleware' => ['dujiaoka.pay_gate_way']], function () { - // 支付宝 - Route::get('alipay/{payway}/{orderSN}', 'AlipayController@gateway'); - Route::post('alipay/notify_url', 'AlipayController@notifyUrl'); - // 微信 - Route::get('wepay/{payway}/{orderSN}', 'WepayController@gateway'); - Route::post('wepay/notify_url', 'WepayController@notifyUrl'); - // 码支付 - Route::get('mapay/{payway}/{orderSN}', 'MapayController@gateway'); - Route::post('mapay/notify_url', 'MapayController@notifyUrl'); - // Paysapi - Route::get('paysapi/{payway}/{orderSN}', 'PaysapiController@gateway'); - Route::post('paysapi/notify_url', 'PaysapiController@notifyUrl'); - Route::get('paysapi/return_url', 'PaysapiController@returnUrl')->name('paysapi-return'); - // payjs - Route::get('payjs/{payway}/{orderSN}', 'PayjsController@gateway'); - Route::post('payjs/notify_url', 'PayjsController@notifyUrl'); - // 易支付 - Route::get('yipay/{payway}/{orderSN}', 'YipayController@gateway'); - Route::get('yipay/notify_url', 'YipayController@notifyUrl'); - Route::get('yipay/return_url', 'YipayController@returnUrl')->name('yipay-return'); - // paypal - Route::get('paypal/{payway}/{orderSN}', 'PaypalPayController@gateway'); - Route::get('paypal/return_url', 'PaypalPayController@returnUrl')->name('paypal-return'); - Route::any('paypal/notify_url', 'PaypalPayController@notifyUrl'); - // V免签 - Route::get('vpay/{payway}/{orderSN}', 'VpayController@gateway'); - Route::get('vpay/notify_url', 'VpayController@notifyUrl'); - Route::get('vpay/return_url', 'VpayController@returnUrl')->name('vpay-return'); - // stripe - Route::get('stripe/{payway}/{oid}','StripeController@gateway'); - Route::get('stripe/return_url','StripeController@returnUrl'); - Route::get('stripe/check','StripeController@check'); - Route::get('stripe/charge','StripeController@charge'); - // Coinbase - Route::get('coinbase/{payway}/{orderSN}', 'CoinbaseController@gateway'); - Route::post('coinbase/notify_url', 'CoinbaseController@notifyUrl'); - // epusdt - Route::get('epusdt/{payway}/{orderSN}', 'EpusdtController@gateway'); - Route::post('epusdt/notify_url', 'EpusdtController@notifyUrl'); - Route::get('epusdt/return_url', 'EpusdtController@returnUrl')->name('epusdt-return'); - -}); diff --git a/sql/v0.0.1.sql b/sql/v0.0.1.sql deleted file mode 100644 index 98e4865..0000000 --- a/sql/v0.0.1.sql +++ /dev/null @@ -1,44 +0,0 @@ --- auto-generated definition -create table orders -( - id int auto_increment - primary key, - trade_id varchar(32) not null comment 'epusdt订单号', - order_id varchar(32) not null comment '客户交易id', - block_transaction_id varchar(128) null comment '区块唯一编号', - actual_amount decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数', - amount decimal(19, 4) not null comment '订单金额,保留4位小数', - token varchar(50) not null comment '所属钱包地址', - status int default 1 not null comment '1:等待支付,2:支付成功,3:已过期', - notify_url varchar(128) not null comment '异步回调地址', - redirect_url varchar(128) null comment '同步回调地址', - callback_num int default 0 null comment '回调次数', - callback_confirm int default 2 null comment '回调是否已确认? 1是 2否', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null, - constraint orders_order_id_uindex - unique (order_id), - constraint orders_trade_id_uindex - unique (trade_id) -); - -create index orders_block_transaction_id_index - on orders (block_transaction_id); - --- auto-generated definition -create table wallet_address -( - id int auto_increment - primary key, - token varchar(50) not null comment '钱包token', - status int default 1 not null comment '1:启用 2:禁用', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null -) - comment '钱包表'; - -create index wallet_address_token_index - on wallet_address (token); - diff --git a/wiki/BT_RUN.md b/wiki/BT_RUN.md index 1201ccb..f676bc0 100644 --- a/wiki/BT_RUN.md +++ b/wiki/BT_RUN.md @@ -12,65 +12,8 @@ 将提前解析好的收银台域名绑定。 ![新增网站](img/add_web.png) -### 二、导入Sql -登录管理刚刚新增数据库,导入`Epusdt`所需的sql文件。 - -以下为示范0.01版本 最新数据库请以 https://github.com/GMWalletApp/epusdt/blob/master/sql/ 为准 - -#### 1.手动下载导入 - -数据库地址:https://github.com/GMWalletApp/epusdt/blob/master/sql/v0.0.1.sql -![导入Sql](img/sql.png) - -#### 2.使用phpMyAdmin导入 -使用文本编辑器打开`.sql`文件,如下: -```sql --- auto-generated definition -create table orders -( - id int auto_increment - primary key, - trade_id varchar(32) not null comment 'epusdt订单号', - order_id varchar(32) not null comment '客户交易id', - block_transaction_id varchar(128) null comment '区块唯一编号', - actual_amount decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数', - amount decimal(19, 4) not null comment '订单金额,保留4位小数', - token varchar(50) not null comment '所属钱包地址', - status int default 1 not null comment '1:等待支付,2:支付成功,3:已过期', - notify_url varchar(128) not null comment '异步回调地址', - redirect_url varchar(128) null comment '同步回调地址', - callback_num int default 0 null comment '回调次数', - callback_confirm int default 2 null comment '回调是否已确认? 1是 2否', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null, - constraint orders_order_id_uindex - unique (order_id), - constraint orders_trade_id_uindex - unique (trade_id) -); - -create index orders_block_transaction_id_index - on orders (block_transaction_id); - --- auto-generated definition -create table wallet_address -( - id int auto_increment - primary key, - token varchar(50) not null comment '钱包token', - status int default 1 not null comment '1:启用 2:禁用', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null -) - comment '钱包表'; - -create index wallet_address_token_index - on wallet_address (token); -``` -复制-粘贴至`phpmyadmin`的SQL面板,然后执行 -![导入Sql](img/run_sql.png) +### 二、数据库说明 +当前版本无需手动导入 SQL 文件。配置好数据库连接后,Epusdt 启动时会自动创建和升级所需表结构。 ### 三、配置Epusdt 1.将编译好的`Epusdt`项目压缩包上传至刚刚新增的网站目录,随后解压。 diff --git a/wiki/manual_RUN.md b/wiki/manual_RUN.md index fbc7054..ab8eedb 100644 --- a/wiki/manual_RUN.md +++ b/wiki/manual_RUN.md @@ -12,60 +12,10 @@ wget https://github.com/GMWalletApp/epusdt/releases/download/v0.0.3/epusdt_0.0.3 tar -xzf epusdt_0.0.3_Linux_x86_64.tar.gz rm epusdt_0.0.3_Linux_x86_64.tar.gz ``` -## 2.导入Sql -- 创建sql文件 -```bash -nano epusdt.sql -``` -然后复制下面的 -```sql --- auto-generated definition -use epusdt; -create table orders -( - id int auto_increment - primary key, - trade_id varchar(32) not null comment 'epusdt订单号', - order_id varchar(32) not null comment '客户交易id', - block_transaction_id varchar(128) null comment '区块唯一编号', - actual_amount decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数', - amount decimal(19, 4) not null comment '订单金额,保留4位小数', - token varchar(50) not null comment '所属钱包地址', - status int default 1 not null comment '1:等待支付,2:支付成功,3:已过期', - notify_url varchar(128) not null comment '异步回调地址', - redirect_url varchar(128) null comment '同步回调地址', - callback_num int default 0 null comment '回调次数', - callback_confirm int default 2 null comment '回调是否已确认? 1是 2否', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null, - constraint orders_order_id_uindex - unique (order_id), - constraint orders_trade_id_uindex - unique (trade_id) -); +## 2.创建数据库 +当前版本无需手动导入 SQL 文件。创建数据库并配置连接后,Epusdt 启动时会自动创建和升级所需表结构。 -create index orders_block_transaction_id_index - on orders (block_transaction_id); - --- auto-generated definition -create table wallet_address -( - id int auto_increment - primary key, - token varchar(50) not null comment '钱包token', - status int default 1 not null comment '1:启用 2:禁用', - created_at timestamp null, - updated_at timestamp null, - deleted_at timestamp null -) - comment '钱包表'; - -create index wallet_address_token_index - on wallet_address (token); -``` -`ctrl+x` 退出,按 `Y`保存 再按回车就好了 -- 创建数据库 +- 创建数据库 ```bash mysql ``` @@ -76,10 +26,6 @@ GRANT ALL ON [这里替换为数据库名].* TO '[这里替换为用户名]'@'lo FLUSH PRIVILEGES; EXIT ``` -- 导入sql文件 -```bash -mysql -u[用户名] -p[密码] < epusdt.sql -``` ## 3.配置反向代理 ```bash nano /etc/nginx/sites-enabled/epusdt