Browse Source

chore: 在线充值

master
liyang 1 month ago
parent
commit
f1d76ea3b6
  1. 2
      app/admin/service/RechargeService.php
  2. 10
      app/home/controller/Pay.php
  3. 53
      app/home/service/PayService.php

2
app/admin/service/RechargeService.php

@ -42,7 +42,7 @@ class RechargeService extends AdminBaseService
} }
if (isset($param['is_online'])) { if (isset($param['is_online'])) {
$where['is_online'] = $param['is_online']; $where['is_online'] = $param['is_online'];
if ($param['is_online'] == 1) $statusList[0] = '用户取消'; // if ($param['is_online'] == 1) $statusList[0] = '用户取消';
} }
if (isset($param['status'])) { if (isset($param['status'])) {

10
app/home/controller/Pay.php

@ -85,7 +85,7 @@ class Pay extends HomeBaseController
public function getTRC20BuyList(Request $request): Json public function getTRC20BuyList(Request $request): Json
{ {
$result=(new StarPayService())->getTRC20BuyList(); $result = (new StarPayService())->getTRC20BuyList();
return json($result); return json($result);
} }
public function starPayNotify(Request $request) public function starPayNotify(Request $request)
@ -323,11 +323,10 @@ class Pay extends HomeBaseController
public function test(Request $request) public function test(Request $request)
{ {
// $amount=1000; // $amount=1000;
// $order_no='ht'.rand(10000,99999); // $order_no='ht'.rand(10000,99999);
// (new HTPayService())->arPay($order_no,$amount,'101','65243451224','test'); // (new HTPayService())->arPay($order_no,$amount,'101','65243451224','test');
(new TrcPayService())->getTrcBalance(); (new TrcPayService())->getTrcBalance();
} }
// Click 代收(充值)回调 // Click 代收(充值)回调
@ -347,5 +346,4 @@ class Pay extends HomeBaseController
$result = (new ClickPayService())->clickPayApplyNotify($res); $result = (new ClickPayService())->clickPayApplyNotify($res);
return json($result); return json($result);
} }
} }

53
app/home/service/PayService.php

@ -55,9 +55,9 @@ class PayService extends BaseHomeService
// 2-支付码方式充值 // 2-支付码方式充值
if ($data['recharge_type'] == 2) { if ($data['recharge_type'] == 2) {
// 如果是支付码方式充值,需要上传该参数,该参数值是payment_code_config表的主键ID // 如果是支付码方式充值,需要上传该参数,该参数值是payment_code_config表的主键ID
if (empty($data['payment_code_config_log_id'])) { // if (empty($data['payment_code_config_log_id'])) {
return $this->toData('500', 'Parameter payment_code_config_log_id is messing'); // return $this->toData('500', 'Parameter payment_code_config_log_id is messing');
} // }
// 创建订单 // 创建订单
$orderData = RechargeApplyModel::create([ $orderData = RechargeApplyModel::create([
'user_id' => $data['user_id'], 'user_id' => $data['user_id'],
@ -74,10 +74,10 @@ class PayService extends BaseHomeService
'real_amount' => 0, 'real_amount' => 0,
]); ]);
// 修改支付码预下单记录表,将实际充值的订单号关联到用户充值上一步的预下单记录中 // 修改支付码预下单记录表,将实际充值的订单号关联到用户充值上一步的预下单记录中
PaymentCodeLogModel::where('id', $data['payment_code_config_log_id'])->update([ // PaymentCodeLogModel::where('id', $data['payment_code_config_log_id'])->update([
'recharge_apply_id' => $orderData->id, // 'recharge_apply_id' => $orderData->id,
'recharge_amount' => $data['recharge_num'] // 'recharge_amount' => $data['recharge_num']
]); // ]);
return $this->toData('0', 'successful'); return $this->toData('0', 'successful');
} }
@ -92,21 +92,21 @@ class PayService extends BaseHomeService
if (empty($data['recharge_num']) || $data['recharge_num'] <= 0) { if (empty($data['recharge_num']) || $data['recharge_num'] <= 0) {
return $this->toData('100130', 'recharge_num error'); return $this->toData('100130', 'recharge_num error');
} }
if($channel['type']==9){ if ($channel['type'] == 9) {
$currency_rate = 1; $currency_rate = 1;
if($data['product']=='TRC20Buy'){ if ($data['product'] == 'TRC20Buy') {
switch ($data['extra']){ switch ($data['extra']) {
case 'GBP': case 'GBP':
$gpx_rate=StockMarketModel::where('stock_market_type',14)->value('rate'); $gpx_rate = StockMarketModel::where('stock_market_type', 14)->value('rate');
$currency_rate=$gpx_rate/100; $currency_rate = $gpx_rate / 100;
break; break;
case "EUR": case "EUR":
$eur_rate=StockMarketModel::where('stock_market_type',15)->value('rate'); $eur_rate = StockMarketModel::where('stock_market_type', 15)->value('rate');
$currency_rate=$eur_rate*1; $currency_rate = $eur_rate * 1;
break; break;
} }
} }
}else{ } else {
$currency_rate = $channel['exchange_rate']; $currency_rate = $channel['exchange_rate'];
} }
@ -132,7 +132,7 @@ class PayService extends BaseHomeService
return $this->toData('101900', 'Online payment scope: 100 - 100000'); return $this->toData('101900', 'Online payment scope: 100 - 100000');
} }
$data['service_fee'] = $server_fee;//手续费用 $data['service_fee'] = $server_fee; //手续费用
$data['market_amount'] = $market_amount; //换算的市场金额 $data['market_amount'] = $market_amount; //换算的市场金额
$data['total_amount'] = $total_amount; //要支付的渠道货币金额 $data['total_amount'] = $total_amount; //要支付的渠道货币金额
$data['currency_rate'] = $currency_rate; $data['currency_rate'] = $currency_rate;
@ -188,7 +188,6 @@ class PayService extends BaseHomeService
'pay_url' => $result['payUrl'], 'pay_url' => $result['payUrl'],
'order_no' => $data['order_no'], 'order_no' => $data['order_no'],
]); ]);
} else { } else {
return $this->toData('101900', 'The system is busy. Please try again later.6', [$result['status'], $result['message']]); return $this->toData('101900', 'The system is busy. Please try again later.6', [$result['status'], $result['message']]);
} }
@ -254,10 +253,10 @@ class PayService extends BaseHomeService
} }
break; break;
case 9: case 9:
if(in_array(trim($data['product']),['TRC20H5','TRC20Buy'])){ if (in_array(trim($data['product']), ['TRC20H5', 'TRC20Buy'])) {
$result = (new StarPayService())->create_order($data['order_no'], $data['total_amount'],$data['product'],$data['extra']); $result = (new StarPayService())->create_order($data['order_no'], $data['total_amount'], $data['product'], $data['extra']);
if ($result['code'] == 200) { if ($result['code'] == 200) {
$respon=json_decode($result['params'],true); $respon = json_decode($result['params'], true);
RechargeApplyModel::where('order_no', $data['order_no'])->update([ RechargeApplyModel::where('order_no', $data['order_no'])->update([
'pay_url' => $respon['payurl'], 'pay_url' => $respon['payurl'],
]); ]);
@ -269,7 +268,7 @@ class PayService extends BaseHomeService
} else { } else {
return $this->toData('100600', 'The system is busy. Please try again later.5', $result); return $this->toData('100600', 'The system is busy. Please try again later.5', $result);
} }
}else{ } else {
return $this->toData('102000', 'The system is busy. Please try again later.20'); return $this->toData('102000', 'The system is busy. Please try again later.20');
} }
break; break;
@ -289,7 +288,7 @@ class PayService extends BaseHomeService
public function getPaymentCodeList() public function getPaymentCodeList()
{ {
try { try {
$list = PaymentCodeConfigModel::where(['status'=>1])->select()->toarray(); $list = PaymentCodeConfigModel::where(['status' => 1])->select()->toarray();
return $this->toData(0, 'success', $list); return $this->toData(0, 'success', $list);
} catch (\Exception $e) { } catch (\Exception $e) {
return $this->toData(500, lang('system_busy'), [$e->getMessage(), $e->getTrace()]); return $this->toData(500, lang('system_busy'), [$e->getMessage(), $e->getTrace()]);
@ -322,14 +321,14 @@ class PayService extends BaseHomeService
if (empty($param['amount_range'])) { if (empty($param['amount_range'])) {
return $this->toData('400', '参错错误'); return $this->toData('400', '参错错误');
} }
$info = PaymentCodeLogModel::where(['user_id'=>$userID,'amount_range'=>$param['amount_range']])->order("id", "desc")->find(); $info = PaymentCodeLogModel::where(['user_id' => $userID, 'amount_range' => $param['amount_range']])->order("id", "desc")->find();
if (empty($info)) { if (empty($info)) {
return $this->toData('500', '数据不存在'); return $this->toData('500', '数据不存在');
} }
$info = $info->toArray(); $info = $info->toArray();
$info['qr_code'] = ''; $info['qr_code'] = '';
if (!empty($info['payment_code_config_id'])) { if (!empty($info['payment_code_config_id'])) {
$paymentCodeConfig = PaymentCodeConfigModel::where(['id'=>$info['payment_code_config_id']])->find(); $paymentCodeConfig = PaymentCodeConfigModel::where(['id' => $info['payment_code_config_id']])->find();
if (!empty($paymentCodeConfig)) { if (!empty($paymentCodeConfig)) {
$info['qr_code'] = $paymentCodeConfig->qr_code; $info['qr_code'] = $paymentCodeConfig->qr_code;
} }
@ -348,9 +347,9 @@ class PayService extends BaseHomeService
if (!isset($param['page']) || !isset($param['limit'])) { if (!isset($param['page']) || !isset($param['limit'])) {
return $this->toData('400', '参错错误'); return $this->toData('400', '参错错误');
} }
$where = [['user_id','=',$userID]]; $where = [['user_id', '=', $userID]];
if (isset($param['payment_status'])) { if (isset($param['payment_status'])) {
$where[] = ['payment_status','=',$param['payment_status']]; $where[] = ['payment_status', '=', $param['payment_status']];
} }
$list = PaymentCodeLogModel::where($where)->order('id', 'desc')->paginate([ $list = PaymentCodeLogModel::where($where)->order('id', 'desc')->paginate([
'list_rows' => $param['limit'], 'list_rows' => $param['limit'],
@ -426,6 +425,4 @@ class PayService extends BaseHomeService
]; ];
} }
} }
} }
Loading…
Cancel
Save