isset($payload['process_id']) ? $payload['process_id'] : null, 'content_id' => isset($payload['content_id']) ? $payload['content_id'] : null, 'template_id' => isset($payload['template_id']) ? $payload['template_id'] : null, 'type' => isset($payload['type']) ? $payload['type'] : null, ]; // Remove null values $signature_fields = array_filter($signature_fields, function ($value) { return $value !== null; }); // Sort keys for consistency ksort($signature_fields); // JSON encode with consistent flags $payload_json = wp_json_encode($signature_fields, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); // Combine timestamp and payload return $timestamp . '.' . $payload_json; } }