diff --git a/src/Action/NotifyAction.php b/src/Action/NotifyAction.php index 9df03c9..c194d7c 100644 --- a/src/Action/NotifyAction.php +++ b/src/Action/NotifyAction.php @@ -27,13 +27,8 @@ public function execute($request) $response = $this->omnipayGateway->fetchTransaction($details->toUnsafeArray())->send(); - $data = $response->getData(); + $details->replace((array)$response->getData()); - if (is_array($data)) { - $details->replace($data); - } - - $details['_reference'] = $response->getTransactionReference(); $details['_status'] = $response->isSuccessful() ? 'captured' : 'failed'; $details['_status_code'] = $response->getCode(); $details['_status_message'] = $response->isSuccessful() ? '' : $response->getMessage(); @@ -48,7 +43,8 @@ public function supports($request) { return $request instanceof Notify && - $request->getModel() instanceof \ArrayAccess + $request->getModel() instanceof \ArrayAccess && + method_exists($this->omnipayGateway, 'fetchTransaction') ; } }