Jake Vanderwerf
2026-07-05 fff721dd185f5b97f7ae7a6e64189e55887ff590
inc/integrations/Helcim.php
@@ -40,7 +40,17 @@
      'per_hour'   => 1000
   ];
   public function __construct(?int $userID = null)
   protected static array $instances = [];
   public static function getInstance(?int $userID = null):self
   {
      $key = is_null($userID) ? 'base' : $userID;
      if (!array_key_exists($key, self::$instances)) {
         self::$instances[$key] = new self($userID);
      }
      return self::$instances[$key];
   }
   protected function __construct(?int $userID = null)
   {
      $this->title = 'Helcim';
      $this->icon  = 'credit-card';
@@ -170,11 +180,30 @@
      }
   }
   public function getAdditionalFields(?string $content_type = null):array
   {
      if ($content_type === 'customer') {
         $array = $this->getCustomerFields();
         return array_combine(
            array_map(fn($k) => '_square_' . $k, array_keys($array)),
            $array
         );
      }
      return array_combine(
         array_map(fn($k) => 'hc_' . $k, array_keys($this->getHelcimMeta($content_type))),
         $this->getHelcimMeta($content_type)
      );
   }
   protected function getCustomerFields():array
   {
      return [];
   }
   /**
    * Get Helcim product meta fields by type.
    *
    * Used by FieldRegistry when 'use_helcim' => true is set
    * in a JVB_CONTENT definition.
    * Used by Registrar.php  when helcim is configured
    */
   public function getHelcimMeta(?string $type = null): array
   {