diff --git a/niucloud/vendor/composer/ClassLoader.php b/niucloud/vendor/composer/ClassLoader.php index a72151c77..7824d8f7e 100644 --- a/niucloud/vendor/composer/ClassLoader.php +++ b/niucloud/vendor/composer/ClassLoader.php @@ -45,35 +45,34 @@ class ClassLoader /** @var \Closure(string):void */ private static $includeFile; - /** @var ?string */ + /** @var string|null */ private $vendorDir; // PSR-4 /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixLengthsPsr4 = array(); /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixDirsPsr4 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr4 = array(); // PSR-0 /** - * @var array[] - * @psalm-var array> + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array>> */ private $prefixesPsr0 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr0 = array(); @@ -81,8 +80,7 @@ class ClassLoader private $useIncludePath = false; /** - * @var string[] - * @psalm-var array + * @var array */ private $classMap = array(); @@ -90,21 +88,20 @@ class ClassLoader private $classMapAuthoritative = false; /** - * @var bool[] - * @psalm-var array + * @var array */ private $missingClasses = array(); - /** @var ?string */ + /** @var string|null */ private $apcuPrefix; /** - * @var self[] + * @var array */ private static $registeredLoaders = array(); /** - * @param ?string $vendorDir + * @param string|null $vendorDir */ public function __construct($vendorDir = null) { @@ -113,7 +110,7 @@ class ClassLoader } /** - * @return string[] + * @return array> */ public function getPrefixes() { @@ -125,8 +122,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array> + * @return array> */ public function getPrefixesPsr4() { @@ -134,8 +130,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirs() { @@ -143,8 +138,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirsPsr4() { @@ -152,8 +146,7 @@ class ClassLoader } /** - * @return string[] Array of classname => path - * @psalm-return array + * @return array Array of classname => path */ public function getClassMap() { @@ -161,8 +154,7 @@ class ClassLoader } /** - * @param string[] $classMap Class to filename map - * @psalm-param array $classMap + * @param array $classMap Class to filename map * * @return void */ @@ -179,24 +171,25 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - (array) $paths + $paths ); } @@ -205,19 +198,19 @@ class ClassLoader $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; + $this->prefixesPsr0[$first][$prefix] = $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - (array) $paths + $paths ); } } @@ -226,9 +219,9 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * @@ -236,17 +229,18 @@ class ClassLoader */ public function addPsr4($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - (array) $paths + $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -256,18 +250,18 @@ class ClassLoader throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; + $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - (array) $paths + $paths ); } } @@ -276,8 +270,8 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 base directories * * @return void */ @@ -294,8 +288,8 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * @@ -481,9 +475,9 @@ class ClassLoader } /** - * Returns the currently registered loaders indexed by their corresponding vendor directories. + * Returns the currently registered loaders keyed by their corresponding vendor directories. * - * @return self[] + * @return array */ public static function getRegisteredLoaders() { diff --git a/niucloud/vendor/composer/InstalledVersions.php b/niucloud/vendor/composer/InstalledVersions.php index 51e734a77..6d29bff66 100644 --- a/niucloud/vendor/composer/InstalledVersions.php +++ b/niucloud/vendor/composer/InstalledVersions.php @@ -32,6 +32,11 @@ class InstalledVersions */ private static $installed; + /** + * @var bool + */ + private static $installedIsLocalDir; + /** * @var bool|null */ @@ -309,6 +314,12 @@ class InstalledVersions { self::$installed = $data; self::$installedByVendor = array(); + + // when using reload, we disable the duplicate protection to ensure that self::$installed data is + // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, + // so we have to assume it does not, and that may result in duplicate data being returned when listing + // all installed packages for example + self::$installedIsLocalDir = false; } /** @@ -322,19 +333,27 @@ class InstalledVersions } $installed = array(); + $copiedLocalDir = false; if (self::$canGetVendors) { + $selfDir = strtr(__DIR__, '\\', '/'); foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + $vendorDir = strtr($vendorDir, '\\', '/'); if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ $required = require $vendorDir.'/composer/installed.php'; - $installed[] = self::$installedByVendor[$vendorDir] = $required; - if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { - self::$installed = $installed[count($installed) - 1]; + self::$installedByVendor[$vendorDir] = $required; + $installed[] = $required; + if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { + self::$installed = $required; + self::$installedIsLocalDir = true; } } + if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { + $copiedLocalDir = true; + } } } @@ -350,7 +369,7 @@ class InstalledVersions } } - if (self::$installed !== array()) { + if (self::$installed !== array() && !$copiedLocalDir) { $installed[] = self::$installed; } diff --git a/niucloud/vendor/composer/autoload_psr4.php b/niucloud/vendor/composer/autoload_psr4.php index a234978f9..86fc3706e 100644 --- a/niucloud/vendor/composer/autoload_psr4.php +++ b/niucloud/vendor/composer/autoload_psr4.php @@ -10,7 +10,7 @@ return array( 'think\\trace\\' => array($vendorDir . '/topthink/think-trace/src'), 'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'), 'think\\app\\' => array($vendorDir . '/topthink/think-multi-app/src'), - 'think\\' => array($vendorDir . '/topthink/framework/src/think', $vendorDir . '/topthink/think-filesystem/src', $vendorDir . '/topthink/think-helper/src', $vendorDir . '/topthink/think-image/src', $vendorDir . '/topthink/think-orm/src', $vendorDir . '/topthink/think-template/src'), + 'think\\' => array($vendorDir . '/topthink/think-image/src', $vendorDir . '/topthink/think-filesystem/src', $vendorDir . '/topthink/think-template/src', $vendorDir . '/topthink/framework/src/think', $vendorDir . '/topthink/think-orm/src', $vendorDir . '/topthink/think-helper/src'), 'dh2y\\qrcode\\' => array($vendorDir . '/dh2y/think-qrcode/src'), 'core\\' => array($baseDir . '/core'), 'clagiordano\\weblibs\\configmanager\\' => array($vendorDir . '/clagiordano/weblibs-configmanager/src'), @@ -26,7 +26,7 @@ return array( 'Workerman\\Crontab\\' => array($vendorDir . '/workerman/crontab/src'), 'Workerman\\' => array($vendorDir . '/workerman/workerman'), 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), - 'TencentCloud\\' => array($vendorDir . '/tencentcloud/common/src/TencentCloud', $vendorDir . '/tencentcloud/sms/src/TencentCloud'), + 'TencentCloud\\' => array($vendorDir . '/tencentcloud/sms/src/TencentCloud', $vendorDir . '/tencentcloud/common/src/TencentCloud'), 'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'), 'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'), 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'), diff --git a/niucloud/vendor/composer/autoload_static.php b/niucloud/vendor/composer/autoload_static.php index fe89f840e..d1eea661d 100644 --- a/niucloud/vendor/composer/autoload_static.php +++ b/niucloud/vendor/composer/autoload_static.php @@ -223,12 +223,12 @@ class ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e ), 'think\\' => array ( - 0 => __DIR__ . '/..' . '/topthink/framework/src/think', + 0 => __DIR__ . '/..' . '/topthink/think-image/src', 1 => __DIR__ . '/..' . '/topthink/think-filesystem/src', - 2 => __DIR__ . '/..' . '/topthink/think-helper/src', - 3 => __DIR__ . '/..' . '/topthink/think-image/src', + 2 => __DIR__ . '/..' . '/topthink/think-template/src', + 3 => __DIR__ . '/..' . '/topthink/framework/src/think', 4 => __DIR__ . '/..' . '/topthink/think-orm/src', - 5 => __DIR__ . '/..' . '/topthink/think-template/src', + 5 => __DIR__ . '/..' . '/topthink/think-helper/src', ), 'dh2y\\qrcode\\' => array ( @@ -292,8 +292,8 @@ class ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e ), 'TencentCloud\\' => array ( - 0 => __DIR__ . '/..' . '/tencentcloud/common/src/TencentCloud', - 1 => __DIR__ . '/..' . '/tencentcloud/sms/src/TencentCloud', + 0 => __DIR__ . '/..' . '/tencentcloud/sms/src/TencentCloud', + 1 => __DIR__ . '/..' . '/tencentcloud/common/src/TencentCloud', ), 'Symfony\\Polyfill\\Php81\\' => array ( diff --git a/niucloud/vendor/composer/installed.json b/niucloud/vendor/composer/installed.json index b4af6ae1d..59f41264a 100644 --- a/niucloud/vendor/composer/installed.json +++ b/niucloud/vendor/composer/installed.json @@ -6868,17 +6868,17 @@ }, { "name": "yansongda/artful", - "version": "v1.0.9", - "version_normalized": "1.0.9.0", + "version": "v1.1.2", + "version_normalized": "1.1.2.0", "source": { "type": "git", "url": "https://github.com/yansongda/artful.git", - "reference": "1fbf987c0deb95a9b67eb343f2b96c8489635e6f" + "reference": "bad726c6287aca219750823bff46f70287ec3995" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yansongda/artful/zipball/1fbf987c0deb95a9b67eb343f2b96c8489635e6f", - "reference": "1fbf987c0deb95a9b67eb343f2b96c8489635e6f", + "url": "https://api.github.com/repos/yansongda/artful/zipball/bad726c6287aca219750823bff46f70287ec3995", + "reference": "bad726c6287aca219750823bff46f70287ec3995", "shasum": "", "mirrors": [ { @@ -6895,7 +6895,7 @@ "psr/http-client": "^1.0", "psr/http-message": "^1.1 || ^2.0", "psr/log": "^1.1 || ^2.0 || ^3.0", - "yansongda/supports": "~4.0.9" + "yansongda/supports": "~4.0.10" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.44", @@ -6903,7 +6903,7 @@ "hyperf/pimple": "^2.2", "mockery/mockery": "^1.4", "monolog/monolog": "^2.2", - "phpstan/phpstan": "^1.0.0", + "phpstan/phpstan": "^1.0.0 || ^2.0.0", "phpunit/phpunit": "^9.0", "symfony/event-dispatcher": "^5.2.0", "symfony/http-foundation": "^5.2.0", @@ -6914,7 +6914,7 @@ "hyperf/pimple": "其它/无框架下使用 SDK,请安装,任选其一", "illuminate/container": "其它/无框架下使用 SDK,请安装,任选其一" }, - "time": "2024-02-06T13:19:54+00:00", + "time": "2025-01-09T12:39:39+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6951,17 +6951,17 @@ }, { "name": "yansongda/pay", - "version": "v3.6.3", - "version_normalized": "3.6.3.0", + "version": "v3.7.11", + "version_normalized": "3.7.11.0", "source": { "type": "git", "url": "https://github.com/yansongda/pay.git", - "reference": "fba0bb30636cb936eed9e9078d781e0dc4e4282b" + "reference": "0c8bcb8f67b56fae6c852a5b3ec0a1793f5c8ddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yansongda/pay/zipball/fba0bb30636cb936eed9e9078d781e0dc4e4282b", - "reference": "fba0bb30636cb936eed9e9078d781e0dc4e4282b", + "url": "https://api.github.com/repos/yansongda/pay/zipball/0c8bcb8f67b56fae6c852a5b3ec0a1793f5c8ddb", + "reference": "0c8bcb8f67b56fae6c852a5b3ec0a1793f5c8ddb", "shasum": "", "mirrors": [ { @@ -6977,8 +6977,8 @@ "ext-openssl": "*", "ext-simplexml": "*", "php": ">=8.0", - "yansongda/artful": "~1.0.9", - "yansongda/supports": "~4.0.9" + "yansongda/artful": "~1.1.1", + "yansongda/supports": "~4.0.10" }, "conflict": { "hyperf/framework": "<3.0" @@ -6987,6 +6987,7 @@ "friendsofphp/php-cs-fixer": "^3.44", "guzzlehttp/guzzle": "^7.0", "hyperf/pimple": "^2.2", + "jetbrains/phpstorm-attributes": "^1.1", "mockery/mockery": "^1.4", "monolog/monolog": "^2.2", "phpstan/phpstan": "^1.0.0", @@ -6996,7 +6997,7 @@ "symfony/psr-http-message-bridge": "^2.1", "symfony/var-dumper": "^5.1" }, - "time": "2024-02-29T12:19:11+00:00", + "time": "2024-11-23T03:29:59+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -7032,17 +7033,17 @@ }, { "name": "yansongda/supports", - "version": "v4.0.9", - "version_normalized": "4.0.9.0", + "version": "v4.0.10", + "version_normalized": "4.0.10.0", "source": { "type": "git", "url": "https://github.com/yansongda/supports.git", - "reference": "c3479723be665360a5635c15f184a1d0a8dc995a" + "reference": "11cc73776e6d4d763a84c8c733f64820abdc44e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yansongda/supports/zipball/c3479723be665360a5635c15f184a1d0a8dc995a", - "reference": "c3479723be665360a5635c15f184a1d0a8dc995a", + "url": "https://api.github.com/repos/yansongda/supports/zipball/11cc73776e6d4d763a84c8c733f64820abdc44e5", + "reference": "11cc73776e6d4d763a84c8c733f64820abdc44e5", "shasum": "", "mirrors": [ { @@ -7064,7 +7065,7 @@ "monolog/monolog": "Use logger", "symfony/console": "Use stdout logger" }, - "time": "2024-01-06T05:14:33+00:00", + "time": "2024-06-09T15:49:21+00:00", "type": "library", "installation-source": "dist", "autoload": { diff --git a/niucloud/vendor/composer/installed.php b/niucloud/vendor/composer/installed.php index 04dceec4d..42204abcc 100644 --- a/niucloud/vendor/composer/installed.php +++ b/niucloud/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'topthink/think', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'ce5a9834a9b2c9f70dbc00270fad24bd80a0c025', + 'reference' => 'ab5c2b41d3c3d721eb012dcfb43b3418b064bd7c', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -792,7 +792,7 @@ 'topthink/think' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'ce5a9834a9b2c9f70dbc00270fad24bd80a0c025', + 'reference' => 'ab5c2b41d3c3d721eb012dcfb43b3418b064bd7c', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -934,27 +934,27 @@ 'dev_requirement' => false, ), 'yansongda/artful' => array( - 'pretty_version' => 'v1.0.9', - 'version' => '1.0.9.0', - 'reference' => '1fbf987c0deb95a9b67eb343f2b96c8489635e6f', + 'pretty_version' => 'v1.1.2', + 'version' => '1.1.2.0', + 'reference' => 'bad726c6287aca219750823bff46f70287ec3995', 'type' => 'library', 'install_path' => __DIR__ . '/../yansongda/artful', 'aliases' => array(), 'dev_requirement' => false, ), 'yansongda/pay' => array( - 'pretty_version' => 'v3.6.3', - 'version' => '3.6.3.0', - 'reference' => 'fba0bb30636cb936eed9e9078d781e0dc4e4282b', + 'pretty_version' => 'v3.7.11', + 'version' => '3.7.11.0', + 'reference' => '0c8bcb8f67b56fae6c852a5b3ec0a1793f5c8ddb', 'type' => 'library', 'install_path' => __DIR__ . '/../yansongda/pay', 'aliases' => array(), 'dev_requirement' => false, ), 'yansongda/supports' => array( - 'pretty_version' => 'v4.0.9', - 'version' => '4.0.9.0', - 'reference' => 'c3479723be665360a5635c15f184a1d0a8dc995a', + 'pretty_version' => 'v4.0.10', + 'version' => '4.0.10.0', + 'reference' => '11cc73776e6d4d763a84c8c733f64820abdc44e5', 'type' => 'library', 'install_path' => __DIR__ . '/../yansongda/supports', 'aliases' => array(), diff --git a/niucloud/vendor/kkokk/poster/src/PHPQrcode/bindings/tcpdf/qrcode.php b/niucloud/vendor/kkokk/poster/src/PHPQrcode/bindings/tcpdf/qrcode.php index 4e91e8cf9..e84b5e54b 100644 --- a/niucloud/vendor/kkokk/poster/src/PHPQrcode/bindings/tcpdf/qrcode.php +++ b/niucloud/vendor/kkokk/poster/src/PHPQrcode/bindings/tcpdf/qrcode.php @@ -115,7 +115,7 @@ if (!defined('QRCODEDEFS')) { /** * Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode. */ - if (!defined('QR_MODE_AN')) + if (!defined('QR_MODE_AN')) { define('QR_MODE_AN', 1); } diff --git a/niucloud/vendor/services.php b/niucloud/vendor/services.php index 2bbc02f03..84a4638da 100644 --- a/niucloud/vendor/services.php +++ b/niucloud/vendor/services.php @@ -1,5 +1,5 @@ 'think\\captcha\\CaptchaService', diff --git a/niucloud/vendor/yansongda/artful/CHANGELOG.md b/niucloud/vendor/yansongda/artful/CHANGELOG.md index c1a5730a6..695af808a 100644 --- a/niucloud/vendor/yansongda/artful/CHANGELOG.md +++ b/niucloud/vendor/yansongda/artful/CHANGELOG.md @@ -1,3 +1,15 @@ +## v1.1.1 + +### chore + +- chore: 升级 `yansongda/supports` 版本以解决潜在的问题(#19) + +## v1.1.0 + +### changed + +- change: http 配置项由 `httpFactory` 修改为 `http`(#17) + ## v1.0.9 ### fixed diff --git a/niucloud/vendor/yansongda/artful/README.md b/niucloud/vendor/yansongda/artful/README.md index 4cbba59f7..80e558508 100644 --- a/niucloud/vendor/yansongda/artful/README.md +++ b/niucloud/vendor/yansongda/artful/README.md @@ -17,7 +17,7 @@ Api RequesT Framework U Like - 你喜欢的 API 请求框架 ## 安装 ```shell -composer require yansongda/artful:~1.0.0 -vvv +composer require yansongda/artful:~1.1.0 -vvv ``` ## 文档 diff --git a/niucloud/vendor/yansongda/artful/composer.json b/niucloud/vendor/yansongda/artful/composer.json index 4223a86f1..4f6398815 100644 --- a/niucloud/vendor/yansongda/artful/composer.json +++ b/niucloud/vendor/yansongda/artful/composer.json @@ -22,14 +22,14 @@ "psr/container": "^1.1 || ^2.0", "psr/http-client": "^1.0", "psr/http-message": "^1.1 || ^2.0", - "yansongda/supports": "~4.0.9", + "yansongda/supports": "~4.0.10", "guzzlehttp/psr7": "^2.6" }, "require-dev": { "phpunit/phpunit": "^9.0", "mockery/mockery": "^1.4", "friendsofphp/php-cs-fixer": "^3.44", - "phpstan/phpstan": "^1.0.0", + "phpstan/phpstan": "^1.0.0 || ^2.0.0", "monolog/monolog": "^2.2", "symfony/var-dumper": "^5.1", "symfony/http-foundation": "^5.2.0", diff --git a/niucloud/vendor/yansongda/artful/src/Artful.php b/niucloud/vendor/yansongda/artful/src/Artful.php index bc3277189..cf9ba4875 100644 --- a/niucloud/vendor/yansongda/artful/src/Artful.php +++ b/niucloud/vendor/yansongda/artful/src/Artful.php @@ -52,7 +52,7 @@ class Artful /** * @throws ContainerException */ - private function __construct(array $config, Closure|ContainerInterface $container = null) + private function __construct(array $config, null|Closure|ContainerInterface $container = null) { $this->registerServices($config, $container); @@ -78,7 +78,7 @@ class Artful /** * @throws ContainerException */ - public static function config(array $config = [], Closure|ContainerInterface $container = null): bool + public static function config(array $config = [], null|Closure|ContainerInterface $container = null): bool { if (self::hasContainer() && !($config['_force'] ?? false)) { return false; @@ -288,7 +288,7 @@ class Artful Logger::info('[Artful] 准备请求第三方 API', $rocket->toArray()); - $http = $httpFactory->create(array_merge($config->get('httpFactory', []), $rocket->getPayload()?->get('_http') ?? [])); + $http = $httpFactory->create(array_merge($config->get('http', []), $rocket->getPayload()?->get('_http') ?? [])); Event::dispatch(new Event\HttpStart($rocket)); @@ -333,7 +333,7 @@ class Artful /** * @throws ContainerException */ - private function registerServices(array $config, Closure|ContainerInterface $container = null): void + private function registerServices(array $config, null|Closure|ContainerInterface $container = null): void { foreach ($this->coreService as $service) { self::registerService($service, ContainerServiceProvider::class == $service ? $container : $config); diff --git a/niucloud/vendor/yansongda/artful/src/Functions.php b/niucloud/vendor/yansongda/artful/src/Functions.php index 57ee1af3b..8f1db9249 100644 --- a/niucloud/vendor/yansongda/artful/src/Functions.php +++ b/niucloud/vendor/yansongda/artful/src/Functions.php @@ -86,3 +86,8 @@ function get_radar_body(?Collection $payload): mixed { return $payload?->get('_body') ?? null; } + +function get_radar_headers(?Collection $payload): mixed +{ + return $payload?->get('_headers') ?? null; +} diff --git a/niucloud/vendor/yansongda/artful/src/Plugin/AddRadarPlugin.php b/niucloud/vendor/yansongda/artful/src/Plugin/AddRadarPlugin.php index 0f906f527..f842f4daf 100644 --- a/niucloud/vendor/yansongda/artful/src/Plugin/AddRadarPlugin.php +++ b/niucloud/vendor/yansongda/artful/src/Plugin/AddRadarPlugin.php @@ -11,6 +11,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use function Yansongda\Artful\get_radar_body; +use function Yansongda\Artful\get_radar_headers; use function Yansongda\Artful\get_radar_method; use function Yansongda\Artful\get_radar_url; @@ -25,7 +26,7 @@ class AddRadarPlugin implements PluginInterface $rocket->setRadar(new Request( get_radar_method($payload) ?? 'POST', get_radar_url($payload), - $this->getHeaders(), + get_radar_headers($payload) ?? $this->getHeaders(), get_radar_body($payload), )); diff --git a/niucloud/vendor/yansongda/pay/CHANGELOG.md b/niucloud/vendor/yansongda/pay/CHANGELOG.md index b52628d8d..324e96d3f 100644 --- a/niucloud/vendor/yansongda/pay/CHANGELOG.md +++ b/niucloud/vendor/yansongda/pay/CHANGELOG.md @@ -1,3 +1,116 @@ +## v3.7.13 + +### added + +- feat: 新增支付宝APP同步回调验签 (#1061, #1064) + +## v3.7.12 + +### added + +- feat: 支持最新版微信商户转账 (#1058) + +## v3.7.11 + +### added + +- feat: 新增微信分账申请分账账单插件 (#1041) + +## v3.7.10 + +### fixed + +- fix: 未配置微信证书时,自动获取证书后仍然使用之前的微信配置(#1026) + +## v3.7.9 + +### added + +- feat: 新增抖音支付(#1014) + +## v3.7.8 + +### added + +- feat: 新增 v3 付款码服务商模式(#1010) + +## v3.7.7 + +### added + +- feat: 新增江苏银行e融支付(#1002) + +## v3.7.6 + +### fixed + +- fix: 微信关闭订单报解包错误的问题(#1000, #1001) + +## v3.7.5 + +### fixed + +- fix: 支付宝响应空签名时签名验证逻辑错误的问题(#998) + +### optimized + +- optimize: 优化微信 `ResponsePlugin` 插件去除不必要的返回参数(#996) + +### deprecated + +- deprecate: 微信 `StartPlugin` 改为使用 `yansongda/artful` 中的插件(#993) +- deprecate: `get_wechat_config`, `get_alipay_config`, `get_unipay_config` 方法已废弃,使用 `get_provider_config` 方法代替(#994) + +## v3.7.4 + +### optimized + +- optimize: 使用 is_file 代替字符串结尾判断(#982) + +## v3.7.3 + +### fixed + +- fix: 修复商家转账参数缺失的问题(#977) + +## v3.7.2 + +### added + +- feat: 微信V2版本支持普通红包(#973) + +### chore + +- chore: 升级 `yansongda/artful` 到最新版解决 http 配置不生效的问题(#974) + +## v3.7.1 + +### fixed + +- fix: 修复微信付款码 shortcut 支付插件执行顺序错误(#972) + +## v3.7.0 + +### added + +- feat: 支持微信 v3 版付款码支付(#969) + +### changed + +- changed: 微信付款码支付更改为 v3 版(#969) + +## v3.6.5 + +### added + +- feat: 支付宝根证书配置支持直接配置内容(#959) + +## v3.6.4 + +### fixed + +- fix: 修复支付宝授权访问令牌插件参数问题(#954) + ## v3.6.3 ### optimized diff --git a/niucloud/vendor/yansongda/pay/README.md b/niucloud/vendor/yansongda/pay/README.md index 461e4bc95..b50dd8048 100644 --- a/niucloud/vendor/yansongda/pay/README.md +++ b/niucloud/vendor/yansongda/pay/README.md @@ -77,6 +77,11 @@ yansongda/pay 100% 兼容 支付宝/微信/银联 所有功能(包括服务商 - 刷卡支付 - ... +### 抖音 + +- 小程序支付 +- ... + ### 银联 - 手机网站支付 @@ -84,10 +89,15 @@ yansongda/pay 100% 兼容 支付宝/微信/银联 所有功能(包括服务商 - 刷卡支付 - 扫码支付 - ... +- +### 江苏银行(e融支付) + +- 聚合扫码支付(微信,支付宝,银联,e融) +- ... ## 安装 ```shell -composer require yansongda/pay:~3.6.0 -vvv +composer require yansongda/pay:~3.7.0 -vvv ``` ## 深情一撇 @@ -141,7 +151,9 @@ class AlipayController public function web() { - $result = Pay::alipay($this->config)->web([ + Pay::config($this->config); + + $result = Pay::alipay()->web([ 'out_trade_no' => ''.time(), 'total_amount' => '0.01', 'subject' => 'yansongda 测试 - 1', @@ -152,7 +164,9 @@ class AlipayController public function returnCallback() { - $data = Pay::alipay($this->config)->callback(); // 是的,验签就这么简单! + Pay::config($this->config); + + $data = Pay::alipay()->callback(); // 是的,验签就这么简单! // 订单号:$data->out_trade_no // 支付宝交易号:$data->trade_no @@ -161,10 +175,10 @@ class AlipayController public function notifyCallback() { - $alipay = Pay::alipay($this->config); - + Pay::config($this->config); + try{ - $data = $alipay->callback(); // 是的,验签就这么简单! + $data = Pay::alipay()->callback(); // 是的,验签就这么简单! // 请自行对 trade_status 进行判断及其它逻辑进行判断,在支付宝的业务通知中,只有交易通知状态为 TRADE_SUCCESS 或 TRADE_FINISHED 时,支付宝才会认定为买家付款成功。 // 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号; @@ -172,11 +186,11 @@ class AlipayController // 3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email); // 4、验证app_id是否为该商户本身。 // 5、其它业务逻辑情况 - } catch (\Exception $e) { - // $e->getMessage(); + } catch (\Throwable $e) { + dd($e); } - return $alipay->success(); + return Pay::alipay()->success(); } } ``` @@ -244,6 +258,8 @@ class WechatController public function index() { + Pay::config($this->config); + $order = [ 'out_trade_no' => time().'', 'description' => 'subject-测试', @@ -255,7 +271,7 @@ class WechatController ], ]; - $pay = Pay::wechat($this->config)->mp($order); + $pay = Pay::wechat()->mp($order); // $pay->appId // $pay->timeStamp @@ -264,24 +280,176 @@ class WechatController // $pay->signType } - public function notifyCallback() + public function callback() { - $pay = Pay::wechat($this->config); - + Pay::config($this->config); + try{ - $data = $pay->callback(); // 是的,验签就这么简单! - } catch (\Exception $e) { - // $e->getMessage(); + $data = Pay::wechat()->callback(); // 是的,验签就这么简单! + } catch (\Throwable $e) { + dd($e); } - return $pay->success(); + return Pay::wechat()->success(); + } +} +``` + +### 抖音 +```php + [ + 'default' => [ + // 选填-商户号 + // 抖音开放平台 --> 应用详情 --> 支付信息 --> 产品管理 --> 商户号 + 'mch_id' => '73744242495132490630', + // 必填-支付 Token,用于支付回调签名 + // 抖音开放平台 --> 应用详情 --> 支付信息 --> 支付设置 --> Token(令牌) + 'mch_secret_token' => 'douyin_mini_token', + // 必填-支付 SALT,用于支付签名 + // 抖音开放平台 --> 应用详情 --> 支付信息 --> 支付设置 --> SALT + 'mch_secret_salt' => 'oDxWDBr4U7FAAQ8hnGDm29i4A6pbTMDKme4WLLvA', + // 必填-小程序 app_id + // 抖音开放平台 --> 应用详情 --> 支付信息 --> 支付设置 --> 小程序appid + 'mini_app_id' => 'tt226e54d3bd581bf801', + // 选填-抖音开放平台服务商id + 'thirdparty_id' => '', + // 选填-抖音支付回调地址 + 'notify_url' => 'https://yansongda.cn/douyin/notify', + ], + ], + 'logger' => [ // optional + 'enable' => false, + 'file' => './logs/alipay.log', + 'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug + 'type' => 'single', // optional, 可选 daily. + 'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天 + ], + 'http' => [ // optional + 'timeout' => 5.0, + 'connect_timeout' => 5.0, + // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html) + ], + ]; + + public function pay() + { + Pay::config($this->config); + + $result = Pay::douyin()->mini([ + 'out_order_no' => date('YmdHis').mt_rand(1000, 9999), + 'total_amount' => 1, + 'subject' => '闫嵩达 - test - subject - 01', + 'body' => '闫嵩达 - test - body - 01', + 'valid_time' => 600, + 'expand_order_info' => json_encode([ + 'original_delivery_fee' => 15, + 'actual_delivery_fee' => 10 + ]) + ]); + + return $result; + } + + public function callback() + { + Pay::config($this->config); + + try{ + $data = Pay::douyin()->callback(); // 是的,验签就这么简单! + } catch (\Throwable $e) { + dd($e) + } + + return Pay::douyin()->success(); + } +} +``` + +### 江苏银行(e融支付) +```php + [ + 'default' => [ + // 服务代码 + 'svr_code' => '', + // 必填-合作商ID + 'partner_id' => '', + // 必填-公私钥对编号 + 'public_key_code' => '00', + // 必填-商户私钥(加密签名) + 'mch_secret_cert_path' => '', + // 必填-商户公钥证书路径(提供江苏银行进行验证签名用) + 'mch_public_cert_path' => '', + // 必填-江苏银行的公钥(用于解密江苏银行返回的数据) + 'jsb_public_cert_path' => '', + //支付通知地址 + 'notify_url' => '', + // 选填-默认为正常模式。可选为: MODE_NORMAL:正式环境, MODE_SANDBOX:测试环境 + 'mode' => Pay::MODE_NORMAL, + ] + ], + 'logger' => [ // optional + 'enable' => false, + 'file' => './logs/epay.log', + 'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug + 'type' => 'single', // optional, 可选 daily. + 'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天 + ], + 'http' => [ // optional + 'timeout' => 5.0, + 'connect_timeout' => 5.0, + // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html) + ], + ]; + + public function index() + { + Pay::config($this->config); + + $order = [ + 'outTradeNo' => time().'', + 'proInfo' => 'subject-测试', + 'totalFee'=> 1, + ]; + + $pay = Pay::jsb()->scan($order); + } + + public function notifyCallback() + { + Pay::config($this->config); + + try{ + $data = Pay::jsb()->callback(); // 是的,验签就这么简单! + } catch (\Throwable $e) { + dd($e); + } + + return Pay::jsb()->success(); } } ``` ## 代码贡献 -由于测试及使用环境的限制,本项目中只开发了「支付宝」和「微信支付」的相关支付网关。 +由于测试及使用环境的限制,本项目中只开发了「支付宝」、「微信支付」、「抖音支付」、「银联」、「江苏银行」的相关支付网关。 如果您有其它支付网关的需求,或者发现本项目中需要改进的代码,**_欢迎 Fork 并提交 PR!_** diff --git a/niucloud/vendor/yansongda/pay/composer.json b/niucloud/vendor/yansongda/pay/composer.json index 77322af79..311d5a353 100644 --- a/niucloud/vendor/yansongda/pay/composer.json +++ b/niucloud/vendor/yansongda/pay/composer.json @@ -22,21 +22,22 @@ "ext-libxml": "*", "ext-json": "*", "ext-bcmath": "*", - "yansongda/artful": "~1.0.9", - "yansongda/supports": "~4.0.9" + "yansongda/artful": "~1.1.1", + "yansongda/supports": "~4.0.10" }, "require-dev": { "phpunit/phpunit": "^9.0", "mockery/mockery": "^1.4", "friendsofphp/php-cs-fixer": "^3.44", - "phpstan/phpstan": "^1.0.0", + "phpstan/phpstan": "^1.0.0 || ^2.0.0", "monolog/monolog": "^2.2", "symfony/var-dumper": "^5.1", "symfony/http-foundation": "^5.2.0", "symfony/event-dispatcher": "^5.2.0", "symfony/psr-http-message-bridge": "^2.1", "hyperf/pimple": "^2.2", - "guzzlehttp/guzzle": "^7.0" + "guzzlehttp/guzzle": "^7.0", + "jetbrains/phpstorm-attributes": "^1.1" }, "conflict": { "hyperf/framework": "<3.0" diff --git a/niucloud/vendor/yansongda/pay/src/Exception/Exception.php b/niucloud/vendor/yansongda/pay/src/Exception/Exception.php index 1085168ff..8aa3d6ed8 100644 --- a/niucloud/vendor/yansongda/pay/src/Exception/Exception.php +++ b/niucloud/vendor/yansongda/pay/src/Exception/Exception.php @@ -37,6 +37,8 @@ class Exception extends \Exception public const PARAMS_CALLBACK_REQUEST_INVALID = 9221; + public const PARAMS_DOUYIN_URL_MISSING = 9222; + /** * 关于响应. */ @@ -44,6 +46,8 @@ class Exception extends \Exception public const RESPONSE_MISSING_NECESSARY_PARAMS = 9305; + public const RESPONSE_BUSINESS_CODE_WRONG = 9306; + /* * 关于配置. */ @@ -53,6 +57,10 @@ class Exception extends \Exception public const CONFIG_UNIPAY_INVALID = 9403; + public const CONFIG_JSB_INVALID = 9404; + + public const CONFIG_DOUYIN_INVALID = 9405; + /** * 关于签名. */ diff --git a/niucloud/vendor/yansongda/pay/src/Functions.php b/niucloud/vendor/yansongda/pay/src/Functions.php index 420b50bb3..4c7826e64 100644 --- a/niucloud/vendor/yansongda/pay/src/Functions.php +++ b/niucloud/vendor/yansongda/pay/src/Functions.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Yansongda\Pay; +use JetBrains\PhpStorm\Deprecated; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Yansongda\Artful\Contract\ConfigInterface; @@ -13,19 +14,20 @@ use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Exception\DecryptException; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Exception\InvalidSignException; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\WechatPublicCertsPlugin; use Yansongda\Pay\Provider\Alipay; +use Yansongda\Pay\Provider\Douyin; +use Yansongda\Pay\Provider\Jsb; use Yansongda\Pay\Provider\Unipay; use Yansongda\Pay\Provider\Wechat; use Yansongda\Supports\Collection; -use Yansongda\Supports\Str; use function Yansongda\Artful\get_radar_body; use function Yansongda\Artful\get_radar_method; @@ -37,12 +39,12 @@ function get_tenant(array $params = []): string function get_public_cert(string $key): string { - return Str::endsWith($key, ['.cer', '.crt', '.pem']) ? file_get_contents($key) : $key; + return is_file($key) ? file_get_contents($key) : $key; } function get_private_cert(string $key): string { - if (Str::endsWith($key, ['.crt', '.pem'])) { + if (is_file($key)) { return file_get_contents($key); } @@ -64,6 +66,19 @@ function get_radar_url(array $config, ?Collection $payload): ?string * @throws ContainerException * @throws ServiceNotFoundException */ +function get_provider_config(string $provider, array $params = []): array +{ + /** @var ConfigInterface $config */ + $config = Pay::get(ConfigInterface::class); + + return $config->get($provider, [])[get_tenant($params)] ?? []; +} + +/** + * @throws ContainerException + * @throws ServiceNotFoundException + */ +#[Deprecated(reason: '自 v3.7.5 开始废弃', replacement: 'get_provider_config')] function get_alipay_config(array $params = []): array { $alipay = Pay::get(ConfigInterface::class)->get('alipay'); @@ -114,6 +129,7 @@ function verify_alipay_sign(array $config, string $contents, string $sign): void * @throws ContainerException * @throws ServiceNotFoundException */ +#[Deprecated(reason: '自 v3.7.5 开始废弃', replacement: 'get_provider_config')] function get_wechat_config(array $params = []): array { $wechat = Pay::get(ConfigInterface::class)->get('wechat'); @@ -232,7 +248,7 @@ function verify_wechat_sign(ResponseInterface|ServerRequestInterface $message, a $body = (string) $message->getBody(); $content = $timestamp."\n".$random."\n".$body."\n"; - $public = get_wechat_config($params)['wechat_public_cert_path'][$wechatSerial] ?? null; + $public = get_provider_config('wechat', $params)['wechat_public_cert_path'][$wechatSerial] ?? null; if (empty($sign)) { throw new InvalidSignException(Exception::SIGN_EMPTY, '签名异常: 微信签名为空', ['headers' => $message->getHeaders(), 'body' => $body]); @@ -309,7 +325,7 @@ function reload_wechat_public_certs(array $params, ?string $serialNo = null): st $params )->get('data', []); - $wechatConfig = get_wechat_config($params); + $wechatConfig = get_provider_config('wechat', $params); foreach ($data as $item) { $certs[$item['serial_no']] = decrypt_wechat_resource($item['encrypt_certificate'], $wechatConfig)['ciphertext'] ?? ''; @@ -338,7 +354,7 @@ function get_wechat_public_certs(array $params = [], ?string $path = null): void { reload_wechat_public_certs($params); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (empty($path)) { var_dump($config['wechat_public_cert_path']); @@ -419,12 +435,12 @@ function get_wechat_serial_no(array $params): string return $params['_serial_no']; } - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (empty($config['wechat_public_cert_path'])) { reload_wechat_public_certs($params); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); } mt_srand(); @@ -440,7 +456,7 @@ function get_wechat_public_key(array $config, string $serialNo): string $publicKey = $config['wechat_public_cert_path'][$serialNo] ?? null; if (empty($publicKey)) { - throw new InvalidParamsException(Exception::PARAMS_WECHAT_SERIAL_NOT_FOUND, '参数异常: 微信公钥序列号为找到 -'.$serialNo); + throw new InvalidParamsException(Exception::PARAMS_WECHAT_SERIAL_NOT_FOUND, '参数异常: 微信公钥序列号未找到 - '.$serialNo); } return $publicKey; @@ -467,6 +483,7 @@ function get_wechat_miniprogram_user_sign(string $sessionKey, string $payload): * @throws ContainerException * @throws ServiceNotFoundException */ +#[Deprecated(reason: '自 v3.7.5 开始废弃', replacement: 'get_provider_config')] function get_unipay_config(array $params = []): array { $unipay = Pay::get(ConfigInterface::class)->get('unipay'); @@ -576,3 +593,59 @@ function verify_unipay_sign_qra(array $config, array $destination): void throw new InvalidSignException(Exception::SIGN_ERROR, '签名异常: 验证银联签名失败', $destination); } } + +function get_jsb_url(array $config, ?Collection $payload): string +{ + $url = get_radar_url($config, $payload) ?? ''; + + if (str_starts_with($url, 'http')) { + return $url; + } + + return Jsb::URL[$config['mode'] ?? Pay::MODE_NORMAL]; +} + +/** + * @throws InvalidConfigException + * @throws InvalidSignException + */ +function verify_jsb_sign(array $config, string $content, string $sign): void +{ + if (empty($sign)) { + throw new InvalidSignException(Exception::SIGN_EMPTY, '签名异常: 江苏银行签名为空', func_get_args()); + } + + $publicCert = $config['jsb_public_cert_path'] ?? null; + + if (empty($publicCert)) { + throw new InvalidConfigException(Exception::CONFIG_JSB_INVALID, '配置异常: 缺少配置参数 -- [jsb_public_cert_path]'); + } + + $result = 1 === openssl_verify( + $content, + base64_decode($sign), + get_public_cert($publicCert) + ); + + if (!$result) { + throw new InvalidSignException(Exception::SIGN_ERROR, '签名异常: 验证江苏银行签名失败', func_get_args()); + } +} + +/** + * @throws InvalidParamsException + */ +function get_douyin_url(array $config, ?Collection $payload): string +{ + $url = get_radar_url($config, $payload); + + if (empty($url)) { + throw new InvalidParamsException(Exception::PARAMS_DOUYIN_URL_MISSING, '参数异常: 抖音 `_url` 参数缺失:你可能用错插件顺序,应该先使用 `业务插件`'); + } + + if (str_starts_with($url, 'http')) { + return $url; + } + + return Douyin::URL[$config['mode'] ?? Pay::MODE_NORMAL].$url; +} diff --git a/niucloud/vendor/yansongda/pay/src/Pay.php b/niucloud/vendor/yansongda/pay/src/Pay.php index 9fad1ac39..d10beba66 100644 --- a/niucloud/vendor/yansongda/pay/src/Pay.php +++ b/niucloud/vendor/yansongda/pay/src/Pay.php @@ -10,9 +10,13 @@ use Yansongda\Artful\Artful; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Pay\Provider\Alipay; +use Yansongda\Pay\Provider\Douyin; +use Yansongda\Pay\Provider\Jsb; use Yansongda\Pay\Provider\Unipay; use Yansongda\Pay\Provider\Wechat; use Yansongda\Pay\Service\AlipayServiceProvider; +use Yansongda\Pay\Service\DouyinServiceProvider; +use Yansongda\Pay\Service\JsbServiceProvider; use Yansongda\Pay\Service\UnipayServiceProvider; use Yansongda\Pay\Service\WechatServiceProvider; @@ -20,6 +24,8 @@ use Yansongda\Pay\Service\WechatServiceProvider; * @method static Alipay alipay(array $config = [], $container = null) * @method static Wechat wechat(array $config = [], $container = null) * @method static Unipay unipay(array $config = [], $container = null) + * @method static Jsb jsb(array $config = [], $container = null) + * @method static Douyin douyin(array $config = [], $container = null) */ class Pay { @@ -42,6 +48,8 @@ class Pay AlipayServiceProvider::class, WechatServiceProvider::class, UnipayServiceProvider::class, + JsbServiceProvider::class, + DouyinServiceProvider::class, ]; /** @@ -60,7 +68,7 @@ class Pay /** * @throws ContainerException */ - public static function config(array $config = [], Closure|ContainerInterface $container = null): bool + public static function config(array $config = [], null|Closure|ContainerInterface $container = null): bool { $result = Artful::config($config, $container); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddPayloadSignaturePlugin.php index a89a2a942..dd3614f0e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddPayloadSignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddPayloadSignaturePlugin.php @@ -13,8 +13,8 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_alipay_config; use function Yansongda\Pay\get_private_cert; +use function Yansongda\Pay\get_provider_config; class AddPayloadSignaturePlugin implements PluginInterface { @@ -57,7 +57,7 @@ class AddPayloadSignaturePlugin implements PluginInterface */ protected function getPrivateKey(array $params): string { - $privateKey = get_alipay_config($params)['app_secret_cert'] ?? null; + $privateKey = get_provider_config('alipay', $params)['app_secret_cert'] ?? null; if (is_null($privateKey)) { throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, '配置异常: 缺少支付宝配置 -- [app_secret_cert]'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddRadarPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddRadarPlugin.php index 09d08ca92..cc99de1c5 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddRadarPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AddRadarPlugin.php @@ -11,9 +11,11 @@ use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; +use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_alipay_config; +use function Yansongda\Artful\get_radar_method; use function Yansongda\Pay\get_alipay_url; +use function Yansongda\Pay\get_provider_config; class AddRadarPlugin implements PluginInterface { @@ -26,11 +28,12 @@ class AddRadarPlugin implements PluginInterface Logger::debug('[Alipay][AddRadarPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_alipay_config($params); + $config = get_provider_config('alipay', $params); $payload = $rocket->getPayload(); $rocket->setRadar(new Request( - strtoupper($params['_method'] ?? 'POST'), + // 这里因为支付宝的 payload 里不包含 _method,所以需要取 params 中的 + get_radar_method(new Collection($params)) ?? 'POST', get_alipay_url($config, $payload), $this->getHeaders(), // 不能用 packer,支付宝接收的是 x-www-form-urlencoded 返回的又是 json,packer 用的是返回. diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AppCallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AppCallbackPlugin.php new file mode 100644 index 000000000..ab9129ac2 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/AppCallbackPlugin.php @@ -0,0 +1,55 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('alipay', $params); + + if (empty($params['alipay_trade_app_pay_response'])) { + throw new InvalidParamsException(Exception::PARAMS_CALLBACK_REQUEST_INVALID); + } + + $value = filter_params($params['alipay_trade_app_pay_response']); + + verify_alipay_sign($config, $value->toJson(), $params['sign'] ?? ''); + + $rocket->setPayload($params) + ->setDirection(NoHttpRequestDirection::class) + ->setDestination($rocket->getPayload()); + + Logger::info('[Alipay][AppCallbackPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/CallbackPlugin.php index 13ca83595..cb6c8504a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/CallbackPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/CallbackPlugin.php @@ -13,10 +13,9 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\InvalidSignException; -use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_alipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_alipay_sign; class CallbackPlugin implements PluginInterface @@ -32,11 +31,11 @@ class CallbackPlugin implements PluginInterface Logger::debug('[Alipay][CallbackPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_alipay_config($params); + $config = get_provider_config('alipay', $params); $value = filter_params($params, fn ($k, $v) => '' !== $v && 'sign' != $k && 'sign_type' != $k); - verify_alipay_sign($config, Collection::wrap($value)->sortKeys()->toString(), $params['sign'] ?? ''); + verify_alipay_sign($config, $value->sortKeys()->toString(), $params['sign'] ?? ''); $rocket->setPayload($params) ->setDirection(NoHttpRequestDirection::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/Member/Authorization/TokenPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/Member/Authorization/TokenPlugin.php index d8c3de130..a267e8034 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/Member/Authorization/TokenPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/Member/Authorization/TokenPlugin.php @@ -18,10 +18,12 @@ class TokenPlugin implements PluginInterface { Logger::debug('[Alipay][Member][Authorization][TokenPlugin] 插件开始装载', ['rocket' => $rocket]); - $rocket->mergePayload([ - 'method' => 'alipay.system.oauth.token', - 'biz_content' => $rocket->getParams(), - ]); + $rocket->mergePayload(array_merge( + [ + 'method' => 'alipay.system.oauth.token', + ], + $rocket->getParams(), + )); Logger::info('[Alipay][Member][Authorization][TokenPlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/ResponsePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/ResponsePlugin.php index 5ceafa7e8..36f2870e6 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/ResponsePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/ResponsePlugin.php @@ -6,14 +6,19 @@ namespace Yansongda\Pay\Plugin\Alipay\V2; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Exception\InvalidResponseException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; +use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\should_do_http_request; class ResponsePlugin implements PluginInterface { + /** + * @throws InvalidResponseException + */ public function assembly(Rocket $rocket, Closure $next): Rocket { /* @var Rocket $rocket */ @@ -26,9 +31,16 @@ class ResponsePlugin implements PluginInterface $resultKey = str_replace('.', '_', $payload->get('method')).'_response'; if (should_do_http_request($rocket->getDirection()) && $destination instanceof Collection) { + $sign = $destination->get('sign', ''); + $response = $destination->get($resultKey, $destination->all()); + + if (empty($sign) && '10000' !== ($response['code'] ?? 'null')) { + throw new InvalidResponseException(Exception::RESPONSE_BUSINESS_CODE_WRONG, '支付宝网关响应异常: '.($response['sub_msg'] ?? $response['msg'] ?? '未知错误,请查看支付宝原始响应'), $rocket->getDestination()); + } + $rocket->setDestination(new Collection(array_merge( - ['_sign' => $destination->get('sign', '')], - $destination->get($resultKey, $destination->all()) + ['_sign' => $sign], + $response ))); } diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/StartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/StartPlugin.php index 2b75590ea..187a762b9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/StartPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/StartPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_alipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_public_cert; use function Yansongda\Pay\get_tenant; @@ -45,7 +45,7 @@ class StartPlugin implements PluginInterface protected function getPayload(array $params): array { $tenant = get_tenant($params); - $config = get_alipay_config($params); + $config = get_provider_config('alipay', $params); return [ 'app_id' => $config['app_id'] ?? '', @@ -112,7 +112,7 @@ class StartPlugin implements PluginInterface $ssl = openssl_x509_parse(get_public_cert($path)); if (false === $ssl) { - throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, 'Parse `app_public_cert_path` Error'); + throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, '配置异常: 解析 `app_public_cert_path` 失败'); } $result = $this->getCertSn($ssl['issuer'] ?? [], $ssl['serialNumber'] ?? ''); @@ -136,11 +136,11 @@ class StartPlugin implements PluginInterface $path = $config['alipay_root_cert_path'] ?? null; if (is_null($path)) { - throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, 'Missing Alipay Config -- [alipay_root_cert_path]'); + throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, '配置异常: 缺少支付宝配置 -- [alipay_root_cert_path]'); } $sn = ''; - $exploded = explode('-----END CERTIFICATE-----', file_get_contents($path)); + $exploded = explode('-----END CERTIFICATE-----', get_public_cert($path)); foreach ($exploded as $cert) { if (empty(trim($cert))) { @@ -150,7 +150,7 @@ class StartPlugin implements PluginInterface $ssl = openssl_x509_parse($cert.'-----END CERTIFICATE-----'); if (false === $ssl) { - throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, 'Invalid alipay_root_cert'); + throw new InvalidConfigException(Exception::CONFIG_ALIPAY_INVALID, '配置异常: 解析 `alipay_root_cert` 失败'); } $detail = $this->formatCert($ssl); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/VerifySignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/VerifySignaturePlugin.php index 738b8e6db..5e667e506 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/VerifySignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Alipay/V2/VerifySignaturePlugin.php @@ -17,7 +17,7 @@ use Yansongda\Pay\Exception\InvalidSignException; use Yansongda\Supports\Collection; use function Yansongda\Artful\should_do_http_request; -use function Yansongda\Pay\get_alipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_alipay_sign; class VerifySignaturePlugin implements PluginInterface @@ -46,7 +46,7 @@ class VerifySignaturePlugin implements PluginInterface throw new InvalidParamsException(Exception::RESPONSE_EMPTY, '参数异常: 支付宝验证签名时待验签参数不正确', $destination); } - $config = get_alipay_config($rocket->getParams()); + $config = get_provider_config('alipay', $rocket->getParams()); verify_alipay_sign($config, json_encode($result, JSON_UNESCAPED_UNICODE), $destination->get('_sign', '')); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddPayloadSignaturePlugin.php new file mode 100644 index 000000000..7a83f97c9 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddPayloadSignaturePlugin.php @@ -0,0 +1,94 @@ + $rocket]); + + $config = get_provider_config('douyin', $rocket->getParams()); + $payload = $rocket->getPayload(); + + $rocket->mergePayload(['sign' => $this->getSign($config, filter_params($payload))]); + + Logger::info('[Douyin][V1][Pay][AddPayloadSignaturePlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + /** + * @throws InvalidConfigException + */ + protected function getSign(array $config, Collection $payload): string + { + $salt = $config['mch_secret_salt'] ?? null; + + if (empty($salt)) { + throw new InvalidConfigException(Exception::CONFIG_DOUYIN_INVALID, '配置异常: 缺少抖音配置 -- [mch_secret_salt]'); + } + + foreach ($payload as $key => $value) { + if (is_string($value)) { + $value = trim($value); + } + + if (in_array($key, ['other_settle_params', 'app_id', 'sign', 'thirdparty_id']) || empty($value) || 'null' === $value) { + continue; + } + + if (is_array($value)) { + $value = $this->arrayToString($value); + } + + $signData[] = $value; + } + + $signData[] = $salt; + + sort($signData, SORT_STRING); + + return md5(implode('&', $signData)); + } + + protected function arrayToString(array $value): string + { + $isJsonArray = isset($value[0]); + $keys = array_keys($value); + + if ($isJsonArray) { + sort($keys); + } + + foreach ($keys as $key) { + $val = $value[$key]; + + $result[] = is_array($val) ? $this->arrayToString($val) : (($isJsonArray ? '' : $key.':').trim(strval($val))); + } + + $result = '['.implode(' ', $result ?? []).']'; + + return ($isJsonArray ? '' : 'map').$result; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddRadarPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddRadarPlugin.php new file mode 100644 index 000000000..b7a020c9a --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/AddRadarPlugin.php @@ -0,0 +1,55 @@ + $rocket]); + + $params = $rocket->getParams(); + $payload = $rocket->getPayload(); + $config = get_provider_config('douyin', $params); + + $rocket->setRadar(new Request( + get_radar_method($payload), + get_douyin_url($config, $payload), + $this->getHeaders(), + get_radar_body($payload), + )); + + Logger::info('[Douyin][V1][Pay][AddRadarPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function getHeaders(): array + { + return [ + 'User-Agent' => 'yansongda/pay-v3', + 'Content-Type' => 'application/json; charset=utf-8', + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/CallbackPlugin.php new file mode 100644 index 000000000..c348f4882 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/CallbackPlugin.php @@ -0,0 +1,74 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('douyin', $params); + + $value = filter_params($params, fn ($k, $v) => '' !== $v && 'msg_signature' != $k && 'type' != $k); + + $this->verifySign($config, $value->all(), $params['msg_signature'] ?? ''); + + $rocket->setPayload($params) + ->setDirection(NoHttpRequestDirection::class) + ->setDestination($rocket->getPayload()); + + Logger::info('[Douyin][V1][Pay][CallbackPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + /** + * @throws InvalidConfigException + * @throws InvalidSignException + */ + protected function verifySign(array $config, array $contents, string $sign): void + { + if (empty($sign)) { + throw new InvalidSignException(Exception::SIGN_EMPTY, '签名异常: 验证抖音签名失败-抖音签名为空', func_get_args()); + } + + $contents['token'] = $config['mch_secret_token'] ?? null; + + if (empty($contents['token'])) { + throw new InvalidConfigException(Exception::CONFIG_DOUYIN_INVALID, '配置异常: 缺少抖音配置 -- [mch_secret_token]'); + } + + sort($contents, SORT_STRING); + $data = trim(implode('', $contents)); + + $result = $sign === sha1($data); + + if (!$result) { + throw new InvalidSignException(Exception::SIGN_ERROR, '签名异常: 验证抖音签名失败', func_get_args()); + } + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/PayPlugin.php new file mode 100644 index 000000000..392614966 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/PayPlugin.php @@ -0,0 +1,72 @@ + $rocket]); + + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('douyin', $params); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 抖音小程序下单,参数为空'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $config); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'api/apps/ecpay/v1/create_order', + 'app_id' => $config['mini_app_id'] ?? '', + 'notify_url' => $payload->get('notify_url') ?? $this->getNotifyUrl($config), + ], + $data ?? [], + )); + + Logger::info('[Douyin][V1][Pay][Mini][PayPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function service(Collection $payload, array $config): array + { + return [ + 'thirdparty_id' => $payload->get('thirdparty_id', $config['thirdparty_id'] ?? ''), + ]; + } + + protected function getNotifyUrl(array $config): ?string + { + return empty($config['notify_url']) ? null : $config['notify_url']; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryPlugin.php new file mode 100644 index 000000000..3dbca6db2 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryPlugin.php @@ -0,0 +1,66 @@ + $rocket]); + + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('douyin', $params); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 抖音小程序查询订单,参数为空'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $config); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'api/apps/ecpay/v1/query_order', + 'app_id' => $config['mini_app_id'] ?? '', + ], + $data ?? [], + )); + + Logger::info('[Douyin][V1][Pay][Mini][QueryPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function service(Collection $payload, array $config): array + { + return [ + 'thirdparty_id' => $payload->get('thirdparty_id', $config['thirdparty_id'] ?? ''), + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryRefundPlugin.php new file mode 100644 index 000000000..8f15e3a9a --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/QueryRefundPlugin.php @@ -0,0 +1,66 @@ + $rocket]); + + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('douyin', $params); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 抖音小程序查询退款订单,参数为空'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $config); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'api/apps/ecpay/v1/query_refund', + 'app_id' => $config['mini_app_id'] ?? '', + ], + $data ?? [], + )); + + Logger::info('[Douyin][V1][Pay][Mini][QueryRefundPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function service(Collection $payload, array $config): array + { + return [ + 'thirdparty_id' => $payload->get('thirdparty_id', $config['thirdparty_id'] ?? ''), + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/RefundPlugin.php new file mode 100644 index 000000000..718646168 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/Mini/RefundPlugin.php @@ -0,0 +1,72 @@ + $rocket]); + + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('douyin', $params); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 抖音小程序退款订单,参数为空'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $config); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'api/apps/ecpay/v1/create_refund', + 'app_id' => $config['mini_app_id'] ?? '', + 'notify_url' => $payload->get('notify_url') ?? $this->getNotifyUrl($config), + ], + $data ?? [], + )); + + Logger::info('[Douyin][V1][Pay][Mini][RefundPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function service(Collection $payload, array $config): array + { + return [ + 'thirdparty_id' => $payload->get('thirdparty_id', $config['thirdparty_id'] ?? ''), + ]; + } + + protected function getNotifyUrl(array $config): ?string + { + return empty($config['notify_url']) ? null : $config['notify_url']; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/ResponsePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/ResponsePlugin.php new file mode 100644 index 000000000..df4939a6a --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Douyin/V1/Pay/ResponsePlugin.php @@ -0,0 +1,51 @@ + $rocket]); + + $this->validateResponse($rocket); + + Logger::info('[Douyin][V1][Pay][ResponsePlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + /** + * @throws InvalidResponseException + */ + protected function validateResponse(Rocket $rocket): void + { + $destination = $rocket->getDestination(); + $response = $rocket->getDestinationOrigin(); + + if ($response instanceof ResponseInterface + && ($response->getStatusCode() < 200 || $response->getStatusCode() >= 300)) { + throw new InvalidResponseException(Exception::RESPONSE_CODE_WRONG, '抖音返回状态码异常,请检查参数是否错误', $destination); + } + + if (0 !== $destination->get('err_no')) { + throw new InvalidResponseException(Exception::RESPONSE_BUSINESS_CODE_WRONG, '抖音返回业务异常: '.$destination->get('err_tips'), $destination); + } + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddPayloadSignPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddPayloadSignPlugin.php new file mode 100644 index 000000000..a3c029552 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddPayloadSignPlugin.php @@ -0,0 +1,65 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + $payload = $rocket->getPayload(); + + if (empty($payload) || $payload->isEmpty()) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少支付必要参数。可能插件用错顺序,应该先使用 `业务插件`'); + } + + $privateCertPath = $config['mch_secret_cert_path'] ?? ''; + + if (empty($privateCertPath)) { + throw new InvalidConfigException(Exception::CONFIG_JSB_INVALID, '配置异常: 缺少配置参数 -- [mch_secret_cert_path]'); + } + + $rocket->mergePayload([ + 'signType' => 'RSA', + 'sign' => $this->getSignature(get_private_cert($privateCertPath), $payload), + ]); + + Logger::info('[Jsb][AddPayloadSignPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function getSignature(string $pkey, Collection $payload): string + { + $content = $payload->sortKeys()->toString(); + + openssl_sign($content, $signature, $pkey); + + return base64_encode($signature); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddRadarPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddRadarPlugin.php new file mode 100644 index 000000000..870382a1b --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/AddRadarPlugin.php @@ -0,0 +1,68 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + $payload = $rocket->getPayload(); + + $rocket->setRadar(new Request( + strtoupper($params['_method'] ?? 'POST'), + get_jsb_url($config, $payload), + $this->getHeaders(), + $this->getBody($payload), + )); + + Logger::info('[Jsb][AddRadarPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function getHeaders(): array + { + return [ + 'Content-Type' => 'text/html', + 'User-Agent' => 'yansongda/pay-v3', + ]; + } + + protected function getBody(Collection $payload): string + { + $sign = $payload->get('sign'); + $signType = $payload->get('signType'); + + $payload->forget('sign'); + $payload->forget('signType'); + + $payload = $payload->sortKeys(); + + $payload->set('sign', $sign); + $payload->set('signType', $signType); + + return $payload->toString(); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/CallbackPlugin.php new file mode 100644 index 000000000..bb9940dd5 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/CallbackPlugin.php @@ -0,0 +1,70 @@ + $rocket]); + + $this->formatRequestAndParams($rocket); + + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + + $payload = $rocket->getPayload(); + $signature = $payload->get('sign'); + + $payload->forget('sign'); + $payload->forget('signType'); + + verify_jsb_sign($config, $payload->sortKeys()->toString(), $signature); + + $rocket->setDirection(NoHttpRequestDirection::class) + ->setDestination($rocket->getPayload()); + + Logger::info('[Jsb][CallbackPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + /** + * @throws InvalidParamsException + */ + protected function formatRequestAndParams(Rocket $rocket): void + { + $request = $rocket->getParams()['request'] ?? null; + + if (!$request instanceof Collection) { + throw new InvalidParamsException(Exception::PARAMS_CALLBACK_REQUEST_INVALID); + } + + $rocket->setPayload($request)->setParams($rocket->getParams()['params'] ?? []); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/PayPlugin.php new file mode 100644 index 000000000..dc9392d11 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/PayPlugin.php @@ -0,0 +1,49 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + $backUrl = $rocket->getPayload()['notify_url'] ?? $config['notify_url'] ?? null; + + if (!$backUrl) { + throw new InvalidConfigException(Exception::CONFIG_JSB_INVALID, '配置异常: 缺少配置参数 -- [notify_url]'); + } + + $rocket->mergePayload([ + 'service' => 'atPay', + 'backUrl' => $backUrl, + ]); + + Logger::info('[Jsb][Pay][Scan][PayPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/QueryPlugin.php new file mode 100644 index 000000000..47b4e8968 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/QueryPlugin.php @@ -0,0 +1,30 @@ + $rocket]); + + $rocket->mergePayload([ + 'deviceNo' => '1234567890', + 'service' => 'payCheck', + ]); + + Logger::info('[Jsb][Pay][Scan][QueryPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/RefundPlugin.php new file mode 100644 index 000000000..e77081036 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/Pay/Scan/RefundPlugin.php @@ -0,0 +1,30 @@ + $rocket]); + + $rocket->mergePayload([ + 'deviceNo' => '1234567890', + 'service' => 'payRefund', + ]); + + Logger::info('[Jsb][Pay][Scan][RefundPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/ResponsePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/ResponsePlugin.php new file mode 100644 index 000000000..023ba9538 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/ResponsePlugin.php @@ -0,0 +1,52 @@ + $rocket]); + + $this->validateResponse($rocket); + + Logger::info('[Jsb][ResponsePlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + /** + * @throws InvalidResponseException + */ + protected function validateResponse(Rocket $rocket): void + { + $destination = $rocket->getDestination(); + $destinationOrigin = $rocket->getDestinationOrigin(); + + if ($destinationOrigin instanceof ResponseInterface + && ($destinationOrigin->getStatusCode() < 200 || $destinationOrigin->getStatusCode() >= 300)) { + throw new InvalidResponseException(Exception::RESPONSE_CODE_WRONG, '江苏银行返回状态码异常,请检查参数是否错误', $rocket->getDestination()); + } + + if ($destination instanceof Collection && '000000' !== $destination->get('respCode')) { + throw new InvalidResponseException(Exception::RESPONSE_BUSINESS_CODE_WRONG, sprintf('江苏银行返回错误: respCode:%s respMsg:%s', $destination->get('respCode'), $destination->get('respMsg')), $rocket->getDestination()); + } + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/StartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/StartPlugin.php new file mode 100644 index 000000000..22a1b1246 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/StartPlugin.php @@ -0,0 +1,49 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + + $rocket->setPacker(QueryPacker::class) + ->mergePayload(array_merge($params, [ + 'createData' => date('Ymd'), + 'createTime' => date('His'), + 'bizDate' => date('Ymd'), + 'msgId' => Str::uuidV4(), + 'svrCode' => $config['svr_code'] ?? '', + 'partnerId' => $config['partner_id'] ?? '', + 'channelNo' => 'm', + 'publicKeyCode' => $config['public_key_code'] ?? '', + 'version' => 'v1.0.0', + 'charset' => 'utf-8', + ])); + + Logger::info('[Jsb][StartPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/VerifySignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/VerifySignaturePlugin.php new file mode 100644 index 000000000..635cbf1dd --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Jsb/VerifySignaturePlugin.php @@ -0,0 +1,76 @@ + $rocket]); + + if (should_do_http_request($rocket->getDirection())) { + $params = $rocket->getParams(); + $config = get_provider_config('jsb', $params); + + $body = (string) $rocket->getDestinationOrigin()->getBody(); + $signatureData = $this->getSignatureData($body); + + verify_jsb_sign($config, $signatureData['data'] ?? '', $signatureData['sign'] ?? ''); + } + + Logger::info('[Jsb][VerifySignaturePlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + private function getSignatureData(string $body): array + { + if (Str::contains($body, '&-&')) { + $beginIndex = strpos($body, '&signType='); + $endIndex = strpos($body, '&-&'); + $data = substr($body, 0, $beginIndex).substr($body, $endIndex); + + $signIndex = strpos($body, '&sign='); + $signature = substr($body, $signIndex + strlen('&sign='), $endIndex - ($signIndex + strlen('&sign='))); + } else { + $result = Arr::wrapQuery($body, true); + $result = Collection::wrap($result); + $signature = $result->get('sign'); + $result->forget('sign'); + $result->forget('signType'); + $data = $result->sortKeys()->toString(); + } + + return [ + 'sign' => $signature, + 'data' => $data, + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/AddRadarPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/AddRadarPlugin.php index 01a590b96..4b5b56931 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/AddRadarPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/AddRadarPlugin.php @@ -14,8 +14,8 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use function Yansongda\Artful\get_radar_method; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_unipay_body; -use function Yansongda\Pay\get_unipay_config; use function Yansongda\Pay\get_unipay_url; class AddRadarPlugin implements PluginInterface @@ -30,7 +30,7 @@ class AddRadarPlugin implements PluginInterface Logger::debug('[Unipay][AddRadarPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setRadar(new Request( diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/AddPayloadSignaturePlugin.php index a0b0b6bbf..62a95854b 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/AddPayloadSignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/AddPayloadSignaturePlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; class AddPayloadSignaturePlugin implements PluginInterface { @@ -29,7 +29,7 @@ class AddPayloadSignaturePlugin implements PluginInterface Logger::debug('[Unipay][AddPayloadSignaturePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); if (empty($payload) || $payload->isEmpty()) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/CallbackPlugin.php index 740cb89d7..2fc127b60 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/CallbackPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/CallbackPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\InvalidSignException; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_unipay_sign; class CallbackPlugin implements PluginInterface @@ -31,7 +31,7 @@ class CallbackPlugin implements PluginInterface Logger::debug('[Unipay][CallbackPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPayload($params); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/H5/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/H5/PayPlugin.php index d4c8c5e43..991670b32 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/H5/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/H5/PayPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?apiservId=453&acpAPIId=334&bussType=0 @@ -28,7 +28,7 @@ class PayPlugin implements PluginInterface Logger::debug('[Unipay][Pay][H5][PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setDirection(ResponseDirection::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/CancelPlugin.php index eab69d1dd..6c8282984 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/CancelPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/CancelPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?apiservId=468&acpAPIId=800&bussType=0 @@ -28,7 +28,7 @@ class CancelPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][CancelPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPlugin.php index ef9dc7c3a..7d361bfeb 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=798&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class PosPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][PosPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPreAuthPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPreAuthPlugin.php index 71856adef..b3f3f0fba 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPreAuthPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/PosPreAuthPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=797&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class PosPreAuthPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][PosPreAuthPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/QueryPlugin.php index 089dba973..2594d39d4 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/QueryPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=792&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/RefundPlugin.php index 0d1491e22..ff445db22 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/RefundPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=799&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Unipay][QrCode][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanFeePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanFeePlugin.php index 7381d93bd..a7de9cc7f 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanFeePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanFeePlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=796&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class ScanFeePlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][ScanFeePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPlugin.php index 18a00f9a2..5a0e241bf 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=793&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class ScanPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][ScanPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreAuthPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreAuthPlugin.php index 92ca3d132..ee4943651 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreAuthPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreAuthPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=794&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class ScanPreAuthPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][ScanPreAuthPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreOrderPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreOrderPlugin.php index acb18ac58..0c44b8b18 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreOrderPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/QrCode/ScanPreOrderPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=795&apiservId=468&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class ScanPreOrderPlugin implements PluginInterface Logger::debug('[Unipay][Pay][QrCode][ScanPreOrderPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/CancelPlugin.php index 9d811d1d8..4379948ad 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/CancelPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/CancelPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=755&apiservId=448&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class CancelPlugin implements PluginInterface Logger::debug('[Unipay][Pay][Web][CancelPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/PayPlugin.php index 632586f66..df20095cb 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/PayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=754&apiservId=448&version=V2.2&bussType=0 @@ -29,7 +29,7 @@ class PayPlugin implements PluginInterface Logger::debug('[Unipay][Pay][Web][PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/QueryPlugin.php index a78fb4b69..e57e37272 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/QueryPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=757&apiservId=448&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Unipay][Pay][Web][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/RefundPlugin.php index 11a89b083..ab7b0b5fe 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/Pay/Web/RefundPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Packer\QueryPacker; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://open.unionpay.com/tjweb/acproduct/APIList?acpAPIId=756&apiservId=448&version=V2.2&bussType=0 @@ -28,7 +28,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Unipay][Pay][Web][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(QueryPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/StartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/StartPlugin.php index c92ff681c..ed3252ce3 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/StartPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/StartPlugin.php @@ -15,8 +15,8 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_tenant; -use function Yansongda\Pay\get_unipay_config; class StartPlugin implements PluginInterface { @@ -30,7 +30,7 @@ class StartPlugin implements PluginInterface Logger::debug('[Unipay][StartPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $tenant = get_tenant($params); $rocket->mergePayload(array_merge($params, [ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/VerifySignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/VerifySignaturePlugin.php index c20c1f0ec..aca6db473 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/VerifySignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Open/VerifySignaturePlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\InvalidSignException; use Yansongda\Supports\Collection; use function Yansongda\Artful\should_do_http_request; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_unipay_sign; class VerifySignaturePlugin implements PluginInterface @@ -44,7 +44,7 @@ class VerifySignaturePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); verify_unipay_sign( $config, diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/AddPayloadSignaturePlugin.php index 56afd94bd..7c205e7eb 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/AddPayloadSignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/AddPayloadSignaturePlugin.php @@ -15,7 +15,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_unipay_sign_qra; class AddPayloadSignaturePlugin implements PluginInterface @@ -31,7 +31,7 @@ class AddPayloadSignaturePlugin implements PluginInterface Logger::debug('[Unipay][Qra][AddPayloadSignaturePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); if (empty($payload) || $payload->isEmpty()) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/CallbackPlugin.php index eb61bf064..3cc00ff6d 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/CallbackPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/CallbackPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\InvalidSignException; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_unipay_sign_qra; class CallbackPlugin implements PluginInterface @@ -31,7 +31,7 @@ class CallbackPlugin implements PluginInterface Logger::debug('[Unipay][Qra][CallbackPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $destination = filter_params($params); if (isset($params['status']) && 0 == $params['status']) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/CancelPlugin.php index e354c05d8..ecfe1b964 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/CancelPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/CancelPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=294 @@ -31,7 +31,7 @@ class CancelPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][CancelPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/PayPlugin.php index c88752d89..5ae7815f9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/PayPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=292 @@ -31,7 +31,7 @@ class PayPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryOpenIdPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryOpenIdPlugin.php index 4405143b6..d6dffd29b 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryOpenIdPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryOpenIdPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=300 @@ -31,7 +31,7 @@ class QueryOpenIdPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][QueryOpenIdPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryPlugin.php index 76f79eff8..c8aebabf9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=293 @@ -31,7 +31,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryRefundPlugin.php index ce25dc22b..7d9280a17 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/QueryRefundPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=296 @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/RefundPlugin.php index cfbb08abd..58096b9c5 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Pos/RefundPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=2&index_2=1&chapter_1=274&chapter_2=295 @@ -31,7 +31,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Pos][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/ClosePlugin.php index 6e6277cf7..c6e486ff8 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/ClosePlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=1&index_2=1&chapter_1=235&chapter_2=255 @@ -31,7 +31,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Unipay][Qra][Scan][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/PayPlugin.php index 8e22f92ea..ea253de5e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/PayPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=1&index_2=1&chapter_1=235&chapter_2=253 @@ -31,7 +31,7 @@ class PayPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Scan][PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $payload = $rocket->getPayload(); $rocket->setPacker(XmlPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryPlugin.php index 9a1515a9c..bff614dc6 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=1&index_2=1&chapter_1=235&chapter_2=254 @@ -31,7 +31,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Scan][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryRefundPlugin.php index 4981b4890..9458bbe5a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/QueryRefundPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=1&index_2=1&chapter_1=235&chapter_2=257 @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Scan][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/RefundPlugin.php index 242c61c3a..d0c57b872 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/Scan/RefundPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://up.95516.com/open/openapi/doc?index_1=1&index_2=1&chapter_1=235&chapter_2=256 @@ -31,7 +31,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Unipay][Qra][Scan][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_unipay_config($params); + $config = get_provider_config('unipay', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/VerifySignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/VerifySignaturePlugin.php index 135cb80a6..5f8662275 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/VerifySignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Unipay/Qra/VerifySignaturePlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\InvalidSignException; use function Yansongda\Artful\should_do_http_request; -use function Yansongda\Pay\get_unipay_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_unipay_sign_qra; class VerifySignaturePlugin implements PluginInterface @@ -32,7 +32,7 @@ class VerifySignaturePlugin implements PluginInterface Logger::debug('[Unipay][Qra][VerifySignaturePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_unipay_config($rocket->getParams()); + $config = get_provider_config('unipay', $rocket->getParams()); if (!should_do_http_request($rocket->getDirection())) { return $rocket; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/AddRadarPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/AddRadarPlugin.php index 3df82b636..9b085ef44 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/AddRadarPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/AddRadarPlugin.php @@ -14,8 +14,8 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Supports\Collection; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_body; -use function Yansongda\Pay\get_wechat_config; use function Yansongda\Pay\get_wechat_method; use function Yansongda\Pay\get_wechat_url; @@ -32,7 +32,7 @@ class AddRadarPlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $rocket->setRadar(new Request( get_wechat_method($payload), diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/ResponsePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/ResponsePlugin.php index 90ac4dea4..f284dc1b0 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/ResponsePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/ResponsePlugin.php @@ -5,14 +5,12 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat; use Closure; -use Psr\Http\Message\MessageInterface; use Psr\Http\Message\ResponseInterface; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\InvalidResponseException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use Yansongda\Supports\Collection; class ResponsePlugin implements PluginInterface { @@ -26,7 +24,7 @@ class ResponsePlugin implements PluginInterface Logger::debug('[Wechat][ResponsePlugin] 插件开始装载', ['rocket' => $rocket]); - $rocket->setDestination($this->validateResponse($rocket)); + $this->validateResponse($rocket); Logger::info('[Wechat][ResponsePlugin] 插件装载完毕', ['rocket' => $rocket]); @@ -36,7 +34,7 @@ class ResponsePlugin implements PluginInterface /** * @throws InvalidResponseException */ - protected function validateResponse(Rocket $rocket): null|Collection|MessageInterface + protected function validateResponse(Rocket $rocket): void { $response = $rocket->getDestinationOrigin(); @@ -44,7 +42,5 @@ class ResponsePlugin implements PluginInterface && ($response->getStatusCode() < 200 || $response->getStatusCode() >= 300)) { throw new InvalidResponseException(Exception::RESPONSE_CODE_WRONG, '微信返回状态码异常,请检查参数是否错误', $rocket->getDestination()); } - - return $rocket->getDestination(); } } diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/StartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/StartPlugin.php index 98dc068f8..101deee58 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/StartPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/StartPlugin.php @@ -5,10 +5,12 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; +#[Deprecated(reason: '自 v3.7.5 版本已废弃', replacement: '`yansongda/artful` 包中的 `Yansongda\Artful\Plugin\StartPlugin`')] class StartPlugin implements PluginInterface { public function assembly(Rocket $rocket, Closure $next): Rocket diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/AddPayloadSignaturePlugin.php index c8521c3d6..9bc0d315e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/AddPayloadSignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/AddPayloadSignaturePlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign_v2; class AddPayloadSignaturePlugin implements PluginInterface @@ -27,7 +27,7 @@ class AddPayloadSignaturePlugin implements PluginInterface { Logger::debug('[Wechat][V2][AddPayloadSignaturePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $rocket->mergePayload([ 'sign' => get_wechat_sign_v2($config, filter_params($rocket->getPayload())->all()), diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ApplyPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ApplyPlugin.php index 9fd1ec2eb..36bc98918 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ApplyPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ApplyPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class ApplyPlugin implements PluginInterface Logger::debug('[Wechat][V2][Papay][Direct][ApplyPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setPacker(XmlPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ContractOrderPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ContractOrderPlugin.php index adffba5c2..fb7c1d50c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ContractOrderPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/ContractOrderPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class ContractOrderPlugin implements PluginInterface Logger::debug('[Wechat][V2][Papay][Direct][ContractOrderPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setPacker(XmlPacker::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/MiniOnlyContractPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/MiniOnlyContractPlugin.php index acdf7cf0f..7f30d7ad2 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/MiniOnlyContractPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Papay/Direct/MiniOnlyContractPlugin.php @@ -12,7 +12,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -29,7 +29,7 @@ class MiniOnlyContractPlugin implements PluginInterface Logger::debug('[Wechat][V2][Papay][Direct][OnlyContractPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDirection(NoHttpRequestDirection::class) diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/App/InvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/App/InvokePlugin.php index 72cb573bc..b30e2cf16 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/App/InvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/App/InvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign_v2; /** @@ -51,7 +51,7 @@ class InvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Mini/InvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Mini/InvokePlugin.php index e144dc6a5..992fc72e9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Mini/InvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Mini/InvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign_v2; /** @@ -51,7 +51,7 @@ class InvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/CancelPlugin.php index 00b957bf5..831cf4b31 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/CancelPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/CancelPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class CancelPlugin implements PluginInterface Logger::debug('[Wechat][V2][Pay][Pos][CancelPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/PayPlugin.php index f3bbd7e7e..e3961f040 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/PayPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class PayPlugin implements PluginInterface Logger::debug('[Wechat][V2][Pay][Pos][PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/QueryPlugin.php index 49b1c841f..02625780c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Pos/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Packer\XmlPacker; use Yansongda\Artful\Rocket; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V2][Pay][Pos][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $rocket->setPacker(XmlPacker::class) ->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Redpack/SendPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Redpack/SendPlugin.php new file mode 100644 index 000000000..453c6c245 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/Pay/Redpack/SendPlugin.php @@ -0,0 +1,81 @@ + $rocket]); + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $config, $params); + } + + $rocket->setPacker(XmlPacker::class) + ->mergePayload(array_merge( + [ + '_url' => 'mmpaymkttransfers/sendredpack', + '_content_type' => 'application/xml', + 'nonce_str' => Str::random(32), + '_http' => [ + 'ssl_key' => $config['mch_secret_cert'], + 'cert' => $config['mch_public_cert_path'], + ], + ], + $data ?? $this->normal($config, $params) + )); + + Logger::info('[Wechat][V2][Pay][Pos][PayPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function normal(array $config, array $params): array + { + return [ + 'wxappid' => $config[get_wechat_type_key($params)] ?? '', + 'mch_id' => $config['mch_id'] ?? '', + ]; + } + + protected function service(Collection $payload, array $config, array $params): array + { + $wechatTypeKey = get_wechat_type_key($params); + + return [ + 'wxappid' => $config[$wechatTypeKey] ?? '', + 'mch_id' => $config['mch_id'] ?? '', + 'sub_mch_id' => $payload->get('sub_mch_id', $config['sub_mch_id'] ?? ''), + 'msgappid' => $config['sub_'.$wechatTypeKey], + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/VerifySignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/VerifySignaturePlugin.php index 7875e8c01..9c7031ef8 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/VerifySignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V2/VerifySignaturePlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\InvalidSignException; use function Yansongda\Artful\should_do_http_request; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_wechat_sign_v2; class VerifySignaturePlugin implements PluginInterface @@ -32,7 +32,7 @@ class VerifySignaturePlugin implements PluginInterface Logger::debug('[Wechat][V2][VerifySignaturePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (!should_do_http_request($rocket->getDirection())) { return $rocket; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/AddPayloadSignaturePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/AddPayloadSignaturePlugin.php index 1b426af3d..fa84bfb1c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/AddPayloadSignaturePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/AddPayloadSignaturePlugin.php @@ -17,9 +17,9 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use Yansongda\Supports\Str; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_public_cert; use function Yansongda\Pay\get_wechat_body; -use function Yansongda\Pay\get_wechat_config; use function Yansongda\Pay\get_wechat_method; use function Yansongda\Pay\get_wechat_sign; use function Yansongda\Pay\get_wechat_url; @@ -37,7 +37,7 @@ class AddPayloadSignaturePlugin implements PluginInterface { Logger::debug('[Wechat][V3][AddPayloadSignaturePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $timestamp = time(); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/CallbackPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/CallbackPlugin.php index 79e4eb7d6..107924c76 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/CallbackPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/CallbackPlugin.php @@ -20,7 +20,7 @@ use Yansongda\Pay\Exception\InvalidSignException; use Yansongda\Supports\Collection; use function Yansongda\Pay\decrypt_wechat_resource; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\verify_wechat_sign; class CallbackPlugin implements PluginInterface @@ -48,7 +48,7 @@ class CallbackPlugin implements PluginInterface $rocket->setDirection(NoHttpRequestDirection::class)->setPayload(new Collection($body)); - $body['resource'] = decrypt_wechat_resource($body['resource'] ?? [], get_wechat_config($params)); + $body['resource'] = decrypt_wechat_resource($body['resource'] ?? [], get_provider_config('wechat', $params)); $rocket->setDestination(new Collection($body)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/CompletePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/CompletePlugin.php index 53b4e1b3e..9e6aeb629 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/CompletePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/CompletePlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/consumer-complaint/complaints/complete-complaint-v2.html @@ -30,7 +30,7 @@ class CompletePlugin implements PluginInterface { Logger::debug('[Wechat][Extend][Complaints][CompletePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $complaintId = $payload?->get('complaint_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/QueryDetailPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/QueryDetailPlugin.php index 955a3e780..57647162c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/QueryDetailPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/QueryDetailPlugin.php @@ -16,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Pay\decrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/consumer-complaint/complaints/query-complaint-v2.html @@ -56,7 +56,7 @@ class QueryDetailPlugin implements PluginInterface $destination = $rocket->getDestination(); if ($destination instanceof Collection && !empty($payerPhone = $destination->get('payer_phone'))) { - $decryptPayerPhone = decrypt_wechat_contents($payerPhone, get_wechat_config($rocket->getParams())); + $decryptPayerPhone = decrypt_wechat_contents($payerPhone, get_provider_config('wechat', $rocket->getParams())); if (empty($decryptPayerPhone)) { throw new InvalidConfigException(Exception::DECRYPT_WECHAT_ENCRYPTED_CONTENTS_INVALID, '参数异常: 查询投诉单详情,参数 `payer_phone` 解密失败'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/ResponsePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/ResponsePlugin.php index 854f0ef3f..6ed6050ea 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/ResponsePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/Complaints/ResponsePlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/consumer-complaint/complaints/response-complaint-v2.html @@ -30,7 +30,7 @@ class ResponsePlugin implements PluginInterface { Logger::debug('[Wechat][Extend][Complaints][ResponsePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $complaintId = $payload?->get('complaint_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/AddReceiverPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/AddReceiverPlugin.php index 6627888be..f3877c543 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/AddReceiverPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/AddReceiverPlugin.php @@ -18,7 +18,7 @@ use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; use function Yansongda\Pay\encrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_public_key; use function Yansongda\Pay\get_wechat_serial_no; use function Yansongda\Pay\get_wechat_type_key; @@ -41,11 +41,11 @@ class AddReceiverPlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][AddReceiverPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { - throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账参数'); + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少添加分账接收方参数'); } if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { @@ -123,6 +123,8 @@ class AddReceiverPlugin implements PluginInterface protected function encryptSensitiveData(array $params, array $config, Collection $payload): array { $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); $publicKey = get_wechat_public_key($config, $data['_serial_no']); $data['name'] = encrypt_wechat_contents($payload->get('name'), $publicKey); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/CreatePlugin.php index 8e33e0318..1b3e3464e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/CreatePlugin.php @@ -18,7 +18,7 @@ use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; use function Yansongda\Pay\encrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_public_key; use function Yansongda\Pay\get_wechat_serial_no; use function Yansongda\Pay\get_wechat_type_key; @@ -41,11 +41,11 @@ class CreatePlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][CreatePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { - throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账参数'); + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少请求分账参数'); } if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { @@ -123,6 +123,8 @@ class CreatePlugin implements PluginInterface protected function encryptSensitiveData(array $params, array $config, Collection $payload): array { $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); $publicKey = get_wechat_public_key($config, $data['_serial_no']); foreach ($payload->get('receivers', []) as $key => $list) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/DeleteReceiverPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/DeleteReceiverPlugin.php index c4f65fc8d..07dac6ed0 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/DeleteReceiverPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/DeleteReceiverPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -34,7 +34,7 @@ class DeleteReceiverPlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][DeleteReceiverPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/GetBillPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/GetBillPlugin.php new file mode 100644 index 000000000..09bac2d44 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/GetBillPlugin.php @@ -0,0 +1,47 @@ + $rocket]); + + $payload = $rocket->getPayload(); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 分账 申请账单,参数为空'); + } + + $query = filter_params($payload)->query(); + + $rocket->setPayload([ + '_method' => 'GET', + '_url' => 'v3/profitsharing/bills?'.$query, + '_service_url' => 'v3/profitsharing/bills?'.$query, + ]); + + Logger::info('[Wechat][V3][Extend][ProfitSharing][GetBillPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryMerchantConfigsPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryMerchantConfigsPlugin.php index 96deebc1e..3620fa502 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryMerchantConfigsPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryMerchantConfigsPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/profit-sharing/merchants/query-merchant-ratio.html @@ -31,7 +31,7 @@ class QueryMerchantConfigsPlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][QueryMerchantConfigsPlugin] 插件开始装载', ['rocket' => $rocket]); $payload = $rocket->getPayload(); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $subMchId = $payload?->get('sub_mch_id') ?? $config['sub_mch_id'] ?? 'null'; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryPlugin.php index 032687802..02ba6e066 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/profit-sharing/orders/query-order.html @@ -30,7 +30,7 @@ class QueryPlugin implements PluginInterface { Logger::debug('[Wechat][Extend][ProfitSharing][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $outOrderNo = $payload?->get('out_order_no') ?? null; $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryReturnPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryReturnPlugin.php index 84cc5e2df..5509b2d52 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryReturnPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/QueryReturnPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/profit-sharing/return-orders/query-return-order.html @@ -30,7 +30,7 @@ class QueryReturnPlugin implements PluginInterface { Logger::debug('[Wechat][Extend][ProfitSharing][QueryReturnPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $outOrderNo = $payload?->get('out_order_no') ?? null; $outReturnNo = $payload?->get('out_return_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/ReturnPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/ReturnPlugin.php index 974b47a93..dd8c61611 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/ReturnPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/ReturnPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/profit-sharing/return-orders/create-return-order.html @@ -33,11 +33,11 @@ class ReturnPlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][ReturnPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { - throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账参数'); + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账退回参数'); } if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/UnfreezePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/UnfreezePlugin.php index 04befc0d5..3c85140bd 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/UnfreezePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Extend/ProfitSharing/UnfreezePlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/profit-sharing/orders/unfreeze-order.html @@ -33,11 +33,11 @@ class UnfreezePlugin implements PluginInterface Logger::debug('[Wechat][Extend][ProfitSharing][UnfreezePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { - throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账参数'); + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 缺少分账解冻剩余资金参数'); } if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/QueryPlugin.php index b0b7ee3d0..d64a3024b 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/QueryPlugin.php @@ -11,7 +11,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/call-back-url/query-callback.html @@ -28,7 +28,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][Marketing][Coupon][Callback][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $mchId = $rocket->getPayload()?->get('mchid') ?? $config['mch_id'] ?? 'null'; $rocket->setPayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/SetPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/SetPlugin.php index dedb15ce1..e066ecbe2 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/SetPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Callback/SetPlugin.php @@ -11,7 +11,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/call-back-url/set-callback.html @@ -28,7 +28,7 @@ class SetPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Callback][SetPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->mergePayload(array_merge( diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/DetailPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/DetailPlugin.php index 49d7c3f64..84a2577ae 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/DetailPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/DetailPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class DetailPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Coupons][DetailPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $openId = $payload?->get('openid') ?? null; $couponId = $payload?->get('coupon_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/QueryUserPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/QueryUserPlugin.php index 6429e4bee..dc94d70f7 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/QueryUserPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/QueryUserPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -34,7 +34,7 @@ class QueryUserPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Coupons][QueryUserPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $openId = $payload?->get('openid') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/SendPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/SendPlugin.php index ca991e00b..178690e20 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/SendPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Coupons/SendPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -33,7 +33,7 @@ class SendPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Coupons][SendPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $openId = $payload?->get('openid') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/CreatePlugin.php index 3ae3dd1e3..3d34944e1 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/CreatePlugin.php @@ -11,7 +11,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/create-coupon-stock.html @@ -28,7 +28,7 @@ class CreatePlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][CreatePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $belongMerchant = $rocket->getPayload()?->get('belong_merchant') ?? $config['mch_id']; $rocket->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/PausePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/PausePlugin.php index ceb775be3..780b1a11a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/PausePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/PausePlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/pause-stock.html @@ -31,7 +31,7 @@ class PausePlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][PausePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; $stockCreatorMchId = $payload?->get('stock_creator_mchid') ?? $config['mch_id'] ?? ''; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryDetailPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryDetailPlugin.php index f8d56081e..4b311d47f 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryDetailPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryDetailPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/query-stock.html @@ -31,7 +31,7 @@ class QueryDetailPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][QueryDetailPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; $mchId = $payload?->get('stock_creator_mchid') ?? $config['mch_id'] ?? 'null'; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryItemsPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryItemsPlugin.php index 138e0637f..ef68a986c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryItemsPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryItemsPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/list-available-singleitems.html @@ -33,7 +33,7 @@ class QueryItemsPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][QueryItemsPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryMerchantsPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryMerchantsPlugin.php index 1566fde0b..0777a46d0 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryMerchantsPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryMerchantsPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/list-available-merchants.html @@ -33,7 +33,7 @@ class QueryMerchantsPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][QueryMerchantsPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryPlugin.php index 2f1a2d412..503c2381a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/QueryPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/list-stocks.html @@ -33,7 +33,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/RestartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/RestartPlugin.php index 13771a9ef..c1393dc50 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/RestartPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/RestartPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/restart-stock.html @@ -31,7 +31,7 @@ class RestartPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][RestartPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; $stockCreatorMchId = $payload?->get('stock_creator_mchid') ?? $config['mch_id'] ?? ''; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/StartPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/StartPlugin.php index 9df16474e..8fae020ac 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/StartPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Coupon/Stock/StartPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/cash-coupons/stock/start-stock.html @@ -31,7 +31,7 @@ class StartPlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Coupon][Stock][StartPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $stockId = $payload?->get('stock_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryDayEndPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryDayEndPlugin.php index 2d848536c..c1a5c8299 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryDayEndPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryDayEndPlugin.php @@ -16,7 +16,7 @@ use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-balance/accounts/query-day-end-balance.html @@ -32,7 +32,7 @@ class QueryDayEndPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][ECommerceBalance][QueryDayEndPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $accountType = $payload?->get('account_type') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryPlugin.php index b11355b53..942064a34 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceBalance/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-balance/accounts/query-balance.html @@ -30,7 +30,7 @@ class QueryPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][ECommerceBalance][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $accountType = $rocket->getPayload()?->get('account_type') ?? null; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ApplyPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ApplyPlugin.php index 87daaf9b9..c7aa7d366 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ApplyPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ApplyPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -33,7 +33,7 @@ class ApplyPlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $subMchId = $payload?->get('sub_mchid') ?? $config['sub_mch_id'] ?? ''; $spAppId = $payload?->get('sp_appid') ?? $config[get_wechat_type_key($params)] ?? ''; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryByWxPlugin.php index 6e4bda6af..6caf71053 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-refund/refunds/query-refund.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $refundId = $payload?->get('refund_id') ?? null; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryPlugin.php index 351c70b8c..00f910fe9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-refund/refunds/query-refund-by-out-refund-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $outRefundNo = $payload?->get('out_refund_no') ?? null; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryReturnAdvancePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryReturnAdvancePlugin.php index 6f88523ff..f4a22a364 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryReturnAdvancePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/QueryReturnAdvancePlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-refund/refunds/query-return-advance.html @@ -32,7 +32,7 @@ class QueryReturnAdvancePlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $refundId = $payload?->get('refund_id') ?? null; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ReturnAdvancePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ReturnAdvancePlugin.php index d6d494b6e..9a256f541 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ReturnAdvancePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/ECommerceRefund/ReturnAdvancePlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/partner/apis/ecommerce-refund/refunds/create-return-advance.html @@ -32,7 +32,7 @@ class ReturnAdvancePlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $refundId = $payload?->get('refund_id') ?? null; if (Pay::MODE_NORMAL === ($config['mode'] ?? Pay::MODE_NORMAL)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/Blockchain/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/Blockchain/CreatePlugin.php index bfc358164..c19754565 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/Blockchain/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/Blockchain/CreatePlugin.php @@ -16,7 +16,7 @@ use Yansongda\Pay\Exception\DecryptException; use Yansongda\Supports\Collection; use function Yansongda\Pay\encrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_public_key; use function Yansongda\Pay\get_wechat_serial_no; @@ -38,7 +38,7 @@ class CreatePlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $rocket->mergePayload(array_merge([ '_method' => 'POST', @@ -60,6 +60,8 @@ class CreatePlugin implements PluginInterface protected function encryptSensitiveData(?Collection $payload, array $params, array $config): array { $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); $publicKey = get_wechat_public_key($config, $data['_serial_no']); $phone = $payload?->get('buyer_information.phone') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/CreateCardTemplatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/CreateCardTemplatePlugin.php index c1a4802b4..d7436f166 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/CreateCardTemplatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/CreateCardTemplatePlugin.php @@ -11,7 +11,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/products/fapiao/apilist.html @@ -27,7 +27,7 @@ class CreateCardTemplatePlugin implements PluginInterface Logger::debug('[Wechat][V3][Marketing][Fapiao][CreateCardTemplatePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->mergePayload([ diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/GetTitleUrlPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/GetTitleUrlPlugin.php index d5352a41a..ed6ccbf52 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/GetTitleUrlPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Fapiao/GetTitleUrlPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -55,7 +55,7 @@ class GetTitleUrlPlugin implements PluginInterface */ protected function getQuery(Collection $payload, array $params): Collection { - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); return filter_params($payload)->merge([ 'appid' => $payload->get('appid', $config[get_wechat_type_key($params)] ?? ''), diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CancelPlugin.php new file mode 100644 index 000000000..91cd6995e --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CancelPlugin.php @@ -0,0 +1,54 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $payload = $rocket->getPayload(); + $outBillNo = $payload?->get('out_bill_no') ?? null; + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 撤销转账,只支持普通商户模式,当前配置为服务商模式'); + } + + if (empty($outBillNo)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 撤销转账,参数缺少 `out_bill_no`'); + } + + $rocket->setPayload([ + '_method' => 'POST', + '_url' => 'v3/fund-app/mch-transfer/transfer-bills/out-bill-no/'.$outBillNo.'/cancel', + ]); + + Logger::info('[Wechat][Marketing][MchTransfer][CancelPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CreatePlugin.php new file mode 100644 index 000000000..fd2de0cd4 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/CreatePlugin.php @@ -0,0 +1,102 @@ + $rocket]); + + $params = $rocket->getParams(); + $payload = $rocket->getPayload(); + $config = get_provider_config('wechat', $params); + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 发起商家转账,只支持普通商户模式,当前配置为服务商模式'); + } + + if (is_null($payload) || $payload->isEmpty()) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 发起商家转账参数,参数缺失'); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/fund-app/mch-transfer/transfer-bills', + 'appid' => $payload->get('appid', $config[get_wechat_type_key($params)] ?? ''), + ], + $this->normal($params, $payload) + )); + + Logger::info('[Wechat][Marketing][MchTransfer][CreatePlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + * @throws DecryptException + * @throws InvalidConfigException + */ + protected function normal(array $params, Collection $payload): array + { + if (!$payload->has('user_name')) { + return []; + } + + return $this->encryptSensitiveData($params, $payload); + } + + /** + * @throws ContainerException + * @throws DecryptException + * @throws InvalidConfigException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + protected function encryptSensitiveData(array $params, Collection $payload): array + { + $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); + $publicKey = get_wechat_public_key($config, $data['_serial_no']); + + $data['user_name'] = encrypt_wechat_contents($payload->get('user_name'), $publicKey); + + return $data; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeAndroidPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeAndroidPlugin.php new file mode 100644 index 000000000..b8ac3ea87 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeAndroidPlugin.php @@ -0,0 +1,77 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $destination = $rocket->getDestination(); + $packageInfo = $destination?->get('package_info'); + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: Android调起用户确认收款,只支持普通商户模式,当前配置为服务商模式'); + } + + if (is_null($packageInfo)) { + Logger::error('[Wechat][V3][Marketing][MchTransfer][InvokeAndroidPlugin] Android调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + + throw new InvalidResponseException(Exception::RESPONSE_MISSING_NECESSARY_PARAMS, $destination?->get('fail_reason') ?? 'Android调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + } + + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + $payload = $rocket->getPayload(); + + $rocket->setDestination($this->getInvokeConfig($payload, $params, $config, $packageInfo)); + + Logger::info('[Wechat][V3][Marketing][MchTransfer][InvokeAndroidPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + protected function getInvokeConfig(?Collection $payload, array $params, array $config, string $packageInfo): Config + { + return new Config([ + 'businessType' => 'requestMerchantTransfer', + 'query' => http_build_query([ + 'appId' => $payload?->get('_invoke_appId') ?? $config[get_wechat_type_key($params)] ?? '', + 'mchId' => $payload?->get('_invoke_mchId') ?? $config['mch_id'] ?? '', + 'package' => $packageInfo, + ]), + ]); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeIosPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeIosPlugin.php new file mode 100644 index 000000000..f124cc98b --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeIosPlugin.php @@ -0,0 +1,77 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $destination = $rocket->getDestination(); + $packageInfo = $destination?->get('package_info'); + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: iOS调起用户确认收款,只支持普通商户模式,当前配置为服务商模式'); + } + + if (is_null($packageInfo)) { + Logger::error('[Wechat][V3][Marketing][MchTransfer][InvokeIosPlugin] iOS调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + + throw new InvalidResponseException(Exception::RESPONSE_MISSING_NECESSARY_PARAMS, $destination?->get('fail_reason') ?? 'iOS调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + } + + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + $payload = $rocket->getPayload(); + + $rocket->setDestination($this->getInvokeConfig($payload, $params, $config, $packageInfo)); + + Logger::info('[Wechat][V3][Marketing][MchTransfer][InvokeIosPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + protected function getInvokeConfig(?Collection $payload, array $params, array $config, string $packageInfo): Config + { + return new Config([ + 'businessType' => 'requestMerchantTransfer', + 'query' => http_build_query([ + 'appId' => $payload?->get('_invoke_appId') ?? $config[get_wechat_type_key($params)] ?? '', + 'mchId' => $payload?->get('_invoke_mchId') ?? $config['mch_id'] ?? '', + 'package' => $packageInfo, + ]), + ]); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeJsapiPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeJsapiPlugin.php new file mode 100644 index 000000000..ac7c5ac34 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/InvokeJsapiPlugin.php @@ -0,0 +1,74 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $destination = $rocket->getDestination(); + $packageInfo = $destination?->get('package_info'); + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: JSAPI调起用户确认收款,只支持普通商户模式,当前配置为服务商模式'); + } + + if (is_null($packageInfo)) { + Logger::error('[Wechat][V3][Marketing][MchTransfer][InvokeJsapiPlugin] JSAPI调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + + throw new InvalidResponseException(Exception::RESPONSE_MISSING_NECESSARY_PARAMS, $destination?->get('fail_reason') ?? 'JSAPI调起用户确认收款失败:响应缺少 `package_info` 参数,请自行检查参数是否符合微信要求', $destination?->all() ?? null); + } + + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + $payload = $rocket->getPayload(); + + $rocket->setDestination($this->getInvokeConfig($payload, $params, $config, $packageInfo)); + + Logger::info('[Wechat][V3][Marketing][MchTransfer][InvokeJsapiPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $rocket; + } + + protected function getInvokeConfig(?Collection $payload, array $params, array $config, string $packageInfo): Config + { + return new Config([ + 'appId' => $payload?->get('_invoke_appId') ?? $config[get_wechat_type_key($params)] ?? '', + 'mchId' => $payload?->get('_invoke_mchId') ?? $config['mch_id'] ?? '', + 'package' => $packageInfo, + ]); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryByWxPlugin.php new file mode 100644 index 000000000..a1129005e --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryByWxPlugin.php @@ -0,0 +1,54 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $payload = $rocket->getPayload(); + $transferBillNo = $payload?->get('transfer_bill_no') ?? null; + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 通过微信单号查询转账单,只支持普通商户模式,当前配置为服务商模式'); + } + + if (empty($transferBillNo)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 通过微信单号查询转账单,参数缺少 `transfer_bill_no`'); + } + + $rocket->setPayload([ + '_method' => 'GET', + '_url' => 'v3/fund-app/mch-transfer/transfer-bills/transfer-bill-no/'.$transferBillNo, + ]); + + Logger::info('[Wechat][Marketing][MchTransfer][QueryByWxPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryPlugin.php new file mode 100644 index 000000000..f7b802098 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/MchTransfer/QueryPlugin.php @@ -0,0 +1,54 @@ + $rocket]); + + $config = get_provider_config('wechat', $rocket->getParams()); + $payload = $rocket->getPayload(); + $outBillNo = $payload?->get('out_bill_no') ?? null; + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 通过商户单号查询转账单,只支持普通商户模式,当前配置为服务商模式'); + } + + if (empty($outBillNo)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 通过商户单号查询转账单,参数缺少 `out_bill_no`'); + } + + $rocket->setPayload([ + '_method' => 'GET', + '_url' => 'v3/fund-app/mch-transfer/transfer-bills/out-bill-no/'.$outBillNo, + ]); + + Logger::info('[Wechat][Marketing][MchTransfer][QueryPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryByWxPlugin.php index bc99dab5c..d0e949096 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryByWxPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Batch; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -15,11 +16,12 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-batch/get-transfer-batch-by-no.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryByWxPlugin implements PluginInterface { /** @@ -31,7 +33,7 @@ class QueryByWxPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][Batch][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $batchId = $payload?->get('batch_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryPlugin.php index 33e2844c4..d787f3ec4 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Batch/QueryPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Batch; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -15,11 +16,12 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-batch/get-transfer-batch-by-out-no.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryPlugin implements PluginInterface { /** @@ -31,7 +33,7 @@ class QueryPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][Batch][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $outBatchNo = $payload?->get('out_batch_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/CreatePlugin.php index af213653f..a61725583 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/CreatePlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidConfigException; @@ -18,7 +19,7 @@ use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; use function Yansongda\Pay\encrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_public_key; use function Yansongda\Pay\get_wechat_serial_no; use function Yansongda\Pay\get_wechat_type_key; @@ -26,6 +27,7 @@ use function Yansongda\Pay\get_wechat_type_key; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-batch/initiate-batch-transfer.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class CreatePlugin implements PluginInterface { /** @@ -41,7 +43,7 @@ class CreatePlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 发起商家转账,只支持普通商户模式,当前配置为服务商模式'); @@ -57,7 +59,7 @@ class CreatePlugin implements PluginInterface '_url' => 'v3/transfer/batches', 'appid' => $payload->get('appid', $config[get_wechat_type_key($params)] ?? ''), ], - $this->normal($params, $config, $payload) + $this->normal($params, $payload) )); Logger::info('[Wechat][Marketing][Transfer][CreatePlugin] 插件装载完毕', ['rocket' => $rocket]); @@ -72,13 +74,13 @@ class CreatePlugin implements PluginInterface * @throws DecryptException * @throws InvalidConfigException */ - protected function normal(array $params, array $config, Collection $payload): array + protected function normal(array $params, Collection $payload): array { if (!$payload->has('transfer_detail_list.0.user_name')) { return []; } - return $this->encryptSensitiveData($params, $config, $payload); + return $this->encryptSensitiveData($params, $payload); } /** @@ -88,12 +90,15 @@ class CreatePlugin implements PluginInterface * @throws InvalidParamsException * @throws ServiceNotFoundException */ - protected function encryptSensitiveData(array $params, array $config, Collection $payload): array + protected function encryptSensitiveData(array $params, Collection $payload): array { + $data['transfer_detail_list'] = $payload->get('transfer_detail_list', []); $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); $publicKey = get_wechat_public_key($config, $data['_serial_no']); - foreach ($payload->get('transfer_detail_list', []) as $key => $list) { + foreach ($data['transfer_detail_list'] as $key => $list) { if (!empty($list['user_name'])) { $data['transfer_detail_list'][$key]['user_name'] = encrypt_wechat_contents($list['user_name'], $publicKey); } diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryByWxPlugin.php index e384654f5..e2d750573 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryByWxPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Detail; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -14,11 +15,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-detail/get-transfer-detail-by-no.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryByWxPlugin implements PluginInterface { /** @@ -30,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][Detail][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $batchId = $payload?->get('batch_id') ?? null; $detailId = $payload?->get('detail_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryPlugin.php index aa35507f8..d401a686c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Detail/QueryPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Detail; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -14,11 +15,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-detail/get-transfer-detail-by-out-no.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryPlugin implements PluginInterface { /** @@ -30,7 +32,7 @@ class QueryPlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][Detail][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); $payload = $rocket->getPayload(); $outBatchNo = $payload?->get('out_batch_no') ?? null; $outDetailNo = $payload?->get('out_detail_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/DownloadReceiptPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/DownloadReceiptPlugin.php index 5d33e13ca..049ea5f65 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/DownloadReceiptPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/DownloadReceiptPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; @@ -15,11 +16,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/download-receipt.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class DownloadReceiptPlugin implements PluginInterface { /** @@ -32,7 +34,7 @@ class DownloadReceiptPlugin implements PluginInterface Logger::debug('[Wechat][Marketing][Transfer][DownloadReceiptPlugin] 插件开始装载', ['rocket' => $rocket]); $downloadUrl = $rocket->getPayload()?->get('download_url') ?? null; - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 下载电子回单,只支持普通商户模式,当前配置为服务商模式'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/CreatePlugin.php index af3a248b9..9775669ba 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/CreatePlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Receipt; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -14,11 +15,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/electronic-signature/create-electronic-signature.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class CreatePlugin implements PluginInterface { /** @@ -30,7 +32,7 @@ class CreatePlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][Receipt][CreatePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 转账账单电子回单申请受理接口,只支持普通商户模式,当前配置为服务商模式'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/QueryPlugin.php index 457f8e0cc..c4032ccee 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/Receipt/QueryPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Receipt; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -14,11 +15,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/electronic-signature/get-electronic-signature-by-out-no.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryPlugin implements PluginInterface { /** @@ -31,7 +33,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][Marketing][Transfer][Receipt][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $outBatchNo = $rocket->getPayload()?->get('out_batch_no') ?? null; - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 查询转账账单电子回单接口,只支持普通商户模式,当前配置为服务商模式'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/CreatePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/CreatePlugin.php index 9fb5a2a29..28cd2a886 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/CreatePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/CreatePlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\ReceiptDetail; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -14,11 +15,12 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/electronic-receipt-api/create-electronic-receipt.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class CreatePlugin implements PluginInterface { /** @@ -30,7 +32,7 @@ class CreatePlugin implements PluginInterface { Logger::debug('[Wechat][Marketing][Transfer][ReceiptDetail][CreatePlugin] 插件开始装载', ['rocket' => $rocket]); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 受理转账明细电子回单,只支持普通商户模式,当前配置为服务商模式'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/QueryPlugin.php index aa752ae09..efe467082 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Marketing/Transfer/ReceiptDetail/QueryPlugin.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\ReceiptDetail; use Closure; +use JetBrains\PhpStorm\Deprecated; use Yansongda\Artful\Contract\PluginInterface; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; @@ -15,11 +16,12 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use function Yansongda\Artful\filter_params; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/electronic-receipt-api/query-electronic-receipt.html */ +#[Deprecated(reason: '由于微信支付变更,自 v3.7.12 开始废弃, 并将在 v3.8.0 移除')] class QueryPlugin implements PluginInterface { /** @@ -32,7 +34,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][Marketing][Transfer][ReceiptDetail][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $payload = $rocket->getPayload(); - $config = get_wechat_config($rocket->getParams()); + $config = get_provider_config('wechat', $rocket->getParams()); if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { throw new InvalidParamsException(Exception::PARAMS_PLUGIN_ONLY_SUPPORT_NORMAL_MODE, '参数异常: 查询转账明细电子回单受理结果API,只支持普通商户模式,当前配置为服务商模式'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/ClosePlugin.php index 7b89ec5a4..e6209e8db 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\App; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -15,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/close-order.html @@ -33,7 +34,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][App][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; @@ -45,14 +46,15 @@ class ClosePlugin implements PluginInterface $data = $this->service($payload, $config); } - $rocket->setPayload(array_merge( - [ - '_method' => 'POST', - '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', - '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', - ], - $data ?? $this->normal($config) - )); + $rocket->setDirection(OriginResponseDirection::class) + ->setPayload(array_merge( + [ + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', + '_method' => 'POST', + ], + $data ?? $this->normal($config) + )); Logger::info('[Wechat][V3][Pay][App][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/InvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/InvokePlugin.php index 37b48c019..def54a1f0 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/InvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/InvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; /** @@ -52,7 +52,7 @@ class InvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/PayPlugin.php index 00fc7ef3f..2b8008d1c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/PayPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/direct-jsons/app-prepay.html @@ -34,7 +34,7 @@ class PayPlugin implements PluginInterface $payload = $rocket->getPayload(); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (is_null($payload)) { throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: APP下单,参数为空'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryByWxPlugin.php index 9ed125bf4..b0a7bd709 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/query-by-wx-trade-no.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][App][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryPlugin.php index 11ba37ff7..eb2ded408 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/query-by-out-trade-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][App][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryRefundPlugin.php index b7bbaab86..9c09f1585 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][App][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/RefundPlugin.php index 4ef97108e..c66896e6a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/App/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][App][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppInvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppInvokePlugin.php index 752101d73..e7649874d 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppInvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppInvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; /** @@ -52,7 +52,7 @@ class AppInvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppPayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppPayPlugin.php index 3ac6007f8..5044c4c6e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppPayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/AppPayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/combine-payment/orders/app-prepay.html @@ -31,7 +31,7 @@ class AppPayPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][AppPayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/ClosePlugin.php index d30c05042..8af52630a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\Combine; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -13,7 +14,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +33,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $combineOutTradeNo = $payload?->get('combine_out_trade_no') ?? null; @@ -40,12 +41,14 @@ class ClosePlugin implements PluginInterface throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 合单关单,参数缺少 `combine_out_trade_no`'); } - $rocket->mergePayload([ - '_method' => 'POST', - '_url' => 'v3/combine-transactions/out-trade-no/'.$combineOutTradeNo.'/close', - '_service_url' => 'v3/combine-transactions/out-trade-no/'.$combineOutTradeNo.'/close', - 'combine_appid' => $payload->get('combine_appid', $config[get_wechat_type_key($params)] ?? ''), - ])->exceptPayload('combine_out_trade_no'); + $rocket->setDirection(OriginResponseDirection::class) + ->mergePayload([ + '_method' => 'POST', + '_url' => 'v3/combine-transactions/out-trade-no/'.$combineOutTradeNo.'/close', + '_service_url' => 'v3/combine-transactions/out-trade-no/'.$combineOutTradeNo.'/close', + 'combine_appid' => $payload->get('combine_appid', $config[get_wechat_type_key($params)] ?? ''), + ]) + ->exceptPayload('combine_out_trade_no'); Logger::info('[Wechat][Pay][Combine][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/H5PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/H5PayPlugin.php index 328387fea..76efcd5dc 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/H5PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/H5PayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class H5PayPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][H5PayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiInvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiInvokePlugin.php index 8d98517a0..7d976290e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiInvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiInvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; use function Yansongda\Pay\get_wechat_type_key; @@ -53,7 +53,7 @@ class JsapiInvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $params, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiPayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiPayPlugin.php index 06976ef3b..f4323bd83 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiPayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/JsapiPayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class JsapiPayPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][JsapiPayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniInvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniInvokePlugin.php index b68473df0..2bb1a5341 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniInvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniInvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; /** @@ -52,7 +52,7 @@ class MiniInvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniPayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniPayPlugin.php index 98f498799..3ec706b95 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniPayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/MiniPayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/combine-payment/orders/mini-program-prepay.html @@ -31,7 +31,7 @@ class MiniPayPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][MiniPayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/NativePayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/NativePayPlugin.php index cdcfffd5e..c435b674b 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/NativePayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/NativePayPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -32,7 +32,7 @@ class NativePayPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][NativePayPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/QueryRefundPlugin.php index eededc773..9f1c637b2 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/combine-payment/refunds/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/RefundPlugin.php index c2a433397..08efaa8c0 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Combine/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/combine-payment/refunds/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Combine][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/ClosePlugin.php index be3f52865..4b946bb12 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\H5; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -15,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/h5-payment/close-order.html @@ -33,7 +34,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][H5][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; @@ -45,14 +46,15 @@ class ClosePlugin implements PluginInterface $data = $this->service($payload, $config); } - $rocket->setPayload(array_merge( - [ - '_method' => 'POST', - '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', - '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', - ], - $data ?? $this->normal($config) - )); + $rocket->setDirection(OriginResponseDirection::class) + ->setPayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', + ], + $data ?? $this->normal($config) + )); Logger::info('[Wechat][V3][Pay][H5][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/PayPlugin.php index 60de9c319..6fde0cbdb 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/PayPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -35,7 +35,7 @@ class PayPlugin implements PluginInterface $payload = $rocket->getPayload(); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (is_null($payload)) { throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: H5 下单,参数为空'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryByWxPlugin.php index 2fd7668e5..aa811523d 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/h5-payment/query-by-wx-trade-no.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][H5][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryPlugin.php index b87713e63..9786a4bd7 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/h5-payment/query-by-out-trade-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][H5][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryRefundPlugin.php index 613c81f64..c282160fc 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/h5-payment/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][H5][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/RefundPlugin.php index 1be65d3ac..9dbd42ff9 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/H5/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/h5-payment/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][H5][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/ClosePlugin.php index e600e6dde..4aad2b007 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\Jsapi; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -15,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/close-order.html @@ -33,7 +34,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][Pay][Jsapi][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; @@ -45,14 +46,15 @@ class ClosePlugin implements PluginInterface $data = $this->service($payload, $config); } - $rocket->setPayload(array_merge( - [ - '_method' => 'POST', - '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', - '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', - ], - $data ?? $this->normal($config) - )); + $rocket->setDirection(OriginResponseDirection::class) + ->setPayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', + ], + $data ?? $this->normal($config) + )); Logger::info('[Wechat][Pay][Jsapi][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/InvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/InvokePlugin.php index 64f56c22a..82a721b7e 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/InvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/InvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; use function Yansongda\Pay\get_wechat_type_key; @@ -53,7 +53,7 @@ class InvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $params, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/PayPlugin.php index 9ba20bedc..7642cf32a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/PayPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -35,7 +35,7 @@ class PayPlugin implements PluginInterface $payload = $rocket->getPayload(); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (is_null($payload)) { throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: Jsapi 下单,参数为空'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryByWxPlugin.php index 01c18ceed..bbd08cdb7 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/query-by-wx-trade-no.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Jsapi][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryPlugin.php index 871c7fa27..c52825a37 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/query-by-out-trade-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Jsapi][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryRefundPlugin.php index 9e8a244c7..f050eb35a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Jsapi][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/RefundPlugin.php index 5a02639ef..b419cd614 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Jsapi/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Jsapi][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/ClosePlugin.php index 64c1f5955..cfaf85c30 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\Mini; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -15,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/close-order.html @@ -33,7 +34,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][Pay][Mini][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; @@ -45,14 +46,15 @@ class ClosePlugin implements PluginInterface $data = $this->service($payload, $config); } - $rocket->setPayload(array_merge( - [ - '_method' => 'POST', - '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', - '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', - ], - $data ?? $this->normal($config) - )); + $rocket->setDirection(OriginResponseDirection::class) + ->setPayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', + ], + $data ?? $this->normal($config) + )); Logger::info('[Wechat][Pay][Mini][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/InvokePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/InvokePlugin.php index deb95283e..0016fbad8 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/InvokePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/InvokePlugin.php @@ -19,7 +19,7 @@ use Yansongda\Supports\Collection; use Yansongda\Supports\Config; use Yansongda\Supports\Str; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_sign; /** @@ -52,7 +52,7 @@ class InvokePlugin implements PluginInterface } $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $rocket->setDestination($this->getInvokeConfig($payload, $config, $prepayId)); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/PayPlugin.php index c76052261..5549c0d30 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/PayPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/mini-prepay.html @@ -34,7 +34,7 @@ class PayPlugin implements PluginInterface $payload = $rocket->getPayload(); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (is_null($payload)) { throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: Mini 下单,参数为空'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryByWxPlugin.php index 6c67e387f..90d6da1f8 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/query-by-wx-trade-no.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Mini][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryPlugin.php index cf2ed91e4..22450b18a 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/query-by-out-trade-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Mini][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryRefundPlugin.php index faa35372b..9302ea0af 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Mini][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/RefundPlugin.php index 107710dc7..306f978a2 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Mini/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][Pay][Mini][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/ClosePlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/ClosePlugin.php index 7cd214301..62c65eb85 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/ClosePlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/ClosePlugin.php @@ -6,6 +6,7 @@ namespace Yansongda\Pay\Plugin\Wechat\V3\Pay\Native; use Closure; use Yansongda\Artful\Contract\PluginInterface; +use Yansongda\Artful\Direction\OriginResponseDirection; use Yansongda\Artful\Exception\ContainerException; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; @@ -15,7 +16,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/native-payment/close-order.html @@ -33,7 +34,7 @@ class ClosePlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Native][ClosePlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; @@ -45,14 +46,15 @@ class ClosePlugin implements PluginInterface $data = $this->service($payload, $config); } - $rocket->setPayload(array_merge( - [ - '_method' => 'POST', - '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', - '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', - ], - $data ?? $this->normal($config) - )); + $rocket->setDirection(OriginResponseDirection::class) + ->setPayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/close', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/close', + ], + $data ?? $this->normal($config) + )); Logger::info('[Wechat][Pay][Native][ClosePlugin] 插件装载完毕', ['rocket' => $rocket]); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/PayPlugin.php index 5b27098b4..151b2813f 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/PayPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/PayPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_type_key; /** @@ -35,7 +35,7 @@ class PayPlugin implements PluginInterface $payload = $rocket->getPayload(); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); if (is_null($payload)) { throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: Native 下单,参数为空'); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryByWxPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryByWxPlugin.php index fb2592b2b..e5b67ad86 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryByWxPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryByWxPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/native-payment/query-by-wx-trade-no.html @@ -32,7 +32,7 @@ class QueryByWxPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Native][QueryByWxPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $transactionId = $payload?->get('transaction_id') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryPlugin.php index da61c1a94..50a14d71c 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryPlugin.php @@ -14,7 +14,7 @@ use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/native-payment/query-by-out-trade-no.html @@ -32,7 +32,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Native][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outTradeNo = $payload?->get('out_trade_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryRefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryRefundPlugin.php index 8ddfcb1b2..ff323c3ef 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryRefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/QueryRefundPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/native-payment/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryRefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Native][QueryRefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/RefundPlugin.php index 8fc6b8c71..4a22300d6 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Native/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/native-payment/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Native][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/CancelPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/CancelPlugin.php new file mode 100644 index 000000000..2da3ac3e1 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/CancelPlugin.php @@ -0,0 +1,83 @@ + $rocket]); + + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + $payload = $rocket->getPayload(); + + $outTradeNo = $payload?->get('out_trade_no') ?? null; + + if (empty($outTradeNo)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 付款码支付撤销订单,参数缺少 `out_trade_no`'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $params, $config); + } + + $rocket->setPayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/out-trade-no/'.$outTradeNo.'/reverse', + '_service_url' => 'v3/pay/partner/transactions/out-trade-no/'.$outTradeNo.'/reverse', + ], + $data ?? $this->normal($params, $config) + )); + + Logger::info('[Wechat][V3][Pay][Pos][CancelPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function normal(array $params, array $config): array + { + return [ + 'appid' => $config[get_wechat_type_key($params)] ?? '', + 'mchid' => $config['mch_id'] ?? '', + ]; + } + + protected function service(Collection $payload, array $params, array $config): array + { + $configKey = get_wechat_type_key($params); + + return [ + 'sp_appid' => $config[$configKey] ?? '', + 'sp_mchid' => $config['mch_id'] ?? '', + 'sub_mchid' => $payload->get('sub_mchid', $config['sub_mch_id'] ?? ''), + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/PayPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/PayPlugin.php new file mode 100644 index 000000000..c97f7cb28 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Pos/PayPlugin.php @@ -0,0 +1,81 @@ + $rocket]); + + $payload = $rocket->getPayload(); + $params = $rocket->getParams(); + $config = get_provider_config('wechat', $params); + + if (is_null($payload)) { + throw new InvalidParamsException(Exception::PARAMS_NECESSARY_PARAMS_MISSING, '参数异常: 付款码支付,参数为空'); + } + + if (Pay::MODE_SERVICE === ($config['mode'] ?? Pay::MODE_NORMAL)) { + $data = $this->service($payload, $params, $config); + } + + $rocket->mergePayload(array_merge( + [ + '_method' => 'POST', + '_url' => 'v3/pay/transactions/codepay', + '_service_url' => 'v3/pay/partner/transactions/codepay', + ], + $data ?? $this->normal($params, $config) + )); + + Logger::info('[Wechat][V3][Pay][Pos][PayPlugin] 插件装载完毕', ['rocket' => $rocket]); + + return $next($rocket); + } + + protected function normal(array $params, array $config): array + { + return [ + 'appid' => $config[get_wechat_type_key($params)] ?? '', + 'mchid' => $config['mch_id'] ?? '', + ]; + } + + protected function service(Collection $payload, array $params, array $config): array + { + $configKey = get_wechat_type_key($params); + + return [ + 'sp_appid' => $config[$configKey] ?? '', + 'sp_mchid' => $config['mch_id'] ?? '', + 'sub_mchid' => $payload->get('sub_mchid', $config['sub_mch_id'] ?? ''), + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/QueryPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/QueryPlugin.php index 46bf6eac3..52a4122ec 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/QueryPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/QueryPlugin.php @@ -13,7 +13,7 @@ use Yansongda\Artful\Logger; use Yansongda\Artful\Rocket; use Yansongda\Pay\Exception\Exception; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/refund/refunds/query-by-out-refund-no.html @@ -31,7 +31,7 @@ class QueryPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Refund][QueryPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); $outRefundNo = $payload?->get('out_refund_no') ?? null; diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundAbnormalPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundAbnormalPlugin.php index f365d2781..9203689cd 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundAbnormalPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundAbnormalPlugin.php @@ -18,7 +18,7 @@ use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; use function Yansongda\Pay\encrypt_wechat_contents; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; use function Yansongda\Pay\get_wechat_public_key; use function Yansongda\Pay\get_wechat_serial_no; @@ -41,7 +41,7 @@ class RefundAbnormalPlugin implements PluginInterface $params = $rocket->getParams(); $payload = $rocket->getPayload(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $refundId = $payload?->get('refund_id') ?? null; if (empty($refundId)) { @@ -105,6 +105,8 @@ class RefundAbnormalPlugin implements PluginInterface { if ($payload->has('bank_account') && $payload->has('real_name')) { $data['_serial_no'] = get_wechat_serial_no($params); + + $config = get_provider_config('wechat', $params); $publicKey = get_wechat_public_key($config, $data['_serial_no']); $data['real_name'] = encrypt_wechat_contents($payload->get('real_name'), $publicKey); diff --git a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundPlugin.php b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundPlugin.php index 98a96728e..51bf5b469 100644 --- a/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundPlugin.php +++ b/niucloud/vendor/yansongda/pay/src/Plugin/Wechat/V3/Pay/Refund/RefundPlugin.php @@ -15,7 +15,7 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Supports\Collection; -use function Yansongda\Pay\get_wechat_config; +use function Yansongda\Pay\get_provider_config; /** * @see https://pay.weixin.qq.com/docs/merchant/apis/refund/refunds/create.html @@ -33,7 +33,7 @@ class RefundPlugin implements PluginInterface Logger::debug('[Wechat][V3][Pay][Refund][RefundPlugin] 插件开始装载', ['rocket' => $rocket]); $params = $rocket->getParams(); - $config = get_wechat_config($params); + $config = get_provider_config('wechat', $params); $payload = $rocket->getPayload(); if (is_null($payload)) { diff --git a/niucloud/vendor/yansongda/pay/src/Provider/Alipay.php b/niucloud/vendor/yansongda/pay/src/Provider/Alipay.php index 583557d4a..7e73ccab7 100644 --- a/niucloud/vendor/yansongda/pay/src/Provider/Alipay.php +++ b/niucloud/vendor/yansongda/pay/src/Provider/Alipay.php @@ -22,6 +22,7 @@ use Yansongda\Pay\Event\MethodCalled; use Yansongda\Pay\Pay; use Yansongda\Pay\Plugin\Alipay\V2\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Alipay\V2\AddRadarPlugin; +use Yansongda\Pay\Plugin\Alipay\V2\AppCallbackPlugin; use Yansongda\Pay\Plugin\Alipay\V2\CallbackPlugin; use Yansongda\Pay\Plugin\Alipay\V2\FormatPayloadBizContentPlugin; use Yansongda\Pay\Plugin\Alipay\V2\ResponsePlugin; @@ -54,7 +55,7 @@ class Alipay implements ProviderInterface */ public function __call(string $shortcut, array $params): null|Collection|MessageInterface|Rocket { - $plugin = '\\Yansongda\\Pay\\Shortcut\\Alipay\\'.Str::studly($shortcut).'Shortcut'; + $plugin = '\Yansongda\Pay\Shortcut\Alipay\\'.Str::studly($shortcut).'Shortcut'; return Artful::shortcut($plugin, ...$params); } @@ -129,6 +130,17 @@ class Alipay implements ProviderInterface return $this->pay([CallbackPlugin::class], $request->merge($params)->all()); } + /** + * @throws ContainerException + * @throws InvalidParamsException + */ + public function appCallback(null|array|ServerRequestInterface $contents = null, ?array $params = null): Collection + { + $request = $this->getCallbackParams($contents); + + return $this->pay([AppCallbackPlugin::class], $request->merge($params)->all()); + } + public function success(): ResponseInterface { return new Response(200, [], 'success'); @@ -143,7 +155,7 @@ class Alipay implements ProviderInterface ); } - protected function getCallbackParams(array|ServerRequestInterface $contents = null): Collection + protected function getCallbackParams(null|array|ServerRequestInterface $contents = null): Collection { if (is_array($contents)) { return Collection::wrap($contents); diff --git a/niucloud/vendor/yansongda/pay/src/Provider/Douyin.php b/niucloud/vendor/yansongda/pay/src/Provider/Douyin.php new file mode 100644 index 000000000..dfe77c1c0 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Provider/Douyin.php @@ -0,0 +1,154 @@ + 'https://developer.toutiao.com/', + Pay::MODE_SANDBOX => 'https://open-sandbox.douyin.com/', + Pay::MODE_SERVICE => 'https://developer.toutiao.com/', + ]; + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function __call(string $shortcut, array $params): null|Collection|MessageInterface|Rocket + { + $plugin = '\Yansongda\Pay\Shortcut\Douyin\\'.Str::studly($shortcut).'Shortcut'; + + return Artful::shortcut($plugin, ...$params); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + */ + public function pay(array $plugins, array $params): null|Collection|MessageInterface|Rocket + { + return Artful::artful($plugins, $params); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function query(array $order): Collection|Rocket + { + Event::dispatch(new MethodCalled('douyin', __METHOD__, $order, null)); + + return $this->__call('query', [$order]); + } + + /** + * @throws InvalidParamsException + */ + public function cancel(array $order): Collection|Rocket + { + throw new InvalidParamsException(Exception::PARAMS_METHOD_NOT_SUPPORTED, '参数异常: 抖音不支持 cancel API'); + } + + /** + * @throws InvalidParamsException + */ + public function close(array $order): Collection|Rocket + { + throw new InvalidParamsException(Exception::PARAMS_METHOD_NOT_SUPPORTED, '参数异常: 抖音不支持 close API'); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function refund(array $order): Collection|Rocket + { + Event::dispatch(new MethodCalled('douyin', __METHOD__, $order, null)); + + return $this->__call('refund', [$order]); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + */ + public function callback(null|array|ServerRequestInterface $contents = null, ?array $params = null): Collection|Rocket + { + $request = $this->getCallbackParams($contents); + + Event::dispatch(new CallbackReceived('douyin', $request->all(), $params, null)); + + return $this->pay([CallbackPlugin::class], $request->merge($params)->all()); + } + + public function success(): ResponseInterface + { + return new Response( + 200, + ['Content-Type' => 'application/json'], + json_encode(['err_no' => 0, 'err_tips' => 'success']), + ); + } + + public function mergeCommonPlugins(array $plugins): array + { + return array_merge( + [StartPlugin::class], + $plugins, + [AddPayloadSignaturePlugin::class, AddPayloadBodyPlugin::class, AddRadarPlugin::class, ResponsePlugin::class, ParserPlugin::class], + ); + } + + protected function getCallbackParams(null|array|ServerRequestInterface $contents = null): Collection + { + if (is_array($contents)) { + return Collection::wrap($contents); + } + + if (!$contents instanceof ServerRequestInterface) { + $contents = ServerRequest::fromGlobals(); + } + + $body = Collection::wrap($contents->getParsedBody()); + + if ($body->isNotEmpty()) { + return $body; + } + + return Collection::wrapJson((string) $contents->getBody()); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Provider/Jsb.php b/niucloud/vendor/yansongda/pay/src/Provider/Jsb.php new file mode 100644 index 000000000..11908465e --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Provider/Jsb.php @@ -0,0 +1,155 @@ + 'https://mybank.jsbchina.cn:577/eis/merchant/merchantServices.htm', + Pay::MODE_SANDBOX => 'https://epaytest.jsbchina.cn:9999/eis/merchant/merchantServices.htm', + ]; + + /** + * @param mixed $name + * @param mixed $params + * + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function __call($name, $params): null|Collection|MessageInterface|Rocket + { + $plugin = '\Yansongda\Pay\Shortcut\Jsb\\'.Str::studly($name).'Shortcut'; + + return Artful::shortcut($plugin, ...$params); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + */ + public function pay(array $plugins, array $params): null|Collection|MessageInterface|Rocket + { + return Artful::artful($plugins, $params); + } + + public function mergeCommonPlugins(array $plugins): array + { + return array_merge( + [StartPlugin::class], + $plugins, + [AddPayloadSignPlugin::class, AddRadarPlugin::class, VerifySignaturePlugin::class, ResponsePlugin::class, ParserPlugin::class], + ); + } + + /** + * @throws InvalidParamsException + */ + public function cancel(array $order): Collection|Rocket + { + throw new InvalidParamsException(Exception::PARAMS_METHOD_NOT_SUPPORTED, 'Jsb does not support cancel api'); + } + + /** + * @throws InvalidParamsException + */ + public function close(array $order): Collection|Rocket + { + throw new InvalidParamsException(Exception::PARAMS_METHOD_NOT_SUPPORTED, 'Jsb does not support close api'); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function refund(array $order): Collection|Rocket + { + Event::dispatch(new MethodCalled('jsb', __METHOD__, $order, null)); + + return $this->__call('refund', [$order]); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + */ + public function callback(null|array|ServerRequestInterface $contents = null, ?array $params = null): Collection|Rocket + { + $request = $this->getCallbackParams($contents); + + Event::dispatch(new CallbackReceived('jsb', $request->all(), $params, null)); + + return $this->pay( + [CallbackPlugin::class], + ['request' => $request, 'params' => $params] + ); + } + + public function success(): ResponseInterface + { + return new Response( + 200, + ['Content-Type' => 'text/html'], + 'success', + ); + } + + /** + * @throws ContainerException + * @throws InvalidParamsException + * @throws ServiceNotFoundException + */ + public function query(array $order): Collection|Rocket + { + Event::dispatch(new MethodCalled('jsb', __METHOD__, $order, null)); + + return $this->__call('query', [$order]); + } + + protected function getCallbackParams($contents = null): Collection + { + if (is_array($contents)) { + return Collection::wrap($contents); + } + + if ($contents instanceof ServerRequestInterface) { + return Collection::wrap($contents->getParsedBody()); + } + + $request = ServerRequest::fromGlobals(); + + return Collection::wrap($request->getParsedBody()); + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Provider/Unipay.php b/niucloud/vendor/yansongda/pay/src/Provider/Unipay.php index 2bbc59113..08d7cce20 100644 --- a/niucloud/vendor/yansongda/pay/src/Provider/Unipay.php +++ b/niucloud/vendor/yansongda/pay/src/Provider/Unipay.php @@ -51,7 +51,7 @@ class Unipay implements ProviderInterface */ public function __call(string $shortcut, array $params): null|Collection|MessageInterface|Rocket { - $plugin = '\\Yansongda\\Pay\\Shortcut\\Unipay\\'.Str::studly($shortcut).'Shortcut'; + $plugin = '\Yansongda\Pay\Shortcut\Unipay\\'.Str::studly($shortcut).'Shortcut'; return Artful::shortcut($plugin, ...$params); } diff --git a/niucloud/vendor/yansongda/pay/src/Provider/Wechat.php b/niucloud/vendor/yansongda/pay/src/Provider/Wechat.php index 6e96b99cf..fb8809409 100644 --- a/niucloud/vendor/yansongda/pay/src/Provider/Wechat.php +++ b/niucloud/vendor/yansongda/pay/src/Provider/Wechat.php @@ -16,6 +16,7 @@ use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Artful\Rocket; use Yansongda\Pay\Contract\ProviderInterface; use Yansongda\Pay\Event\CallbackReceived; @@ -24,7 +25,6 @@ use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Pay; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\CallbackPlugin; use Yansongda\Pay\Plugin\Wechat\V3\VerifySignaturePlugin; @@ -56,9 +56,9 @@ class Wechat implements ProviderInterface * @throws InvalidParamsException * @throws ServiceNotFoundException */ - public function __call(string $shortcut, array $params): null|Collection|MessageInterface + public function __call(string $shortcut, array $params): null|Collection|MessageInterface|Rocket { - $plugin = '\\Yansongda\\Pay\\Shortcut\\Wechat\\'.Str::studly($shortcut).'Shortcut'; + $plugin = '\Yansongda\Pay\Shortcut\Wechat\\'.Str::studly($shortcut).'Shortcut'; return Artful::shortcut($plugin, ...$params); } diff --git a/niucloud/vendor/yansongda/pay/src/Service/DouyinServiceProvider.php b/niucloud/vendor/yansongda/pay/src/Service/DouyinServiceProvider.php new file mode 100644 index 000000000..404c48af4 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Service/DouyinServiceProvider.php @@ -0,0 +1,24 @@ +{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Cancel action [{$method}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/CloseShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/CloseShortcut.php index 984ca9669..016d8495a 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/CloseShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/CloseShortcut.php @@ -37,7 +37,7 @@ class CloseShortcut implements ShortcutInterface return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Close action [{$method}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/QueryShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/QueryShortcut.php index e58574b82..27ecfcfe5 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/QueryShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/QueryShortcut.php @@ -50,7 +50,7 @@ class QueryShortcut implements ShortcutInterface return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Query action [{$method}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/RefundShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/RefundShortcut.php index cf3e70b5d..bf3046122 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/RefundShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Alipay/RefundShortcut.php @@ -38,7 +38,7 @@ class RefundShortcut implements ShortcutInterface return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Refund action [{$method}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/MiniShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/MiniShortcut.php new file mode 100644 index 000000000..d91216419 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/MiniShortcut.php @@ -0,0 +1,30 @@ +{$method}(); + } + + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); + } + + protected function defaultPlugins(): array + { + return $this->miniPlugins(); + } + + protected function refundPlugins(): array + { + return $this->refundMiniPlugins(); + } + + protected function miniPlugins(): array + { + return [ + StartPlugin::class, + MiniQueryPlugin::class, + AddPayloadSignaturePlugin::class, + AddPayloadBodyPlugin::class, + AddRadarPlugin::class, + ResponsePlugin::class, + ParserPlugin::class, + ]; + } + + protected function refundMiniPlugins(): array + { + return [ + StartPlugin::class, + MiniQueryRefundPlugin::class, + AddPayloadSignaturePlugin::class, + AddPayloadBodyPlugin::class, + AddRadarPlugin::class, + ResponsePlugin::class, + ParserPlugin::class, + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/RefundShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/RefundShortcut.php new file mode 100644 index 000000000..6bbac50d5 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Douyin/RefundShortcut.php @@ -0,0 +1,52 @@ +{$method}(); + } + + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); + } + + protected function defaultPlugins(): array + { + return $this->miniPlugins(); + } + + protected function miniPlugins(): array + { + return [ + StartPlugin::class, + MiniRefundPlugin::class, + AddPayloadSignaturePlugin::class, + AddPayloadBodyPlugin::class, + AddRadarPlugin::class, + ResponsePlugin::class, + ParserPlugin::class, + ]; + } +} diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Jsb/QueryShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Jsb/QueryShortcut.php new file mode 100644 index 000000000..83af51c83 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Jsb/QueryShortcut.php @@ -0,0 +1,30 @@ +{$typeMethod}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Cancel action [{$typeMethod}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/PosShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/PosShortcut.php index 2337957ad..0ecbc6486 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/PosShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/PosShortcut.php @@ -28,13 +28,13 @@ class PosShortcut implements ShortcutInterface */ public function getPlugins(array $params): array { - $typeMethod = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $typeMethod)) { - return $this->{$typeMethod}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Pos action [{$typeMethod}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/QueryShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/QueryShortcut.php index 1c1322d79..7f0b29e9c 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/QueryShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/QueryShortcut.php @@ -29,13 +29,13 @@ class QueryShortcut implements ShortcutInterface */ public function getPlugins(array $params): array { - $typeMethod = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $typeMethod)) { - return $this->{$typeMethod}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Query action [{$typeMethod}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/RefundShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/RefundShortcut.php index 6852c5b6d..75396772e 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/RefundShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/RefundShortcut.php @@ -28,13 +28,13 @@ class RefundShortcut implements ShortcutInterface */ public function getPlugins(array $params): array { - $typeMethod = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $typeMethod)) { - return $this->{$typeMethod}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Refund action [{$typeMethod}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/ScanShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/ScanShortcut.php index e678f30d6..74cbf9eb4 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/ScanShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Unipay/ScanShortcut.php @@ -26,13 +26,13 @@ class ScanShortcut implements ShortcutInterface */ public function getPlugins(array $params): array { - $typeMethod = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $typeMethod)) { - return $this->{$typeMethod}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Scan action [{$typeMethod}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/AppShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/AppShortcut.php index 9ed3d4f35..59805472b 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/AppShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/AppShortcut.php @@ -7,9 +7,9 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\App\InvokePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\App\PayPlugin; diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/CloseShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/CloseShortcut.php index 5048e7630..3b4a17881 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/CloseShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/CloseShortcut.php @@ -8,10 +8,10 @@ use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\App\ClosePlugin as AppClosePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Combine\ClosePlugin as CombineClosePlugin; @@ -33,13 +33,13 @@ class CloseShortcut implements ShortcutInterface return $this->combinePlugins(); } - $action = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $action)) { - return $this->{$action}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Close action [{$action}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/H5Shortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/H5Shortcut.php index 3587924b7..f8a95ec02 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/H5Shortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/H5Shortcut.php @@ -7,9 +7,9 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\H5\PayPlugin; use Yansongda\Pay\Plugin\Wechat\V3\VerifySignaturePlugin; diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MiniShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MiniShortcut.php index 005362a21..25ae6dbe0 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MiniShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MiniShortcut.php @@ -7,9 +7,9 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Mini\InvokePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Mini\PayPlugin; diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MpShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MpShortcut.php index 854f22ce7..929445cc4 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MpShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/MpShortcut.php @@ -7,9 +7,9 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Jsapi\InvokePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Jsapi\PayPlugin; diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PapayShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PapayShortcut.php index 1538880a7..1e3eabe6a 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PapayShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PapayShortcut.php @@ -8,10 +8,10 @@ use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V2\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V2\Papay\Direct\ApplyPlugin; use Yansongda\Pay\Plugin\Wechat\V2\Papay\Direct\ContractOrderPlugin; @@ -28,13 +28,13 @@ class PapayShortcut implements ShortcutInterface */ public function getPlugins(array $params): array { - $action = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $action)) { - return $this->{$action}($params); + if (method_exists($this, $method)) { + return $this->{$method}($params); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Papay action [{$action}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } /** diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PosShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PosShortcut.php index 5b78560ae..9681f2074 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PosShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/PosShortcut.php @@ -7,12 +7,12 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; -use Yansongda\Pay\Plugin\Wechat\V2\AddPayloadSignaturePlugin; -use Yansongda\Pay\Plugin\Wechat\V2\Pay\Pos\PayPlugin; -use Yansongda\Pay\Plugin\Wechat\V2\VerifySignaturePlugin; +use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; +use Yansongda\Pay\Plugin\Wechat\V3\Pay\Pos\PayPlugin; +use Yansongda\Pay\Plugin\Wechat\V3\VerifySignaturePlugin; class PosShortcut implements ShortcutInterface { @@ -21,8 +21,8 @@ class PosShortcut implements ShortcutInterface return [ StartPlugin::class, PayPlugin::class, - AddPayloadSignaturePlugin::class, AddPayloadBodyPlugin::class, + AddPayloadSignaturePlugin::class, AddRadarPlugin::class, VerifySignaturePlugin::class, ResponsePlugin::class, diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/QueryShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/QueryShortcut.php index eff4c23dc..ff6f5a9ff 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/QueryShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/QueryShortcut.php @@ -8,10 +8,10 @@ use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\Detail\QueryPlugin as TransferQueryPlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\App\QueryPlugin as AppQueryPlugin; @@ -40,13 +40,13 @@ class QueryShortcut implements ShortcutInterface return $this->combinePlugins(); } - $action = Str::camel($params['_action'] ?? 'default').'Plugins'; + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; - if (method_exists($this, $action)) { - return $this->{$action}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Query action [{$action}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/RedpackShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/RedpackShortcut.php new file mode 100644 index 000000000..3d5ed4eb0 --- /dev/null +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/RedpackShortcut.php @@ -0,0 +1,32 @@ +{$action}(); + if (method_exists($this, $method)) { + return $this->{$method}(); } - throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "Refund action [{$action}] not supported"); + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); } protected function defaultPlugins(): array diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/ScanShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/ScanShortcut.php index 0827e4591..9059e5165 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/ScanShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/ScanShortcut.php @@ -7,9 +7,9 @@ namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; use Yansongda\Pay\Plugin\Wechat\V3\Pay\Native\PayPlugin; use Yansongda\Pay\Plugin\Wechat\V3\VerifySignaturePlugin; diff --git a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/TransferShortcut.php b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/TransferShortcut.php index 0927b43f8..80dc278c7 100644 --- a/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/TransferShortcut.php +++ b/niucloud/vendor/yansongda/pay/src/Shortcut/Wechat/TransferShortcut.php @@ -5,18 +5,54 @@ declare(strict_types=1); namespace Yansongda\Pay\Shortcut\Wechat; use Yansongda\Artful\Contract\ShortcutInterface; +use Yansongda\Artful\Exception\InvalidParamsException; use Yansongda\Artful\Plugin\AddPayloadBodyPlugin; use Yansongda\Artful\Plugin\ParserPlugin; +use Yansongda\Artful\Plugin\StartPlugin; +use Yansongda\Pay\Exception\Exception; use Yansongda\Pay\Plugin\Wechat\AddRadarPlugin; use Yansongda\Pay\Plugin\Wechat\ResponsePlugin; -use Yansongda\Pay\Plugin\Wechat\StartPlugin; use Yansongda\Pay\Plugin\Wechat\V3\AddPayloadSignaturePlugin; -use Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\CreatePlugin; +use Yansongda\Pay\Plugin\Wechat\V3\Marketing\MchTransfer\CreatePlugin; use Yansongda\Pay\Plugin\Wechat\V3\VerifySignaturePlugin; +use Yansongda\Supports\Str; class TransferShortcut implements ShortcutInterface { + /** + * @throws InvalidParamsException + */ public function getPlugins(array $params): array + { + $method = Str::camel($params['_action'] ?? 'default').'Plugins'; + + if (method_exists($this, $method)) { + return $this->{$method}(); + } + + throw new InvalidParamsException(Exception::PARAMS_SHORTCUT_ACTION_INVALID, "您所提供的 action 方法 [{$method}] 不支持,请参考文档或源码确认"); + } + + public function defaultPlugins(): array + { + return $this->transferPlugins(); + } + + public function transferPlugins(): array + { + return [ + StartPlugin::class, + \Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\CreatePlugin::class, + AddPayloadBodyPlugin::class, + AddPayloadSignaturePlugin::class, + AddRadarPlugin::class, + VerifySignaturePlugin::class, + ResponsePlugin::class, + ParserPlugin::class, + ]; + } + + public function mchTransferPlugins(): array { return [ StartPlugin::class, diff --git a/niucloud/vendor/yansongda/pay/src/Traits/SupportServiceProviderTrait.php b/niucloud/vendor/yansongda/pay/src/Traits/SupportServiceProviderTrait.php index 0ba57fe94..14ae8ae3f 100644 --- a/niucloud/vendor/yansongda/pay/src/Traits/SupportServiceProviderTrait.php +++ b/niucloud/vendor/yansongda/pay/src/Traits/SupportServiceProviderTrait.php @@ -9,7 +9,7 @@ use Yansongda\Artful\Exception\ServiceNotFoundException; use Yansongda\Artful\Rocket; use Yansongda\Pay\Pay; -use function Yansongda\Pay\get_alipay_config; +use function Yansongda\Pay\get_provider_config; trait SupportServiceProviderTrait { @@ -20,7 +20,7 @@ trait SupportServiceProviderTrait protected function loadAlipayServiceProvider(Rocket $rocket): void { $params = $rocket->getParams(); - $config = get_alipay_config($params); + $config = get_provider_config('alipay', $params); $serviceProviderId = $config['service_provider_id'] ?? null; if (Pay::MODE_SERVICE !== ($config['mode'] ?? Pay::MODE_NORMAL) diff --git a/niucloud/vendor/yansongda/supports/.php-cs-fixer.php b/niucloud/vendor/yansongda/supports/.php-cs-fixer.php index 1d27b98f3..c638d19fd 100644 --- a/niucloud/vendor/yansongda/supports/.php-cs-fixer.php +++ b/niucloud/vendor/yansongda/supports/.php-cs-fixer.php @@ -1,11 +1,10 @@ exclude('tests') - ->exclude('vendor') - ->in(__DIR__); + ->in('src'); return (new PhpCsFixer\Config()) + ->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect()) ->setUsingCache(false) ->setRiskyAllowed(true) ->setRules([ diff --git a/niucloud/vendor/yansongda/supports/src/Arr.php b/niucloud/vendor/yansongda/supports/src/Arr.php index 081c1ae53..a7a402237 100644 --- a/niucloud/vendor/yansongda/supports/src/Arr.php +++ b/niucloud/vendor/yansongda/supports/src/Arr.php @@ -94,7 +94,7 @@ class Arr return array_key_exists($key, $array); } - public static function first(array $array, callable $callback = null, mixed $default = null): mixed + public static function first(array $array, ?callable $callback = null, mixed $default = null): mixed { if (is_null($callback)) { if (empty($array)) { @@ -113,7 +113,7 @@ class Arr return $default; } - public static function last(array $array, callable $callback = null, mixed $default = null): mixed + public static function last(array $array, ?callable $callback = null, mixed $default = null): mixed { if (is_null($callback)) { return empty($array) ? $default : end($array); @@ -168,7 +168,7 @@ class Arr } } - public static function get(array|ArrayAccess $array, int|string $key = null, mixed $default = null): mixed + public static function get(array|ArrayAccess $array, null|int|string $key = null, mixed $default = null): mixed { if (!static::accessible($array)) { return $default; @@ -329,7 +329,7 @@ class Arr return $array; } - public static function shuffle(array $array, int $seed = null): array + public static function shuffle(array $array, ?int $seed = null): array { if (is_null($seed)) { shuffle($array); @@ -402,7 +402,9 @@ class Arr public static function wrapJson(string $json): ?array { - return json_decode($json, true); + $result = json_decode($json, true); + + return is_array($result) ? $result : null; } public static function wrapXml(string $xml): array diff --git a/niucloud/vendor/yansongda/supports/src/Collection.php b/niucloud/vendor/yansongda/supports/src/Collection.php index 167c3f45d..2c3d34918 100644 --- a/niucloud/vendor/yansongda/supports/src/Collection.php +++ b/niucloud/vendor/yansongda/supports/src/Collection.php @@ -82,7 +82,7 @@ class Collection implements ArrayAccess, Countable, IteratorAggregate, JsonSeria return new static(Arr::except($this->items, $keys)); } - public function filter(callable $callback = null): self + public function filter(?callable $callback = null): self { if ($callback) { return new static(Arr::where($this->items, $callback)); @@ -223,7 +223,7 @@ class Collection implements ArrayAccess, Countable, IteratorAggregate, JsonSeria return new static($chunks); } - public function sort(callable $callback = null): self + public function sort(?callable $callback = null): self { $items = $this->items; $callback ? uasort($items, $callback) : asort($items);