for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yansongda\Pay\Traits;
use Yansongda\Artful\Exception\ContainerException;
use Yansongda\Artful\Exception\ServiceNotFoundException;
use Yansongda\Artful\Rocket;
use Yansongda\Pay\Pay;
use function Yansongda\Pay\get_provider_config;
trait SupportServiceProviderTrait
{
/**
* @throws ContainerException
* @throws ServiceNotFoundException
*/
protected function loadAlipayServiceProvider(Rocket $rocket): void
$params = $rocket->getParams();
$config = get_provider_config('alipay', $params);
$serviceProviderId = $config['service_provider_id'] ?? null;
if (Pay::MODE_SERVICE !== ($config['mode'] ?? Pay::MODE_NORMAL)
|| empty($serviceProviderId)) {
return;
}
$rocket->mergeParams([
'extend_params' => array_merge($params['extend_params'] ?? [], ['sys_service_provider_id' => $serviceProviderId]),
]);