code: 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;
      }
docs: @param string $channel
  @param array $config
  @param array $metadata
  
  @return mixed
  @throws PayException