private function _verifyGatewayResponse($response)
{
if (isset($response['response'])) {
$response = $response['response'];
}
if (isset($response['merchantAccount'])) {
// return a populated instance of merchantAccount
return new Result\Successful(MerchantAccount::factory($response['merchantAccount']));
} else {
if (isset($response['apiErrorResponse'])) {
return new Result\Error($response['apiErrorResponse']);
} else {
throw new Exception\Unexpected("Expected merchant account or apiErrorResponse");
}
}
}