private function _verifyGatewayResponse($response)
 {
     if (isset($response['response']['merchant'])) {
         // return a populated instance of merchant
         return new Result\Successful([Merchant::factory($response['response']['merchant']), OAuthCredentials::factory($response['response']['credentials'])]);
     } else {
         if (isset($response['apiErrorResponse'])) {
             return new Result\Error($response['apiErrorResponse']);
         } else {
             throw new Exception\Unexpected("Expected merchant or apiErrorResponse");
         }
     }
 }
 private function _verifyGatewayResponse($response)
 {
     if (isset($response['credentials'])) {
         $result = new Result\Successful(OAuthCredentials::factory($response['credentials']));
         return $this->_mapSuccess($result);
     } else {
         if (isset($response['apiErrorResponse'])) {
             $result = new Result\Error($response['apiErrorResponse']);
             return $this->_mapError($result);
         } else {
             throw new Exception\Unexpected("Expected credentials or apiErrorResponse");
         }
     }
 }