private function decryptPayloadToCache() { $keychain = $this->config->getKeychain(); $payload = $keychain->serviceDecrypt($this->service, $this->encryptedPayload); $payload = json_decode($payload, true); if (empty($payload)) { throw new \InvalidArgumentException('Failed to decode data after decryption - invalid format or empty value'); } $this->decryptedPayload = $payload; if (!isset($this->decryptedPayload['nonce'])) { throw new \InvalidArgumentException('Malformed data - nonce missing'); } }