protected function handleCurlError($url, $errno, $message, $logger)
	{
		switch ($errno) {
			case CURLE_OK:
				$msg = "Probably your Web Service username and/or password is incorrect";
				break;
			case CURLE_COULDNT_RESOLVE_HOST:
			case CURLE_OPERATION_TIMEOUTED:
				$msg = "Could not connect to Adyen ($url).  Please check your "
					. "internet connection and try again.";
				break;
			case CURLE_SSL_CACERT:
			case CURLE_SSL_PEER_CERTIFICATE:
				$msg = "Could not verify Adyen's SSL certificate.  Please make sure "
					. "that your network is not intercepting certificates.  "
					. "(Try going to $url in your browser.)  "
					. "If this problem persists,";
				break;
			default:
				$msg = "Unexpected error communicating with Adyen.";
		}
		$msg .= "\n(Network error [errno $errno]: $message)";
		$logger->error($msg);
		throw new \Adyen\ConnectionException($msg, $errno);
	}