/**
  * Decodes access token object from array
  *
  * @param array $data
  *
  * @return Paysera_WalletApi_Entity_MacAccessToken
  *
  * @throws InvalidArgumentException
  */
 public function decodeAccessToken($data)
 {
     if ($data['token_type'] !== 'mac' || $data['mac_algorithm'] !== 'hmac-sha-256') {
         throw new InvalidArgumentException('Only mac tokens with hmac-sha-256 algorithm are supported');
     }
     return Paysera_WalletApi_Entity_MacAccessToken::create()->setExpiresAt(time() + $data['expires_in'])->setMacId($data['access_token'])->setMacKey($data['mac_key'])->setRefreshToken(isset($data['refresh_token']) ? $data['refresh_token'] : null);
 }