Browse Source

支付费率实时计算

Tree 2 weeks ago
parent
commit
70a7b0b422

+ 10 - 0
app/Http/logic/api/AiNewPayCashierLogic.php

@@ -169,6 +169,16 @@ class AiNewPayCashierLogic implements CashierInterFace
                         'finishDate' => $now
                     ];
 
+                    $payConfigService = new PayConfig();
+                    $config = $payConfigService->getConfig('AiNewPayOut');
+
+                    $payRates = $config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $query->PixType??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $withdraw_data['withdraw_fee'] = intval(($query->WithDraw * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
                     $first = DB::connection('write')->table('QPAccountsDB.dbo.UserTabData')->where('UserID', $UserID)->first();
                     if ($first) {
                         DB::connection('write')->table('QPAccountsDB.dbo.UserTabData')->where('UserID', $UserID)->increment('TakeMoney', $TakeMoney);

+ 8 - 0
app/Http/logic/api/AiNewPayLogic.php

@@ -141,7 +141,15 @@ class AiNewPayLogic extends BaseApiLogic
                     $body['finished_at'] = date('Y-m-d H:i:s');
                     $body['amount'] = (int) round($payAmt * NumConfig::NUM_VALUE);
                     $config = (new PayConfig())->getConfig('AiNewPay');
+
                     $body['payment_fee']=$body['amount']*$config['payin_fee'];
+                    $payRates = $config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $order->order_title??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $body['payment_fee'] = intval(($body['amount'] * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
                     try {
                         $service = new OrderServices();
 

+ 10 - 0
app/Http/logic/api/PagYeepPayCashierLogic.php

@@ -222,6 +222,16 @@ class PagYeepPayCashierLogic implements CashierInterFace
                         'finishDate' => $now
                     ];
 
+                    $payConfigService = new PayConfig();
+                    $config = $payConfigService->getConfig('PagYeepPayOut');
+
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $query->PixType??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $withdraw_data['withdraw_fee'] = intval(($query->WithDraw * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
                     // 增加提现记录
                     $first = DB::connection('write')->table('QPAccountsDB.dbo.UserTabData')->where('UserID', $UserID)->first();
                     if ($first) {

+ 9 - 1
app/Http/logic/api/PagYeepPayLogic.php

@@ -180,7 +180,15 @@ class PagYeepPayLogic extends BaseApiLogic
                     $body['finished_at'] = date('Y-m-d H:i:s');
                     $body['amount'] = $payAmt;  // 已经是分
                     $config = (new PayConfig())->getConfig('PagYeepPay');
-                    $body['payment_fee'] = $body['amount'] * ($config['payin_fee'] ?? 0);
+
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $order->order_title??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $body['payment_fee'] = intval(($body['amount'] * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
+//                    $body['payment_fee'] = $body['amount'] * ($config['payin_fee'] ?? 0);
                     
                     try {
                         // 获取金额

+ 10 - 0
app/Http/logic/api/WDPayCashierLogic.php

@@ -200,6 +200,16 @@ class WDPayCashierLogic implements CashierInterFace
                         'finishDate' => $now
                     ];
 
+                    $payConfigService = new PayConfig();
+                    $config = $payConfigService->getConfig('WDPayOut');
+
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $query->PixType??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $withdraw_data['withdraw_fee'] = intval(($query->WithDraw * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
                     // 增加提现记录
                     $first = DB::connection('write')->table('QPAccountsDB.dbo.UserTabData')->where('UserID', $UserID)->first();
                     if ($first) {

+ 6 - 1
app/Http/logic/api/WDPayLogic.php

@@ -180,7 +180,12 @@ class WDPayLogic extends BaseApiLogic
                     $body['finished_at'] = date('Y-m-d H:i:s');
                     $body['amount'] = (int) round($payAmt * NumConfig::NUM_VALUE);
                     $config = (new PayConfig())->getConfig('WDPay');
-                    $body['payment_fee'] = $body['amount'] * ($config['payin_fee'] ?? 0);
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $order->order_title??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $body['payment_fee'] = intval(($body['amount'] * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
                     
                     try {
                         // 获取金额

+ 10 - 0
app/Http/logic/api/WiwiPayCashierLogic.php

@@ -183,6 +183,16 @@ class WiwiPayCashierLogic implements CashierInterFace
                         'finishDate' => $now
                     ];
 
+                    $payConfigService = new PayConfig();
+                    $config = $payConfigService->getConfig('WiwiPayOut');
+
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $query->PixType??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $withdraw_data['withdraw_fee'] = intval(($query->WithDraw * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
+
                     // 增加提现记录
                     $first = DB::connection('write')->table('QPAccountsDB.dbo.UserTabData')->where('UserID', $UserID)->first();
                     if ($first) {

+ 7 - 0
app/Http/logic/api/WiwiPayLogic.php

@@ -157,6 +157,13 @@ class WiwiPayLogic extends BaseApiLogic
                     $body['amount'] = (int) round($payAmt * NumConfig::NUM_VALUE);
                     $config = (new PayConfig())->getConfig('WiwiPay');
                     $body['payment_fee']=$body['amount']*$config['payin_fee'];
+
+                    $payRates = @$config['pay_rate'];
+                    if(is_array($payRates)){
+                        $payMethod = $order->order_title??1;
+                        $payRate = $payRates[$payMethod] ?? $payRates[1];
+                        $body['payment_fee'] = intval(($body['amount'] * ($payRate[0] ?? 15))/100)+($payRate[1]??0.3)*NumConfig::NUM_VALUE;
+                    }
                     try {
                         // 获取金额
                         $service = new OrderServices();