protected function getServerMetaInfoValue()
 {
     // use a stdClass instead of specific class to keep out null properties
     $serverMetaInfo = new stdClass();
     $serverMetaInfo->platformIdentifier = sprintf('%s; php version %s', php_uname(), phpversion());
     $serverMetaInfo->sdkIdentifier = 'PHPServerSDK/v' . static::SDK_VERSION;
     $serverMetaInfo->sdkCreator = 'Ingenico';
     $integrator = $this->communicatorConfiguration->getIntegrator();
     if (!is_null($integrator)) {
         $serverMetaInfo->integrator = $integrator;
     }
     $shoppingCartExtension = $this->communicatorConfiguration->getShoppingCartExtension();
     if (!is_null($shoppingCartExtension)) {
         $serverMetaInfo->shoppingCartExtension = $shoppingCartExtension;
     }
     // the sdkIdentifier contains a /. Without the JSON_UNESCAPED_SLASHES, this is turned to \/ in JSON.
     return base64_encode(json_encode($serverMetaInfo, JSON_UNESCAPED_SLASHES));
 }