init
- 框架初始化 - 安装插件 - 修复PHP8.4报错
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace Yansongda\Pay\Gateways\Wechat;
|
||||
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Yansongda\Pay\Events;
|
||||
use Yansongda\Pay\Exceptions\GatewayException;
|
||||
use Yansongda\Pay\Exceptions\InvalidArgumentException;
|
||||
use Yansongda\Pay\Exceptions\InvalidSignException;
|
||||
|
||||
class WapGateway extends Gateway
|
||||
{
|
||||
/**
|
||||
* Pay an order.
|
||||
*
|
||||
* @author yansongda <me@yansongda.cn>
|
||||
*
|
||||
* @param string $endpoint
|
||||
*
|
||||
* @throws GatewayException
|
||||
* @throws InvalidArgumentException
|
||||
* @throws InvalidSignException
|
||||
*/
|
||||
public function pay($endpoint, ?array $payload): RedirectResponse
|
||||
{
|
||||
$payload['trade_type'] = $this->getTradeType();
|
||||
|
||||
Events::dispatch(new Events\PayStarted('Wechat', 'Wap', $endpoint, $payload));
|
||||
|
||||
$mweb_url = $this->preOrder($payload)->get('mweb_url');
|
||||
|
||||
$url = is_null(Support::getInstance()->return_url) ? $mweb_url : $mweb_url.
|
||||
'&redirect_url='.urlencode(Support::getInstance()->return_url);
|
||||
|
||||
return new RedirectResponse($url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get trade type config.
|
||||
*
|
||||
* @author yansongda <me@yansongda.cn>
|
||||
*/
|
||||
protected function getTradeType(): string
|
||||
{
|
||||
return 'MWEB';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user