for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yansongda\Pay\Plugin\Wechat\Pay\Common;
use Exception;
use Yansongda\Pay\Exception\ContainerException;
use Yansongda\Pay\Exception\ServiceNotFoundException;
use Yansongda\Pay\Rocket;
use Yansongda\Supports\Config;
use Yansongda\Supports\Str;
use function Yansongda\Pay\get_wechat_sign_v2;
class InvokePrepayV2Plugin extends InvokePrepayPlugin
{
/**
* @throws ContainerException
* @throws ServiceNotFoundException
* @throws Exception
*/
protected function getInvokeConfig(Rocket $rocket, string $prepayId): Config
$config = new Config([
'appId' => $this->getAppId($rocket),
'timeStamp' => time().'',
'nonceStr' => Str::random(32),
'package' => 'prepay_id='.$prepayId,
'signType' => 'MD5',
]);
$config->set('paySign', get_wechat_sign_v2($rocket->getParams(), $config->toArray()));
return $config;
}