toArray(); if (200 != $data['ResponseStatus']) { throw new AmazonServiceUnavailableException(); } $details = $data[$this->getResultKey()]['AuthorizationDetails']; $this->details = $amazonAuthorizationDetailsFactory->create([ 'details' => $details ]); } /** * @return AmazonAuthorizationDetails */ public function getDetails() { return $this->details; } /** * Get result key * * @return string */ abstract protected function getResultKey(); }