http上线
This commit is contained in:
@@ -4,6 +4,8 @@ namespace app\common\controller;
|
||||
|
||||
use extend\alipay\Alipay as AlipaySdk;
|
||||
use app\ros\model\Order as OrderModel;
|
||||
use app\http\model\User as UserModel;
|
||||
use app\http\model\Recharge as RechargeModel;
|
||||
|
||||
|
||||
class Alipay {
|
||||
@@ -55,4 +57,53 @@ class Alipay {
|
||||
|
||||
echo 'success';
|
||||
}
|
||||
public function httpalipayVerify() {
|
||||
|
||||
$ali = new AlipaySdk();
|
||||
|
||||
$flag = $ali->payVerify2($_POST);
|
||||
|
||||
if($flag){
|
||||
|
||||
$status = $_POST['trade_status'];
|
||||
|
||||
$flag = false;
|
||||
|
||||
if ($status == 'TRADE_SUCCESS' && $_POST['auth_app_id'] == '2021002102631089' && $_POST['seller_id'] = '2088431603383955') {
|
||||
$flag = true;
|
||||
}
|
||||
|
||||
if ($flag) {
|
||||
|
||||
$recharge_model = new RechargeModel();
|
||||
$order_no=$_POST['out_trade_no'];
|
||||
$alipay_no = $_POST['trade_no'];
|
||||
|
||||
|
||||
|
||||
//获取充值信息
|
||||
$order_info = $recharge_model->getOne(['order_no'=>$order_no]);
|
||||
|
||||
if (!empty($order_info['ali_wx_no'])) {
|
||||
die;
|
||||
}
|
||||
|
||||
$update_data = [];
|
||||
|
||||
//更新充值订单
|
||||
$update_data['ali_wx_no'] = $alipay_no;
|
||||
$update_data['pay_status'] = 1;
|
||||
if($recharge_model->updateOne(['order_no'=>$order_no],$update_data)) {
|
||||
$user_model = new UserModel();
|
||||
$user_info = $user_model->getOne(['Id' => $order_info['user_id']]);
|
||||
$user_update = [];
|
||||
$user_update['ju_money'] = $user_info['ju_money'] + $order_info['ju_money'];
|
||||
$user_model->updateOne(['Id'=>$order_info['user_id']],$user_update);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo 'success';
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
namespace app\common\controller;
|
||||
|
||||
use app\ros\model\Order as OrderModel;
|
||||
use app\http\model\User as UserModel;
|
||||
use app\http\model\Recharge as RechargeModel;
|
||||
|
||||
class Wxpay {
|
||||
|
||||
@@ -41,6 +43,50 @@ class Wxpay {
|
||||
$order_model->updateOne(['order_no'=>$order_no],$update_data);
|
||||
|
||||
|
||||
//处理完成之后,告诉微信成功结果
|
||||
echo '<xml>
|
||||
<return_code><![CDATA[SUCCESS]]></return_code>
|
||||
<return_msg><![CDATA[OK]]></return_msg>
|
||||
</xml>';
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
public function httpwxpayVerify() {
|
||||
|
||||
|
||||
//接收数据
|
||||
$xmlData = file_get_contents('php://input');
|
||||
libxml_disable_entity_loader(true);
|
||||
$data = json_decode(json_encode(simplexml_load_string($xmlData, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
|
||||
|
||||
$order_model = new RechargeModel();
|
||||
$order_no = $data['out_trade_no'];
|
||||
$wx_no = $data['transaction_id'];
|
||||
|
||||
//获取充值信息
|
||||
$order_info = $order_model->getOne(['order_no'=>$order_no]);
|
||||
|
||||
if (!empty($order_info['ali_wx_no'])) {
|
||||
die;
|
||||
}
|
||||
|
||||
//判断算出的签名和通知信息的签名是否一致
|
||||
if($data['result_code'] == 'SUCCESS' && $data['appid'] == 'wx18e5b4f42773c3ec' && $data['mch_id'] == '1571608411'){
|
||||
|
||||
$update_data = [];
|
||||
|
||||
//更新充值订单
|
||||
$update_data['ali_wx_no'] = $wx_no;
|
||||
$update_data['pay_status'] = 1;
|
||||
$order_model->updateOne(['order_no'=>$order_no],$update_data);
|
||||
$user_model = new UserModel();
|
||||
$user_info = $user_model->getOne(['Id' => $order_info['user_id']]);
|
||||
$user_update = [];
|
||||
$user_update['ju_money'] = $user_info['ju_money'] + $order_info['ju_money'];
|
||||
$user_model->updateOne(['Id'=>$order_info['user_id']],$user_update);
|
||||
|
||||
|
||||
//处理完成之后,告诉微信成功结果
|
||||
echo '<xml>
|
||||
<return_code><![CDATA[SUCCESS]]></return_code>
|
||||
|
||||
425
app/http/controller/Order.php
Normal file
425
app/http/controller/Order.php
Normal file
@@ -0,0 +1,425 @@
|
||||
<?php
|
||||
|
||||
namespace app\http\controller;
|
||||
|
||||
use fastphp\base\Controller;
|
||||
use app\http\model\User as UserModel;
|
||||
use app\http\model\Recharge as RechargeModel;
|
||||
use app\http\model\Order as OrderModel;
|
||||
use extend\wechatpay\Wxpay;
|
||||
use extend\alipay\Alipay;
|
||||
use enum\http\Order as HttpOrderEnum;
|
||||
use app\http\model\Package as PackageModel;
|
||||
|
||||
class Order extends Controller
|
||||
{
|
||||
private $ju_zhengsong = [
|
||||
'50' => 50,
|
||||
'200' => 210,
|
||||
'500' => 550,
|
||||
'1000' => 1150,
|
||||
'2000' => 2400,
|
||||
'5000' => 6250,
|
||||
'10000' => 13000,
|
||||
];
|
||||
// private $url_root = 'https://sandbox.sgxz.cn';
|
||||
private $url_root = 'https://merchant.sgxz.cn';
|
||||
|
||||
private $http_user_info = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('','');
|
||||
if (empty($this->userinfo['UserId'])) {
|
||||
die;
|
||||
}
|
||||
|
||||
$user_model = new UserModel;
|
||||
$this->http_user_info = $user_model->get_http_user($this->userinfo['UserId']);
|
||||
|
||||
if ($this->http_user_info['is_verify'] == 0) {
|
||||
$return_data = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '未实名,请先实名!'
|
||||
];
|
||||
echo json_encode($return_data);
|
||||
die;
|
||||
}
|
||||
}
|
||||
//创建订单
|
||||
public function create_order(){
|
||||
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
|
||||
|
||||
|
||||
$data['money'] = abs($data['money']);
|
||||
$return_data = [];
|
||||
switch ($data['order_type']) {
|
||||
case 1:
|
||||
$return_data = $this->recharge($data,HttpOrderEnum::$charge,$this->url_root.'/plan/recharge/place/order');
|
||||
break;
|
||||
case 2:
|
||||
$return_data = $this->dxwxl($data,HttpOrderEnum::$new,$this->url_root.'/plan/unlimited/place/order');
|
||||
break;
|
||||
case 3:
|
||||
$return_data = $this->dxbt($data,HttpOrderEnum::$new,$this->url_root.'/plan/period/place/order');
|
||||
break;
|
||||
case 4:
|
||||
$return_data = $this->dxbl($data);
|
||||
break;
|
||||
case 5:
|
||||
$return_data = $this->game($data,HttpOrderEnum::$new,$this->url_root.'/plan/long/place/order');
|
||||
break;
|
||||
|
||||
}
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//续费
|
||||
public function rebuy_order(){
|
||||
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
|
||||
|
||||
$data['money'] = abs($data['money']);
|
||||
unset($data['data']['title']);
|
||||
|
||||
$return_data = [];
|
||||
switch ($data['order_type']) {
|
||||
case 2:
|
||||
$return_data = $this->dxwxl($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
|
||||
break;
|
||||
case 3:
|
||||
$return_data = $this->dxbt($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
|
||||
break;
|
||||
case 5:
|
||||
unset($data['data']['ids']);
|
||||
$return_data = $this->game($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
|
||||
break;
|
||||
case 6:
|
||||
$return_data = $this->game($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/long/ip/renew');
|
||||
break;
|
||||
|
||||
}
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
//充值
|
||||
private function recharge($data) {
|
||||
|
||||
$data['money'] = abs($data['money']);
|
||||
$recharge_model = new RechargeModel;
|
||||
$recharge_data = [];
|
||||
$recharge_data['pay_money'] = $data['money'];
|
||||
$recharge_data['user_id'] = $this->userinfo['UserId'];
|
||||
|
||||
//判断充值的金额是否在赠送列表里
|
||||
if (in_array($recharge_data['pay_money'],$this->ju_zhengsong)){
|
||||
$recharge_data['ju_money'] = $this->ju_zhengsong[$data['money']];
|
||||
} else {
|
||||
die;
|
||||
}
|
||||
$recharge_data['pay_type'] = $data['pay_type'];
|
||||
$recharge_data['order_no'] = md5(time());
|
||||
$recharge_data['pay_status'] = 0;
|
||||
|
||||
$recharge_model->add($recharge_data);
|
||||
|
||||
//支付宝
|
||||
if ($data['pay_type'] == 2) {
|
||||
$param = [
|
||||
'out_trade_no' => $recharge_data['order_no'],
|
||||
'total_amount' => $data['money'],
|
||||
'subject' => 'HTTP充值',
|
||||
'product_code' => 'FAST_INSTANT_TRADE_PAY',
|
||||
'timeout_express' => '30m',
|
||||
];
|
||||
|
||||
|
||||
$pay_html = Alipay::pay_http($param);
|
||||
$info = [
|
||||
'code'=>2,
|
||||
'data' => $pay_html
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
//微信
|
||||
if ($data['pay_type'] == 3) {
|
||||
//微信支付
|
||||
$wxpay = new Wxpay();
|
||||
|
||||
$param = [
|
||||
'username' => $this->userinfo['LoginName'],
|
||||
'money' => $data['money']*100,
|
||||
'order_no' => $recharge_data['order_no'],
|
||||
];
|
||||
$url = $wxpay->http_pay($param);
|
||||
|
||||
$info = [
|
||||
'code'=>3,
|
||||
'data' => $url
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数'
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
|
||||
//短效无限量
|
||||
private function dxwxl($data, $order_type=1,$url='') {
|
||||
|
||||
$order_data = [
|
||||
'user_id' => $this->http_user_info['Id'],
|
||||
'order_type' => $order_type,
|
||||
'package_type' => HttpOrderEnum::$dxwxl,
|
||||
'durationType' => isset($data['data']['durationType'])?$data['data']['durationType']:'',
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'money' => $data['money']
|
||||
];
|
||||
if ($order_type == 2) {
|
||||
unset($data['data']['durationType']);
|
||||
}
|
||||
$request_data = $data['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
return $this->order_format($data,$order_data,$request_data,$url);
|
||||
}
|
||||
|
||||
//短效包天
|
||||
private function dxbt($data,$order_type=1,$url='') {
|
||||
$order_data = [
|
||||
'user_id' => $this->http_user_info['Id'],
|
||||
'order_type' => $order_type,
|
||||
'package_type' => HttpOrderEnum::$dxbt,
|
||||
'durationType' => isset($data['data']['durationType'])?$data['data']['durationType']:'',
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'money' => $data['money']
|
||||
];
|
||||
if ($order_type == 2) {
|
||||
unset($data['data']['durationType']);
|
||||
}
|
||||
$request_data = $data['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
return $this->order_format($data,$order_data,$request_data,$url);
|
||||
}
|
||||
|
||||
//短效包量
|
||||
private function dxbl($data) {
|
||||
$order_data = [
|
||||
'user_id' => $this->http_user_info['Id'],
|
||||
'order_type' => HttpOrderEnum::$new,
|
||||
'package_type' => HttpOrderEnum::$dxbl,
|
||||
'durationType' => $data['data']['durationType'],
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'money' => $data['money']
|
||||
];
|
||||
|
||||
$request_data = $data['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
return $this->order_format($data,$order_data,$request_data,$this->url_root.'/plan/usage/place/order');
|
||||
}
|
||||
|
||||
//长效游戏
|
||||
private function game($data,$order_type=1,$url='') {
|
||||
if (isset($data['data']['isAbroad'])) {
|
||||
if($data['data']['isAbroad'] == '国内') {
|
||||
$data['data']['isAbroad'] = 0;
|
||||
} else if($data['data']['isAbroad'] == '国外') {
|
||||
$data['data']['isAbroad'] = 1;
|
||||
}
|
||||
}
|
||||
$order_data = [
|
||||
'user_id' => $this->http_user_info['Id'],
|
||||
'order_type' => $order_type,
|
||||
'package_type' => HttpOrderEnum::$cxyx,
|
||||
'game_type' => isset($data['data']['isAbroad'])?isset($data['data']['isAbroad']):'',
|
||||
'ip_count' => $data['data']['ipAmount'],
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'money' => $data['money']
|
||||
];
|
||||
// if ($order_type == 2) {
|
||||
// unset($data['data']['isAbroad']);
|
||||
// unset($data['data']['ipAmount']);
|
||||
// }
|
||||
|
||||
$request_data = $data['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
return $this->order_format($data,$order_data,$request_data,$url);
|
||||
}
|
||||
|
||||
//获取更换ip的城市列表
|
||||
public function get_change_ip_city() {
|
||||
$data = json_decode(file_get_contents("php://input"),true);
|
||||
$url = $this->url_root.'/user/long/ip/relate/cities';
|
||||
|
||||
unset($data['cookie']);
|
||||
|
||||
$data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
$request_data = formatHttpRequert($data);
|
||||
|
||||
echo(linkcurl($url,'POST',$request_data,[],0));
|
||||
}
|
||||
//更换ip订单
|
||||
public function change_ip_order() {
|
||||
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
|
||||
$url = $this->url_root.'/user/long/ip/switch';
|
||||
$package_model = new PackageModel;
|
||||
|
||||
$data['data']['order_type'] = 6;
|
||||
|
||||
$price = $package_model->get_price($data['data']);
|
||||
|
||||
$data['money'] = round(($data['data']['data']['periodAmount'] * $price['price'] * $data['data']['data']['ipAmount']),2);
|
||||
|
||||
unset($data['data']['data']);
|
||||
unset($data['data']['order_type']);
|
||||
|
||||
|
||||
$order_data = [
|
||||
'user_id' => $this->http_user_info['Id'],
|
||||
'order_type' => HttpOrderEnum::$change_ip,
|
||||
'package_type' => HttpOrderEnum::$cxyx,
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'ip_count' => 1,
|
||||
'game_type' => isset($data['data']['isAbroad'])?isset($data['data']['isAbroad']):'',
|
||||
'money' => $data['money']
|
||||
];
|
||||
unset($data['data']['cookie']);
|
||||
unset($data['data']['title']);
|
||||
unset($data['data']['isAbroad']);
|
||||
|
||||
$request_data = $data['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
$return_data = $this->order_format($data,$order_data,$request_data,$url);
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
private function order_format($data,$order_data,$request_data,$http_url) {
|
||||
|
||||
//去掉切换ip的价格计算,在上一步计算
|
||||
if ($order_data['order_type'] != HttpOrderEnum::$change_ip) {
|
||||
|
||||
$package_model = new PackageModel;
|
||||
|
||||
$price = $package_model->get_price($data);
|
||||
|
||||
switch ($data['order_type']) {
|
||||
case 2:
|
||||
$data['money'] = round($data['data']['periodAmount'] * $price['price'],2);
|
||||
break;
|
||||
case 3:
|
||||
$data['money'] = round(($data['data']['periodAmount'] * $price['price'] * $data['data']['ipAmount']),2);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
$data['money'] = round(($data['data']['periodAmount'] * $price['price'] * $data['data']['ipAmount']),2);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$data['money'] = abs($data['money']);
|
||||
|
||||
if ($this->http_user_info['ju_money'] >= $data['money']) {
|
||||
$ju_money = $this->http_user_info['ju_money'] - $data['money'];
|
||||
$user_update_data['ju_money'] = $ju_money;
|
||||
|
||||
$where = [
|
||||
'Id' => $this->userinfo['UserId'],
|
||||
'ju_money' => $this->http_user_info['ju_money']
|
||||
];
|
||||
|
||||
$user_model = new UserModel;
|
||||
if($user_model->updateOne($where,$user_update_data)) {
|
||||
$order_model = new OrderModel;
|
||||
|
||||
$order_data['order_no'] = md5(time());
|
||||
|
||||
if ($order_model->add($order_data)) {
|
||||
$url = $http_url;
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$http_data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
|
||||
if ($http_data->s < 0) {
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '请求后台失败,请联系客服!'
|
||||
];
|
||||
return $info;
|
||||
} else {
|
||||
$request_order_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
'orderId' => $http_data->d->orderId,
|
||||
'orderType' => $http_data->d->orderType,
|
||||
];
|
||||
|
||||
//支付订单
|
||||
$order_url = $this->url_root.'/user/order/try/pay';
|
||||
|
||||
$request_order_data = formatHttpRequert($request_order_data);
|
||||
|
||||
$http_order_data = json_decode(linkcurl($order_url,'POST',$request_order_data,[],0));
|
||||
|
||||
if ($http_order_data->s < 0) {
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '请求后台失败,请联系客服!'
|
||||
];
|
||||
return $info;
|
||||
} else {
|
||||
$order_update = [
|
||||
'status' => 1,
|
||||
'order_id' => $http_order_data->d->orderId,
|
||||
'serial' => $http_order_data->d->serial,
|
||||
'payCash' => $http_order_data->d->payCash,
|
||||
];
|
||||
$order_id = $order_model->getNewOne('id')['id'];
|
||||
$order_model->updateOne(['id' => $order_id],$order_update);
|
||||
$info = [
|
||||
'code'=>1,
|
||||
'data' => '',
|
||||
'msg' => '操作成功!'
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '请求后台失败,请联系客服!'
|
||||
];
|
||||
return $info;
|
||||
|
||||
}
|
||||
} else {
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '聚币不足!'
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
|
||||
} else {
|
||||
$info = [
|
||||
'code'=>-1,
|
||||
'data' => '非法参数',
|
||||
'msg' => '聚币不足!'
|
||||
];
|
||||
return $info;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
88
app/http/controller/Product.php
Normal file
88
app/http/controller/Product.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace app\http\controller;
|
||||
|
||||
use app\http\model\Package as PackageModel;
|
||||
//appid:1001
|
||||
//token:ce50f58b8f977b069575db6985a049b5
|
||||
|
||||
class Product
|
||||
{
|
||||
|
||||
// "sgUserId": 0, //必填,松果用户id
|
||||
// "isAbroad": 0, //必填,是否海外,0-国内,1-海外
|
||||
// "shareType": 1, //必填,线路类型,1-共享,2-独享
|
||||
// "gameId": 0, //可选,游戏id,共享请传递0或不传,独享在101协议中返回
|
||||
// "lineType": 1, //必填,线路质量类型,1-普通,2-优质
|
||||
// "bandwidth": 1, //必填,带宽,1-1M、2-2M、5-5M、10-10M
|
||||
// "cityCode": 0, //可选,城市编码,0表示随机不指定,在102协议中返回
|
||||
// "isp": 0, //可选,运营商,0表示随机不指定,仅限国内线路使用,2-电信,3-移动,4-联通
|
||||
// "ipAmount": 1, //必填,购买IP数量,最小1个
|
||||
// "periodType": 1, //必填,周期类型,1-按天,7-按周,30-按月,90-按季度
|
||||
// "periodAmount": 1,//必填,购买周期,根据periodType来,例如按天,就是N天,按周就是N周
|
||||
|
||||
// private $url_root = 'https://sandbox.sgxz.cn';
|
||||
private $url_root = 'https://merchant.sgxz.cn';
|
||||
|
||||
//查询长效可选城市
|
||||
public function city(){
|
||||
$request_data = $_POST;
|
||||
$url = $this->url_root.'/plan/long/assignable/cities';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
|
||||
//查询长效可切换入口城市
|
||||
public function in_city(){
|
||||
$request_data = $_POST['data'];
|
||||
$url = $this->url_root.'/plan/long/assignable/cities';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
|
||||
|
||||
//查询长效可切换出口城市
|
||||
public function out_city(){
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
$url = $this->url_root.'/plan/long/assignable/cities';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
//查询长效可选游戏
|
||||
public function game(){
|
||||
$request_data = $_POST;
|
||||
$url = $this->url_root.'/plan/long/assignable/games';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
//可选线路数量
|
||||
public function linecount(){
|
||||
$request_data = $_POST;
|
||||
$url = $this->url_root.'/plan/long/assignable/line/count';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
|
||||
|
||||
//计算价格
|
||||
public function calc_price(){
|
||||
$data = $_POST;
|
||||
|
||||
$package_model = new PackageModel;
|
||||
|
||||
$price = $package_model->get_price($data);
|
||||
|
||||
echo json_encode($price);
|
||||
}
|
||||
|
||||
}
|
||||
397
app/http/controller/User.php
Normal file
397
app/http/controller/User.php
Normal file
@@ -0,0 +1,397 @@
|
||||
<?php
|
||||
|
||||
namespace app\http\controller;
|
||||
|
||||
use fastphp\base\Controller;
|
||||
use app\http\model\User as UserModel;
|
||||
use app\http\model\Order as OrderModel;
|
||||
use enum\http\Order as HttpOrderEnum;
|
||||
use app\http\model\Recharge as RechargeModel;
|
||||
|
||||
class User extends Controller
|
||||
{
|
||||
// private $url_root = 'https://sandbox.sgxz.cn';
|
||||
private $url_root = 'https://merchant.sgxz.cn';
|
||||
|
||||
private $http_user_info = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('','');
|
||||
if (empty($this->userinfo['UserId'])) {
|
||||
die;
|
||||
}
|
||||
|
||||
$user_model = new UserModel;
|
||||
$this->http_user_info = $user_model->get_http_user($this->userinfo['UserId']);
|
||||
}
|
||||
|
||||
//获取聚币余额
|
||||
public function get_balance() {
|
||||
$data = $this->http_user_info['ju_money'];
|
||||
echo json_encode($data);
|
||||
}
|
||||
|
||||
//获取所有充值订单
|
||||
public function charge_list() {
|
||||
$recharge_model = new RechargeModel;
|
||||
$where = [
|
||||
'user_id' => $this->userinfo['UserId'],
|
||||
'user_id' => $this->userinfo['UserId'],
|
||||
];
|
||||
|
||||
$list = $recharge_model->getListPage($where);
|
||||
|
||||
$pay_type = [
|
||||
'2' => '支付宝',
|
||||
'3' => '微信',
|
||||
];
|
||||
|
||||
foreach ($list as &$info) {
|
||||
$info['pay_type'] = $pay_type[$info['pay_type']];
|
||||
}
|
||||
|
||||
echo json_encode($list);
|
||||
}
|
||||
|
||||
//短效全部套餐
|
||||
public function dx_package() {
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
];
|
||||
$url = $this->url_root.'/user/short/pack/list';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$list = array_merge($data->d->packs->period,$data->d->packs->unlimited,$data->d->packs->usage);
|
||||
|
||||
foreach ($list as &$info) {
|
||||
$info->name = HttpOrderEnum::$package_type[ $info->planType];
|
||||
$info->durationType2 = $info->durationType;
|
||||
$info->durationType = HttpOrderEnum::$durationType[ $info->durationType];
|
||||
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
|
||||
$info->isExpired = $info->isExpired?'已过期':'未过期';
|
||||
$info->ipAmount = $info->ipAmount?:'无限量';
|
||||
$info->remainingAmount = $info->remainingAmount?:'无限量';
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $list,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
|
||||
}
|
||||
|
||||
//短效全部套餐
|
||||
public function dx_order() {
|
||||
$order_model = new OrderModel();
|
||||
$order_where = [
|
||||
'package_type' => ['in',HttpOrderEnum::$package_list],
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'user_id' => $this->userinfo['UserId']
|
||||
];
|
||||
$order_list = $order_model->getListPage($order_where);
|
||||
|
||||
foreach ($order_list as &$info) {
|
||||
$info['order_type'] = HttpOrderEnum::$order_type[$info['order_type']];
|
||||
$info['package_type'] = HttpOrderEnum::$package_type[$info['package_type']];
|
||||
$info['durationType'] = HttpOrderEnum::$durationType[ $info['durationType']];
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $order_list,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//用户短效每日使用情况查询
|
||||
public function dx_used() {
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
];
|
||||
$url = $this->url_root.'/user/short/ip/used/summary';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $data->d,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
|
||||
}
|
||||
//用户短效每日使用情况查询
|
||||
public function dx_used_log() {
|
||||
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
'page' => isset($request_data['page'])?$request_data['page']:1,
|
||||
'limit' => 50,
|
||||
'packType' => $request_data['packType'],
|
||||
];
|
||||
$url = $this->url_root.'/user/short/ip/used/list';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
|
||||
foreach ($data->d->items as &$info) {
|
||||
$info->packType = HttpOrderEnum::$package_type[$info->packType];
|
||||
$info->createTime = date('Y-m-d H:i:s',$info->createTime);
|
||||
}
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $data,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
|
||||
}
|
||||
|
||||
//长效ip列表
|
||||
public function lang_ip_list() {
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
$url = $this->url_root.'/user/long/ip/list';
|
||||
|
||||
foreach ($request_data as $key => &$info) {
|
||||
if (strlen($info) == 0) {
|
||||
unset($request_data[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
|
||||
$line_status = [
|
||||
'1' => '正常',
|
||||
'0' => '异常',
|
||||
'9' => '禁用',
|
||||
];
|
||||
|
||||
foreach ($data->d->items as &$info) {
|
||||
$info->lineType2 = $info->lineType;
|
||||
$info->lineType = ($info->lineType == 1)?'普通':'优质';
|
||||
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
|
||||
$info->shareType2 = $info->shareType;
|
||||
$info->shareType = ($info->shareType == 1)?'共享':'独享';
|
||||
$info->state = $line_status[$info->state];
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $data,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//长效全部套餐
|
||||
public function cx_package() {
|
||||
$list = [];
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
];
|
||||
$url = $this->url_root.'/user/long/pack/list';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$list = array_merge($data->d->packs);
|
||||
|
||||
foreach ($list as &$info) {
|
||||
$info->isAbroad2 = $info->isAbroad;
|
||||
$info->isAbroad = HttpOrderEnum::$game_type[ $info->isAbroad];
|
||||
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
|
||||
$info->isExpired = $info->isExpired?'已过期':'未过期';
|
||||
$info->shareType = ($info->shareType == 1) ?'共享':'独享';
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $list,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
|
||||
}
|
||||
|
||||
//长效全部订单
|
||||
public function cx_order() {
|
||||
$order_list = [];
|
||||
$order_model = new OrderModel();
|
||||
$order_where = [
|
||||
'package_type' => HttpOrderEnum::$cxyx,
|
||||
'order_status' => HttpOrderEnum::$pay_yes,
|
||||
'user_id' => $this->userinfo['UserId']
|
||||
];
|
||||
$order_list = $order_model->getListPage($order_where);
|
||||
|
||||
foreach ($order_list as &$info) {
|
||||
$info['order_type'] = HttpOrderEnum::$order_type[$info['order_type']];
|
||||
$info['package_type'] = HttpOrderEnum::$package_type[$info['package_type']];
|
||||
$info['game_type'] = HttpOrderEnum::$game_type[ $info['game_type']];
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $order_list,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//长效ip切换记录
|
||||
public function cx_switch() {
|
||||
ini_set('display_errors', 'off');
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
'page' => isset($request_data['page'])?$request_data['page']:1,
|
||||
'limit' => 50,
|
||||
];
|
||||
$url = $this->url_root.'/user/long/switch/ip/log';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
|
||||
//切换原因,0-系统自动切换,1-失效手动切换,2-免费手动切换,5-管理员免费切换,6-收费手动切换
|
||||
$reason = [
|
||||
0 => '系统自动切换,1',
|
||||
1 => '失效手动切换,2',
|
||||
2 => '免费手动切换',
|
||||
5 => '管理员免费切换',
|
||||
6 => '收费手动切换',
|
||||
];
|
||||
|
||||
foreach ($data->d->items as &$info) {
|
||||
$info->createTime = date('Y-m-d H:i:s',$info->createTime);
|
||||
$info->reason = $reason[$info->reason];
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $data,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//用户白名单列表
|
||||
public function white_list() {
|
||||
$list = [];
|
||||
$request_data = [
|
||||
'sgUserId' => $this->http_user_info['sgUserId'],
|
||||
];
|
||||
$url = $this->url_root.'/user/short/whitelist';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$list = $data->d->items;
|
||||
|
||||
foreach ($list as &$info) {
|
||||
$info->isLocked = $info->isLocked?'已锁定':'未锁定';
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'data' => $list,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//用户创建白名单
|
||||
public function create_white_ip() {
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
$url = $this->url_root.'/user/short/whitelist/create';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//用户锁定ip
|
||||
public function lock_ip() {
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
$url = $this->url_root.'/user/short/whitelist/lock';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//用户删除ip
|
||||
public function delete_ip() {
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
|
||||
$url = $this->url_root.'/user/short/whitelist/delete';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'msg' => '',
|
||||
];
|
||||
|
||||
echo json_encode($return_data);
|
||||
}
|
||||
|
||||
//提取长效ip
|
||||
public function get_lang_ip(){
|
||||
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
|
||||
$request_data['ids'] = trim($request_data['ids'],',');
|
||||
|
||||
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
|
||||
$url = $this->url_root.'/user/long/ip/batch/get';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
echo(linkcurl($url,'GET',$request_data,[],0));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
9
app/http/model/Order.php
Normal file
9
app/http/model/Order.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace app\http\model;
|
||||
|
||||
use fastphp\base\Model;
|
||||
|
||||
class Order extends Model
|
||||
{
|
||||
protected $table = 'http_order';
|
||||
}
|
||||
78
app/http/model/Package.php
Normal file
78
app/http/model/Package.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
namespace app\http\model;
|
||||
|
||||
use fastphp\base\Model;
|
||||
use enum\http\Order as HttpOrderEnum;
|
||||
|
||||
class Package extends Model
|
||||
{
|
||||
protected $table = 'http_package';
|
||||
|
||||
|
||||
// order_info:{
|
||||
// order_type:1,//1:预储值、2:短效无限量、3:短效包天、4:短效包量、5:长效游戏
|
||||
// money:1,
|
||||
// pay_type:2,//1聚币 2支付宝 3微信
|
||||
// data:{}
|
||||
// },
|
||||
public function get_price($data) {
|
||||
$where = [];
|
||||
|
||||
if (isset($data['data']['title'])) {
|
||||
unset($data['data']['title']);
|
||||
}
|
||||
if (isset($data['data']['packId'])) {
|
||||
unset($data['data']['packId']);
|
||||
}
|
||||
if (isset($data['data']['packType'])) {
|
||||
unset($data['data']['packType']);
|
||||
}
|
||||
if (isset($data['data']['ipAmount'])) {
|
||||
unset($data['data']['ipAmount']);
|
||||
}
|
||||
if (isset($data['data']['ids'])) {
|
||||
unset($data['data']['ids']);
|
||||
}
|
||||
|
||||
switch ($data['order_type']) {
|
||||
case 2:
|
||||
$where = $data['data'];
|
||||
$where['package_type'] = HttpOrderEnum::$dxwxl;
|
||||
$where['periodAmount'] = 1;
|
||||
break;
|
||||
case 3:
|
||||
$where = $data['data'];
|
||||
$where['package_type'] = HttpOrderEnum::$dxbt;
|
||||
$where['periodAmount'] = 1;
|
||||
$where['ipAmount'] = 1;
|
||||
break;
|
||||
case 4:
|
||||
$where = $data['data'];
|
||||
$where['package_type'] = HttpOrderEnum::$dxbl;
|
||||
unset($where['ipAmount']);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
$where = [
|
||||
'periodType' => $data['data']['periodType'],
|
||||
'isAbroad' => $data['data']['isAbroad'],
|
||||
'shareType' => $data['data']['shareType'],
|
||||
'isRelayed' => $data['data']['isRelayed'],
|
||||
'lineType' => $data['data']['lineType'],
|
||||
'bandwidth' => $data['data']['bandwidth'],
|
||||
'package_type' => HttpOrderEnum::$cxyx
|
||||
];
|
||||
if ($data['data']['isAbroad'] == 0) {
|
||||
unset($where['isRelayed']);
|
||||
}
|
||||
if ($data['data']['shareType'] == 1) {
|
||||
unset($where['lineType']);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
$price = $this->getOne($where, 'ipAmount,price');
|
||||
return $price;
|
||||
}
|
||||
}
|
||||
9
app/http/model/Recharge.php
Normal file
9
app/http/model/Recharge.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace app\http\model;
|
||||
|
||||
use fastphp\base\Model;
|
||||
|
||||
class Recharge extends Model
|
||||
{
|
||||
protected $table = 'http_recharge';
|
||||
}
|
||||
33
app/http/model/User.php
Normal file
33
app/http/model/User.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace app\http\model;
|
||||
|
||||
use fastphp\base\Model;
|
||||
|
||||
class User extends Model
|
||||
{
|
||||
|
||||
// private $url_root = 'https://sandbox.sgxz.cn';
|
||||
private $url_root = 'https://merchant.sgxz.cn';
|
||||
|
||||
protected $table = 'user';
|
||||
|
||||
//获取用户的http相关信息 并且初始化sgUserId
|
||||
public function get_http_user($id){
|
||||
$user_info = $this->getOne(['Id' => $id],'Id,sgUserId,ju_money,is_verify');
|
||||
|
||||
if (empty($user_info['sgUserId'])) {
|
||||
$request_data = ['account' => $user_info['Id']];
|
||||
$url = $this->url_root.'/register/user';
|
||||
|
||||
$request_data = formatHttpRequert($request_data);
|
||||
|
||||
$http_data = json_decode(linkcurl($url,'POST',$request_data,[],0));
|
||||
|
||||
$update_user_info['sgUserId'] = $user_info['sgUserId'] = $http_data->d->id;
|
||||
|
||||
$this->updateOne(['Id' => $id],$update_user_info);
|
||||
}
|
||||
return $user_info;
|
||||
}
|
||||
}
|
||||
60
enum/http/Order.php
Normal file
60
enum/http/Order.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
namespace enum\http;
|
||||
|
||||
class Order
|
||||
{
|
||||
public static $order_type = [
|
||||
1 => '新开',
|
||||
2 => '续费',
|
||||
3 => '修改IP',
|
||||
4 => '储值包',
|
||||
];
|
||||
public static $new = 1;
|
||||
public static $rebuy = 2;
|
||||
public static $change_ip = 3;
|
||||
public static $charge = 4;
|
||||
|
||||
public static $package_type = [
|
||||
11 => '短效储值包',
|
||||
21 => '短效包天',
|
||||
22 => '短效包量',
|
||||
23 => '短效无限量',
|
||||
31 => '长效游戏',
|
||||
];
|
||||
public static $dxczb = 11;
|
||||
public static $dxwxl = 23;
|
||||
public static $dxbt = 21;
|
||||
public static $dxbl = 22;
|
||||
public static $cxyx = 31;
|
||||
public static $package_list = [21,22,23];
|
||||
|
||||
//有效时长
|
||||
public static $durationType = [
|
||||
5 => '1至5分钟',
|
||||
25 => '5至25分钟',
|
||||
180 => '25至180分钟',
|
||||
360 => '3至6小时',
|
||||
];
|
||||
public static $five = 5;
|
||||
public static $twfive = 25;
|
||||
public static $oneet = 180;
|
||||
public static $tshour = 360;
|
||||
|
||||
public static $order_status = [
|
||||
0 => '未支付',
|
||||
1 => '已支付',
|
||||
];
|
||||
public static $pay_no = 0;
|
||||
public static $pay_yes = 1;
|
||||
|
||||
public static $game_type = [
|
||||
0 => '国内',
|
||||
1 => '国外',
|
||||
];
|
||||
public static $sataus = [
|
||||
0 => '请求后台失败',
|
||||
1 => '请求成功',
|
||||
];
|
||||
public static $success = 1;
|
||||
public static $fail = 0;
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
* @Author: 万永康
|
||||
* @Date: 2020-10-11 12:32:50
|
||||
* @LastEditTime: 2023-11-11 14:15:28
|
||||
* @LastEditTime: 2023-12-06 16:47:16
|
||||
* @LastEditors: “wanyongkang” “937888580@qq.com”
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /phptest/alipay/Alipay.php
|
||||
@@ -123,6 +123,37 @@ class Alipay
|
||||
|
||||
}
|
||||
|
||||
public static function pay_http($param)
|
||||
{
|
||||
global $config;
|
||||
$aop = new \AopClient ();
|
||||
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
|
||||
$aop->appId = $config['alipay2']['app_id'];;
|
||||
$aop->rsaPrivateKey = $config['alipay2']['private_key'] ;
|
||||
$aop->apiVersion = '1.0';
|
||||
$aop->signType = 'RSA2';
|
||||
$aop->postCharset='utf-8';
|
||||
$aop->format='json';
|
||||
$aop->alipayrsaPublicKey = $config['alipay2']['public_key'];
|
||||
|
||||
$request = new \AlipayTradePagePayRequest();
|
||||
|
||||
|
||||
|
||||
$param = json_encode($param);
|
||||
|
||||
$request->setReturnUrl('http://www.juip.com/product/http');
|
||||
|
||||
$notifyUrl="http://php-api.juip.com/common/alipay/httalipayverify";
|
||||
$request->setNotifyUrl($notifyUrl);
|
||||
|
||||
$request->setBizContent($param);
|
||||
$result = $aop->pageExecute ( $request);
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 获取支付返回参数
|
||||
* @param {*} $post
|
||||
|
||||
@@ -26,4 +26,21 @@ class Wxpay
|
||||
$url2 = $result["code_url"];
|
||||
return $url2;
|
||||
}
|
||||
|
||||
public function http_pay($param) {
|
||||
$notify = new \NativePay();
|
||||
$input = new \WxPayUnifiedOrder();
|
||||
$input->SetBody("HTTP充值");
|
||||
$input->SetOut_trade_no($param['order_no']);
|
||||
$input->SetTotal_fee($param['money']);
|
||||
$input->SetTime_start(date("YmdHis"));
|
||||
$input->SetTime_expire(date("YmdHis", time() + 600));
|
||||
$input->SetNotify_url("http://php-api.juip.com/common/wxpay/httpwxpayverify");
|
||||
$input->SetTrade_type("NATIVE");
|
||||
|
||||
$result = $notify->GetPayUrl($input);
|
||||
|
||||
$url2 = $result["code_url"];
|
||||
return $url2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
* @version:
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-09-30 17:32:46
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @LastEditTime: 2020-12-07 16:44:09
|
||||
* @LastEditors: “wanyongkang” “937888580@qq.com”
|
||||
* @LastEditTime: 2023-12-26 16:29:17
|
||||
*/
|
||||
/**
|
||||
* 浏览器友好的变量输出
|
||||
@@ -222,3 +222,25 @@ function getIp()
|
||||
}
|
||||
return ($ip);
|
||||
}
|
||||
|
||||
//格式化http接口的请求函数
|
||||
function formatHttpRequert($data){
|
||||
//1001
|
||||
//f031e77c3055ade88b1db389e85a973a
|
||||
|
||||
$time = time();
|
||||
$data['appid'] = 1001;
|
||||
$data['timestamp'] = $time;
|
||||
ksort($data);
|
||||
|
||||
$http_request = http_build_query($data);
|
||||
$http_request =str_replace("%2C", ",", $http_request);
|
||||
|
||||
$sign = md5($http_request.'f031e77c3055ade88b1db389e85a973a');
|
||||
|
||||
$data ['appid'] = '1001';
|
||||
$data ['timestamp'] = $time;
|
||||
$data ['sign'] = $sign;
|
||||
|
||||
return $data;
|
||||
}
|
||||
Reference in New Issue
Block a user