public static function run($channel, $config, array $metadata = [])
    {
        if (! in_array($channel, self::$supportChannel)) {
            throw new PayException('sdk当前不支持该渠道，当前仅支持：' . implode(',', self::$supportChannel));
        }

        try {
            $instance = self::getInstance($channel, $config);

            $ret = $instance->helper($metadata);
        } catch (PayException $e) {
            throw $e;
        }

        return $ret;
    }
public static function run($channel, $config, array $metadata = [])
    {
        if (! in_array($channel, self::$supportChannel)) {
            throw new PayException('sdk当前不支持该渠道，当前仅支持：' . implode(',', self::$supportChannel));
        }

        try {
            $instance = self::getInstance($channel, $config);

            $ret = $instance->helper($metadata);
        } catch (PayException $e) {
            throw $e;
        }

        return $ret;
    }
@param string $channel
@param array $config
@param array $metadata

@return mixed
@throws PayException