test_lgq/niucloud/app/api/controller/pay/Pay.php

73 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2024-01-24 17:36:08 +08:00
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\pay;
use app\service\api\pay\PayService;
use core\base\BaseApiController;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\Response;
/**
* 微信服务端通信以及网页授权
*/
class Pay extends BaseApiController
{
/**
* 接收消息并推送
* @return void|null
*/
public function notify($site_id, $channel, $type, $action)
{
return (new PayService())->notify($channel, $type, $action);
}
/**
* 去支付
* @return Response
*/
public function pay()
{
$data = $this->request->params([
['type', ''],
['trade_type', ''],//业务类型
['trade_id', ''],//业务id
['quit_url', ''],
['buyer_id', ''],
['return_url', ''],
['voucher', '']
]);
return success('SUCCESS',(new PayService())->pay($data['type'], $data['trade_type'], $data['trade_id'], $data['return_url'], $data['quit_url'], $data['buyer_id'], $data['voucher']));
}
public function info($trade_type, $trade_id)
{
return success((new PayService())->getInfoByTrade($trade_type, $trade_id));
}
/**
* 获取可用的支付方法
* @param $trade_type
* @return Response
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function getPayType($trade_type){
return success((new PayService())->getPayTypeByTrade($trade_type));
}
}