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